colemanw [Fri, 1 Feb 2019 12:37:18 +0000 (07:37 -0500)]
Merge pull request #13520 from yashodha/number_widget
use number widget for weight fields in all forms
yashodha [Fri, 1 Feb 2019 10:01:28 +0000 (15:31 +0530)]
use number wiget for weight fields in all forms
Eileen McNaughton [Fri, 1 Feb 2019 00:59:49 +0000 (13:59 +1300)]
Merge pull request #13518 from colemanw/l10n.js
l10n.js - Reload when logging in as new user
Seamus Lee [Thu, 31 Jan 2019 22:36:26 +0000 (14:36 -0800)]
Merge pull request #13498 from francescbassas/patch-18
dev/core#682 Add basic contact filters to Summary Contributions Report
Coleman Watts [Thu, 31 Jan 2019 19:30:43 +0000 (14:30 -0500)]
l10n.js - Reload when logging in as new user
colemanw [Thu, 31 Jan 2019 19:05:19 +0000 (14:05 -0500)]
Merge pull request #13507 from twomice/lab686_membership_stats_columns
Fix for dev/core#686: Make "amount statistics" columns optional
colemanw [Thu, 31 Jan 2019 18:39:20 +0000 (13:39 -0500)]
Merge pull request #13502 from colemanw/shortcode
Fix shortcode button when popup setting is disabled
colemanw [Thu, 31 Jan 2019 15:03:49 +0000 (10:03 -0500)]
Merge pull request #13488 from colemanw/helpOverride
Allow help text to be overridden from an .extra.hlp file
Eileen McNaughton [Thu, 31 Jan 2019 01:23:58 +0000 (14:23 +1300)]
Merge pull request #13506 from colemanw/profileCreate
Fix permission checks on contact create popups
Joe Murray [Wed, 30 Jan 2019 21:37:25 +0000 (16:37 -0500)]
Merge pull request #13512 from eileenmcnaughton/cont_annual_speed
Speed up loading of contribution tab on contacts with large number of contributions in a large database
Eileen McNaughton [Wed, 30 Jan 2019 20:25:56 +0000 (09:25 +1300)]
Merge pull request #13513 from colemanw/Fix
Fix undefined throwing error in CRM.checkPerm
Eileen McNaughton [Wed, 30 Jan 2019 20:24:56 +0000 (09:24 +1300)]
Merge pull request #13514 from totten/master-nack-rev
(dev/core#635) CRM_Utils_Cache::nack() - Fix format
Tim Otten [Wed, 30 Jan 2019 07:42:06 +0000 (23:42 -0800)]
Merge pull request #13298 from colemanw/extCompat
Add extension compatibility list
Tim Otten [Wed, 30 Jan 2019 05:08:23 +0000 (21:08 -0800)]
(dev/core#635) CRM_Utils_Cache::nack() - Fix format
This is a follow-up to #13500.
Before
------
* `CRM_Utils_Cache::nack()` returns an array with a value named `nack`.
* The value returned is somewhat unique -- a random value is generated once per page-view.
* There is no explicit/direct unit-test.
After
-----
* `CRM_Utils_Cache::nack()` returns a string.
* The value returned is more unique -- combining that random value (per page-view) and an offset (per invocation).
* There is an explicit/direct unit-test.
Comments
--------
* The code was originally written with the intent of returning a string.
However, there was a slight copy-paste error which caused it to return an
array (which contained that string). Functionally, that worked (because
it was serializable and met the same minimum uniqueness constraint),
but it's weird to read/inspect, and we should change quickly before
something else locks-in the odd structure.
* The more unique the nack-value is, the more correct the nack-checking
pattern is. Appending a static-counter is a simple, fast way to provide
stronger uniqueness within a page-view.
* There may be some obscure edge-cases in which the previous pattern was not
sufficiently unique -- e.g. combining tiers-of-tiers or
decorators-of-decorators. I haven't verified that, but it seems
unimportant given that the static-counter is so straightforward.
* In `NaiveHasTrait`, the extra `ht` suffix was an attempt to increase the
uniquness. However, the static-counter seems better.
Coleman Watts [Wed, 30 Jan 2019 02:36:00 +0000 (21:36 -0500)]
Fix undefined throwing error in CRM.checkPerm
Coleman Watts [Fri, 25 Jan 2019 21:28:35 +0000 (16:28 -0500)]
Fix permission checks on contact create popups
Eileen McNaughton [Wed, 30 Jan 2019 02:20:55 +0000 (15:20 +1300)]
Merge pull request #13496 from totten/master-cache-tier
(dev/core#635) Implement local array-cache for use with Redis/Memcache
Tim Otten [Mon, 21 Jan 2019 10:26:23 +0000 (02:26 -0800)]
CRM_Utils_Cache::create() - Accept new option `withArray`
This adds and documents a new config option which can be passed into the cache factory.
The option, `withArray`, indicates that we prefer to have a thread-local
array acting as an extra cache-tier.
Tim Otten [Mon, 21 Jan 2019 11:06:10 +0000 (03:06 -0800)]
Implement CRM_Utils_Cache_FastArrayDecorator
Tim Otten [Mon, 21 Jan 2019 10:06:21 +0000 (02:06 -0800)]
Implement CRM_Utils_Cache_ArrayDecorator
This allows you to put a static array in front of another cache. It is the
same basic idea as CRM_Utils_Cache_Tiered, but it's optimized for a typical case
where you only want one front-cache.
Based on some naive benchmarking (performing several trials with a few
thousand duplicate reads over the same cached data), this basically cut the
read-time in half. The following is pretty representative of the results:
```
Redis-only cache write=0.1044s read=1.3266s
2-Tier (ArrayCache+Redis) write=0.1189s read=0.3765s
Decorated-Redis cache write=0.1105s read=0.1505s
```
See also: https://gist.github.com/totten/
6d6524be115c193e0704ff3cf250336d
Note: To ensure that TTL data is respected consistently regardless of how
the tiers behave and the order in which they are used, the TTL/expiration
must be stored extra times.
Tim Otten [Mon, 21 Jan 2019 09:59:48 +0000 (01:59 -0800)]
Implement CRM_Utils_Cache_Tiered
Before
------
* No way to daisy-chain caches to form a cache hierarchy
* ArrayCache::reobjectify() would fail to reobjectify objects in an array, which seems against the spirit of PSR-16
After
-----
* You can create a cache hierarchy with `new CRM_Utils_Cache_Tiered([$fastCache, $mediumCache, $slowCache])`
* ArrayCache::reobjectify() will reobjectify if it detects an object directly in an array
Note: To ensure that TTL data is respected consistently regardless of how
the tiers behave and the order in which they are used, the TTL/expiration
must be stored extra times.
Tim Otten [Wed, 23 Jan 2019 03:20:26 +0000 (19:20 -0800)]
ArrayCache::getExpires() - Add helper for unit testing
Eileen McNaughton [Wed, 30 Jan 2019 00:42:46 +0000 (13:42 +1300)]
Merge pull request #13500 from totten/master-nack
(REF) Add CRM_Utils_Cache::nack(). Use it for NaiveHasTrait.
Eileen McNaughton [Tue, 29 Jan 2019 23:32:43 +0000 (12:32 +1300)]
Merge pull request #13511 from greenpeace-cee/optimize-creditnote
CRM/Contribute - Add query optimization for creditnote_id
eileen [Tue, 29 Jan 2019 23:14:22 +0000 (12:14 +1300)]
Alter the query used to render the yearly totals on the contact contribution tab to make a better index choice.
This PR restructures the annual query to use HAVING clause for contribution_status_id in order to
avoid the (edge case) situation where it uses a combined index resulting in a slow query. When a contribution is entered
the screen loaded on-close is the contribution tab so when this is slow the data entry process is much slowed.
Mmsql index merge optimisation is a default enabled setting which can choose to use 'merged indexes' rather than
just one. In this query the best index is contact_id because even when a contact has a relatively large number of
contributions they are still trivial compared to the overall DB. By contrast contribution_status_id is not a good
choice as it has fairly low variability and when used in combination with contact_id adds very little as trade off for the time
it takes to construct a merge index
What we are seeing is that the index choice on this query is
index_contribution_status,received_date,FK_civicrm_contribution_contact_id,contact_id_contribution_status | FK_civicrm_contribution_contact_id,index_contribution_status
which results in a query that takes around 6 seconds on a contact with 18k contributions in a DB of around 30 million contributions.
If we restructure the query so that it looks like
```
SELECT COUNT(*) as count,
SUM(total_amount) as amount,
AVG(total_amount) as average,
currency
FROM civicrm_contribution b
WHERE b.contact_id IN (72) AND b.receive_date >=
20180701 AND b.receive_date <
20190701
GROUP BY currency, contribution_status_id
HAVING contribution_status_id = 1;
```
the selected index is FK_civicrm_contribution_contact_id and the query takes .05 seconds.
This restructure achieves much the same as using an index hint but as there is some index naming inconsistency
'in the wild' changing the query structure like this makes more sense.
Note that I ALSO tested this
1) on the same database on a contact with a negligible number of contributions
2) on a much smaller database (~400k contributions) on a contact with 122 contributions.
In both cases it made no difference to which key was chosen as the merge index appears to only be chosen by mysql
when more than a certain number of on contributions adhere to a single contact.
In the latter case the query time for both versions was recorded as 0.00 so I couldn't see any difference.
In the former case the query change sped up the query from 0.02 to 0.00 so there is some additional efficiency
in the new query beyond the index choice
Links on index merge optimisation
https://www.percona.com/blog/2012/12/14/the-optimization-that-often-isnt-index-merge-intersection/
http://gobitcan.com/blog/2014-12-03-what-to-do-when-mysql-ignores-your-index
http://mysqlopt.blogspot.com/2013/05/mysql-slow-query-example-of-index-merge.html
https://www.percona.com/blog/2012/12/14/the-optimization-that-often-isnt-index-merge-intersection/
https://stackoverflow.com/questions/
16283472/why-is-mysql-showing-index-merge-on-this-query
https://mariadb.com/kb/en/library/fair-choice-between-range-and-index_merge-optimizations/
https://dba.stackexchange.com/questions/178286/mysql-on-rds-avoiding-index-merge
https://mariadb.com/kb/en/library/index_merge-sort_intersection/
https://stackoverflow.com/questions/
47943755/mysql-optimizing-subquery-with-index-merge
https://dev.mysql.com/doc/refman/8.0/en/index-merge-optimization.html
Patrick Figel [Tue, 29 Jan 2019 21:10:12 +0000 (22:10 +0100)]
CRM/Contribute - Add query optimization for creditnote_id
This adds a minor query optimization to createCreditNoteId() that
should significantly improve performance when contributions are
cancelled or refunded in environments with many contributions.
eileen [Wed, 16 Jan 2019 00:50:14 +0000 (13:50 +1300)]
Fix bug in Annual summary query (on contact dashboard) whereby a left join gives the wrong results
As demonstrated in the test the left join does not do any filtering but it DOES join in as many line items as match the
permitted types - resulting in too many rows & the sum calculated on them being incorrect.
As this doesn't work it should be removed - I would aniticpate that sites with the financialreportacls extensions
would get this adequately added through CRM_Financial_BAO_FinancialType::addACLClausesToWhereClauses
but regardless this should go as it causes a bug without achieving it's intended result and adding a test prevents
a later fix from re-breaking
Monish Deb [Tue, 29 Jan 2019 19:01:26 +0000 (00:31 +0530)]
Merge pull request #13509 from ixiam/dev-duplicateCreateCreditNote
remove duplicated call to createCreditNoteId()
Luciano Spiegel [Tue, 29 Jan 2019 17:10:18 +0000 (18:10 +0100)]
remove duplicate call to createCreditNoteId()
Eileen McNaughton [Mon, 28 Jan 2019 23:36:57 +0000 (12:36 +1300)]
Merge pull request #13319 from eileenmcnaughton/cont_queries
Add selectWhere hook call to the query that generates the 'annual' query - the 'amount this year' on a contact dash
eileen [Wed, 19 Dec 2018 05:29:23 +0000 (18:29 +1300)]
Add ACL hook call and test to financial ACLs
If the hook call changes the where cause we will not implement the
core pseudo-hook-code for financial type acls.
This allows us to not conflict with reportfinancialacls extension
Eventually we will not have any of this in core other than the hook.
Eileen McNaughton [Sun, 27 Jan 2019 21:57:35 +0000 (10:57 +1300)]
Merge pull request #13501 from civicrm/5.10
5.10
Eileen McNaughton [Sun, 27 Jan 2019 21:57:07 +0000 (10:57 +1300)]
Merge pull request #13505 from mattwire/caseview_fatalerror
Display error instead of fatal error when trying to view a case that you don't have permission to access
Allen Shaw [Fri, 25 Jan 2019 23:03:00 +0000 (17:03 -0600)]
Fix for dev/core#686: Make "amount statistics" columns optional
colemanw [Fri, 25 Jan 2019 22:28:02 +0000 (17:28 -0500)]
Merge pull request #13460 from mattwire/case_getlabel_pseudoconstant
Convert deprecated OptionGroup::getLabel to PseudoConstant::getLabel for cases
Matthew Wire (MJW Consulting) [Tue, 15 Jan 2019 11:18:30 +0000 (11:18 +0000)]
Convert deprecated OptionGroup::getLabel to PseudoConstant::getLabel for case
colemanw [Fri, 25 Jan 2019 14:58:36 +0000 (09:58 -0500)]
Merge pull request #13485 from colemanw/grantTaskDate
dev/core#561 - Convert grant task form to datepicker
colemanw [Fri, 25 Jan 2019 14:54:54 +0000 (09:54 -0500)]
Merge pull request #13497 from jitendrapurohit/core-681
dev/core#681 - Fatal Error on submitting "Change Case Status" activit…
colemanw [Fri, 25 Jan 2019 14:40:25 +0000 (09:40 -0500)]
Merge pull request #13491 from colemanw/campaign
Convert Campaign widgets to entityRef
colemanw [Fri, 25 Jan 2019 14:26:07 +0000 (09:26 -0500)]
Merge pull request #13493 from colemanw/entityRefFilters
dev/core#677 EntityRef filters fixes
Matthew Wire (MJW Consulting) [Fri, 25 Jan 2019 11:58:35 +0000 (11:58 +0000)]
Show error popup and return to dashboard instead of showing fatal error page when trying to access case that you do not have permission for
Francesc Bassas i Bullich [Fri, 25 Jan 2019 09:39:25 +0000 (10:39 +0100)]
dev/core#682 Add basic contact filters to Summary Contributions Report
Joe Murray [Thu, 24 Jan 2019 19:28:04 +0000 (14:28 -0500)]
Merge pull request #13503 from colemanw/numberWidget
Survey form - use number widget for number fields
Coleman Watts [Thu, 17 Jan 2019 19:10:00 +0000 (14:10 -0500)]
dev/core#561 - Convert grant task form to datepicker
Coleman Watts [Tue, 22 Jan 2019 14:46:41 +0000 (09:46 -0500)]
Survey form - use number widget for number fields
colemanw [Thu, 24 Jan 2019 17:34:45 +0000 (12:34 -0500)]
Merge pull request #13421 from chamilwijesooriya/issue-650
dev/core#650 Use popups for links
Joe Murray [Thu, 24 Jan 2019 17:03:30 +0000 (12:03 -0500)]
Merge pull request #13490 from colemanw/Fix
Fix broken date fields in survey response form
Coleman Watts [Thu, 24 Jan 2019 15:21:43 +0000 (10:21 -0500)]
Fix shortcode button when popup setting is disabled
colemanw [Thu, 24 Jan 2019 00:14:14 +0000 (19:14 -0500)]
Merge pull request #12647 from compucorp/fix-case-type-issues
Case type management fixes
colemanw [Wed, 23 Jan 2019 22:02:25 +0000 (17:02 -0500)]
Merge pull request #13478 from pradpnayak/eventRegression
dev/core/issues/653, fixed regression on creating new event using event template
Tim Otten [Wed, 23 Jan 2019 20:52:58 +0000 (12:52 -0800)]
NaiveHasTrait - Reduce roundtrips in `has()`
The `NaiveHasTrait` is a generic implementation of PSR-16 `has()` which
builds on the logic of PSR-16 `get()`. This reduces I/O for `has()`.
Before
------
* Each call to `has()` triggers two calls to `get()`.
After
-----
* Each call to `has()` triggers one call to `get()`.
Comments
--------
The correctness of this stems from the uniqueness of the `$nack` value. To
wit: if you always use the same constant (e.g. `NULL` or `0` or `''` or
`'no-value'`) to signify a cache-miss, then it's trivial to produce a
collision/incorrect-result. (Simply store that constant.) But if the value
is a sufficiently unique nonce, then it becomes impractical to produce a
collision/incorrect-result.
Tim Otten [Wed, 23 Jan 2019 20:49:21 +0000 (12:49 -0800)]
CRM_Utils_Cache::nack() - Add helper for combining get()+has() calls in PSR-16
Monish Deb [Wed, 23 Jan 2019 10:26:21 +0000 (15:56 +0530)]
Merge pull request #13480 from pradpnayak/AdvanceSearch
dev/core/issues/506, Fatal error on advance search when using cases from display results as
Jitendra Purohit [Wed, 23 Jan 2019 09:54:23 +0000 (15:24 +0530)]
dev/core#681 - Fatal Error on submitting "Change Case Status" activity form
Pradeep Nayak [Wed, 16 Jan 2019 23:16:48 +0000 (23:16 +0000)]
dev/core/issues/653, fixed regression on creating new event using event template
Use core function to over-ride values
Tim Otten [Wed, 23 Jan 2019 00:46:02 +0000 (16:46 -0800)]
Merge pull request #13495 from seamuslee001/lab_core_676
dev/core#676 Disable GeoCoding Tests for PR jobs and re-enable Mailin…
Seamus Lee [Tue, 22 Jan 2019 19:25:53 +0000 (06:25 +1100)]
dev/core#676 Disable GeoCoding Tests for PR jobs and re-enable Mailing Test jobs for PRs previously disabled now fixed
Seamus Lee [Tue, 22 Jan 2019 19:16:27 +0000 (11:16 -0800)]
Merge pull request #13492 from pradpnayak/typoErrors
Removed '>' from comment
colemanw [Tue, 22 Jan 2019 18:33:24 +0000 (13:33 -0500)]
Merge pull request #13461 from christianwach/lab-666
Fix trailing ampersands when empty array passed as query param
Coleman Watts [Tue, 22 Jan 2019 17:35:13 +0000 (12:35 -0500)]
Hide gender & deceased filters for non-individual entityRef
Coleman Watts [Tue, 22 Jan 2019 17:02:25 +0000 (12:02 -0500)]
Fix entityRef contact type filter
Pradeep Nayak [Tue, 22 Jan 2019 17:08:48 +0000 (17:08 +0000)]
Removed '>' from comment
Coleman Watts [Tue, 22 Jan 2019 14:39:43 +0000 (09:39 -0500)]
Convert addCampaignToComponent widget to entityRef
Coleman Watts [Tue, 22 Jan 2019 14:39:39 +0000 (09:39 -0500)]
Campaign entityRef improvements
Coleman Watts [Tue, 22 Jan 2019 01:13:09 +0000 (20:13 -0500)]
Use entityRef for campaigns on Survey & Petition forms
Coleman Watts [Tue, 22 Jan 2019 01:12:30 +0000 (20:12 -0500)]
Allow entityRef widget to create campaigns
Coleman Watts [Mon, 21 Jan 2019 18:11:54 +0000 (13:11 -0500)]
Fix broken date fields in survey response form
colemanw [Mon, 21 Jan 2019 16:51:32 +0000 (11:51 -0500)]
Merge pull request #13456 from mfb/geocode-country_id
geocode job: Provide country_id to geocoders.
colemanw [Mon, 21 Jan 2019 16:49:48 +0000 (11:49 -0500)]
Merge pull request #13482 from jgillmanjr/front_contribution_page
Test-drive contribution pages to the front
colemanw [Mon, 21 Jan 2019 16:41:32 +0000 (11:41 -0500)]
Merge pull request #13427 from chamilwijesooriya/issue-652
GitLab issue 652 Copying activity file custom data doesn't copy mime …
colemanw [Mon, 21 Jan 2019 14:25:01 +0000 (09:25 -0500)]
Merge pull request #13486 from
deb1990/core-670-fix-activity-tags
(WIP) dev/core#670 - Fix Saving of Case Activity tags
Coleman Watts [Mon, 21 Jan 2019 14:18:03 +0000 (09:18 -0500)]
Remove inconsistent & problematic hook invocation
Coleman Watts [Sun, 20 Jan 2019 21:49:05 +0000 (16:49 -0500)]
Allow help text to be overridden from an .extra.hlp file
Debarshi Bhaumik [Fri, 18 Jan 2019 06:36:23 +0000 (12:06 +0530)]
dev/core#670 - Fix saving of tags in case activity
colemanw [Sun, 20 Jan 2019 21:23:13 +0000 (16:23 -0500)]
Merge pull request #13437 from mattwire/ref_simplifybillingblock_template
Simplify billingblock in Contribution/Form/Main template
colemanw [Sun, 20 Jan 2019 21:19:06 +0000 (16:19 -0500)]
Merge pull request #13473 from
deb1990/C51-384-add-case-token-in-email
C51-384: Added case tokens on Email Activity Modal
colemanw [Sun, 20 Jan 2019 21:13:35 +0000 (16:13 -0500)]
Merge pull request #13457 from mattwire/contact_note
REF Remove undefined variable when creating note
colemanw [Thu, 17 Jan 2019 16:37:09 +0000 (11:37 -0500)]
Merge pull request #13481 from laryn/patch-1
Add main nav icon for CiviCRM (Backdrop)
Jason Gillman Jr [Thu, 17 Jan 2019 15:59:24 +0000 (10:59 -0500)]
Removed extra space
Monish Deb [Thu, 17 Jan 2019 14:18:30 +0000 (19:48 +0530)]
Merge pull request #13479 from pradpnayak/cruftCode
removed unwanted parameter from getLineItems()
Laryn - CEDC.org [Thu, 17 Jan 2019 05:54:55 +0000 (23:54 -0600)]
Add main nav icon for CiviCRM
(since Backdrop core now has main nav icons)
Jason Gillman Jr [Thu, 17 Jan 2019 05:51:41 +0000 (00:51 -0500)]
Specify front end (where applicable) when getNotifyUrl is called
Jason Gillman Jr [Thu, 17 Jan 2019 05:23:22 +0000 (00:23 -0500)]
Force test contribution pages to front end
Seamus Lee [Thu, 17 Jan 2019 01:13:12 +0000 (12:13 +1100)]
Merge pull request #13452 from eileenmcnaughton/depre
Deprecate unused function
Pradeep Nayak [Thu, 17 Jan 2019 01:11:23 +0000 (01:11 +0000)]
dev/core/issues/506, Fatal error on advance search when using cases from display results as
Pradeep Nayak [Thu, 17 Jan 2019 00:34:52 +0000 (00:34 +0000)]
removed unwanted parameter from getLineItems()
Eileen McNaughton [Thu, 17 Jan 2019 00:15:41 +0000 (13:15 +1300)]
Merge pull request #13317 from eileenmcnaughton/order_pseudo
Fix order api to support a pseudoConstant for financial_type_id
eileen [Wed, 19 Dec 2018 05:06:50 +0000 (18:06 +1300)]
Fix order api to support a pseudoConstant for financial_type_id
Adds functionality & test to support 'Event Fee' instead of '4' for Order.create financial_type_id.
This improves consistency with Contribution.create api and others
Eileen McNaughton [Wed, 16 Jan 2019 21:47:51 +0000 (10:47 +1300)]
Merge pull request #13474 from JMAConsulting/dev-financial-39
dev/financial#39: Drop checkMD5 support from Authorize.net
Eileen McNaughton [Wed, 16 Jan 2019 21:46:55 +0000 (10:46 +1300)]
Merge pull request #13475 from civicrm/5.10
5.10 to master
Tim Otten [Wed, 16 Jan 2019 21:42:36 +0000 (13:42 -0800)]
Merge pull request #13451 from eileenmcnaughton/everyone_510
(dev/core#660) Address regression whereby Anonymous users can no longer register for an event if they have ACLs to see a contact
Monish Deb [Wed, 16 Jan 2019 13:35:04 +0000 (19:05 +0530)]
dev/financial#39: Drop checkMD5 support from Authorize.net
Monish Deb [Wed, 16 Jan 2019 13:21:09 +0000 (18:51 +0530)]
Merge pull request #13324 from agileware/CIVICRM-947
Email sent from CiviCRM for a new Case and Activity does not evaluate the $activityTypeName or $manageCaseURL tokens
Monish Deb [Wed, 16 Jan 2019 13:20:14 +0000 (18:50 +0530)]
Merge pull request #13471 from seamuslee001/nfc_note_tests
(NFC) Add unit test of creating notes from the contact.create API
Debarshi Bhaumik [Wed, 16 Jan 2019 09:22:50 +0000 (14:52 +0530)]
C51-384: Added case tokens on Email Modal
Seamus Lee [Wed, 16 Jan 2019 06:00:19 +0000 (17:00 +1100)]
(NFC) Add unit test of creating notes from the contact.create API
Seamus Lee [Wed, 16 Jan 2019 05:17:40 +0000 (16:17 +1100)]
Merge pull request #13439 from jgillmanjr/paypal-standard-ipn-tz-fix
Convert Paypal Standard IPN payment_date to system's time zone
Monish Deb [Wed, 16 Jan 2019 04:29:38 +0000 (09:59 +0530)]
Merge pull request #13442 from eileenmcnaughton/paymen_line
Remove inappropriate exception handling.
Eileen McNaughton [Wed, 16 Jan 2019 01:48:18 +0000 (14:48 +1300)]
Merge pull request #13466 from colemanw/tsFix
Translate untranslated string
Eileen McNaughton [Tue, 15 Jan 2019 23:21:40 +0000 (12:21 +1300)]
Merge pull request #13458 from mattwire/unused_var_caseformcustomdata
REF Remove duplicate call to session singleton