civicrm-core.git
5 years agoRemove exportComponent function - it's not adding much here
eileen [Wed, 17 Jul 2019 04:01:33 +0000 (16:01 +1200)]
Remove exportComponent function - it's not adding much here

5 years agoMerge pull request #14846 from eileenmcnaughton/ex_pos
colemanw [Wed, 24 Jul 2019 05:35:02 +0000 (01:35 -0400)]
Merge pull request #14846 from eileenmcnaughton/ex_pos

[EXPORT] Fix unreleased regression where postal addresses are not suppressed when empty

5 years agoMerge pull request #14867 from eileenmcnaughton/mapping
Eileen McNaughton [Wed, 24 Jul 2019 04:53:13 +0000 (16:53 +1200)]
Merge pull request #14867 from eileenmcnaughton/mapping

[METADATA] Add titles to Mapping xml & DAOs

5 years agoMerge pull request #14868 from civicrm/5.16
Eileen McNaughton [Wed, 24 Jul 2019 04:52:32 +0000 (16:52 +1200)]
Merge pull request #14868 from civicrm/5.16

5.16 to master

5 years agoMerge pull request #14860 from eileenmcnaughton/export_1
colemanw [Wed, 24 Jul 2019 00:43:47 +0000 (20:43 -0400)]
Merge pull request #14860 from eileenmcnaughton/export_1

[REF] [EXPORT] Use columns from processor instead of passing them

5 years agoMerge pull request #14866 from alifrumin/5.16.0
Eileen McNaughton [Wed, 24 Jul 2019 00:02:59 +0000 (12:02 +1200)]
Merge pull request #14866 from alifrumin/5.16.0

Annotating and Sorting 5.16.0 release notes

5 years agoAdd titles to Mapping xml & DAOs
eileen [Tue, 23 Jul 2019 23:54:57 +0000 (11:54 +1200)]
Add titles to Mapping xml & DAOs

5 years agoAnnotating and Sorting 5.16.0 release notes
Alice Frumin [Thu, 11 Jul 2019 14:57:48 +0000 (10:57 -0400)]
Annotating and Sorting 5.16.0 release notes

5 years agoUse columns from processor instead of passing them
eileen [Tue, 16 Jul 2019 23:03:21 +0000 (11:03 +1200)]
Use columns from processor instead of passing them

5 years agoMerge pull request #14859 from seamuslee001/nfc_audit_update
colemanw [Tue, 23 Jul 2019 02:24:01 +0000 (22:24 -0400)]
Merge pull request #14859 from seamuslee001/nfc_audit_update

NFC Update node module versions based on npm audit fix

5 years agoMerge pull request #14856 from seamuslee001/atomfeeds_cache_convert
Seamus Lee [Tue, 23 Jul 2019 02:07:10 +0000 (12:07 +1000)]
Merge pull request #14856 from seamuslee001/atomfeeds_cache_convert

Add in Atomfeeds deprecation now that the extension has a new releaseā€¦

5 years agoNFC Update node module versions based on npm audit fix
Seamus Lee [Tue, 23 Jul 2019 00:46:39 +0000 (10:46 +1000)]
NFC Update node module versions based on npm audit fix

5 years agoAdd in Atomfeeds deprecation now that the extension has a new release with converted...
Seamus Lee [Mon, 22 Jul 2019 21:30:07 +0000 (07:30 +1000)]
Add in Atomfeeds deprecation now that the extension has a new release with converted cache mechanism

Fix version to match info.xml of new version

5 years agoMerge pull request #14857 from colemanw/testFormat
Eileen McNaughton [Tue, 23 Jul 2019 00:27:24 +0000 (12:27 +1200)]
Merge pull request #14857 from colemanw/testFormat

Autoformat /tests directory with php short array syntax

5 years agoAutoformat /tests directory with php short array syntax
Coleman Watts [Mon, 22 Jul 2019 21:33:36 +0000 (17:33 -0400)]
Autoformat /tests directory with php short array syntax

5 years agoMerge pull request #14855 from MikeyMJCO/patch-2
Tim Otten [Mon, 22 Jul 2019 19:47:55 +0000 (12:47 -0700)]
Merge pull request #14855 from MikeyMJCO/patch-2

(NFC) Fixing documentation links in readme.

5 years agoFixing documentation links in readme.
Mikey O'Toole [Mon, 22 Jul 2019 14:30:02 +0000 (15:30 +0100)]
Fixing documentation links in readme.

5 years agoMerge pull request #14639 from colemanw/i18nCleanup
Matthew Wire [Mon, 22 Jul 2019 14:25:46 +0000 (15:25 +0100)]
Merge pull request #14639 from colemanw/i18nCleanup

Multilingual test fix and cleanup

5 years agoMerge pull request #14716 from eileenmcnaughton/db
colemanw [Mon, 22 Jul 2019 14:00:32 +0000 (10:00 -0400)]
Merge pull request #14716 from eileenmcnaughton/db

Add unit test demonstrating attaching a listener to queries

5 years agoMerge pull request #14851 from eileenmcnaughton/tt
colemanw [Mon, 22 Jul 2019 13:56:11 +0000 (09:56 -0400)]
Merge pull request #14851 from eileenmcnaughton/tt

[REF] [Export] Move temp table creation function to the processor

5 years agoMerge pull request #14853 from eileenmcnaughton/format
colemanw [Mon, 22 Jul 2019 13:55:40 +0000 (09:55 -0400)]
Merge pull request #14853 from eileenmcnaughton/format

[NFC] code reformatting

5 years agoMerge pull request #14703 from eileenmcnaughton/act_search_wild
Yashodha Chaku [Mon, 22 Jul 2019 12:08:08 +0000 (17:38 +0530)]
Merge pull request #14703 from eileenmcnaughton/act_search_wild

dev/core#538 fix advanced search on activity subject, detail to use wildcards like activity search does

5 years agoMerge pull request #14658 from MegaphoneJon/mail-46
Eileen McNaughton [Mon, 22 Jul 2019 01:08:35 +0000 (13:08 +1200)]
Merge pull request #14658 from MegaphoneJon/mail-46

mail#46 - show label, not value, on contribution custom field tokens

5 years agodev/core#538 fix advanced search on activity subject, detail to use wildcards like...
eileen [Tue, 2 Jul 2019 07:24:12 +0000 (19:24 +1200)]
dev/core#538 fix advanced search on activity subject, detail to use wildcards like activity search does

5 years agoMerge pull request #14735 from mattwire/deprecated_getallpermissions
Eileen McNaughton [Mon, 22 Jul 2019 00:08:12 +0000 (12:08 +1200)]
Merge pull request #14735 from mattwire/deprecated_getallpermissions

Remove use of deprecated path in function `CRM_Event_BAO_Event::checkPermission()`

5 years agoMerge pull request #14843 from mattwire/priceset_to_metadatafield
Eileen McNaughton [Sun, 21 Jul 2019 23:58:59 +0000 (11:58 +1200)]
Merge pull request #14843 from mattwire/priceset_to_metadatafield

Switch priceset selector to addField method

5 years agoMerge pull request #14852 from pradpnayak/SttingsTitle
Eileen McNaughton [Sun, 21 Jul 2019 23:40:01 +0000 (11:40 +1200)]
Merge pull request #14852 from pradpnayak/SttingsTitle

Changed the title and description of profile_add_to_group_double_optin

5 years agoMerge pull request #14827 from deepak-srivastava/case-summary-report-case-type-filter
Eileen McNaughton [Sun, 21 Jul 2019 23:04:31 +0000 (11:04 +1200)]
Merge pull request #14827 from deepak-srivastava/case-summary-report-case-type-filter

dev/core#1118 correct filteration by case type, re-use parent where()

5 years ago[NFC] code reformatting
eileen [Sun, 21 Jul 2019 22:48:25 +0000 (10:48 +1200)]
[NFC] code reformatting

5 years agoMerge pull request #14845 from colemanw/Set
Eileen McNaughton [Sun, 21 Jul 2019 22:44:14 +0000 (10:44 +1200)]
Merge pull request #14845 from colemanw/Set

Set profile greeting fields based on actual contact type

5 years agoMove temp table creation to the processor
eileen [Tue, 16 Jul 2019 23:01:45 +0000 (11:01 +1200)]
Move temp table creation to the processor

5 years agoCHanged the title and description of profile_add_to_group_double_optin
Pradeep Nayak [Sun, 21 Jul 2019 17:29:44 +0000 (18:29 +0100)]
CHanged the title and description of profile_add_to_group_double_optin

5 years agodev/core#1118 define filter type for case_type_id
Deepak Srivastava [Sat, 20 Jul 2019 15:33:34 +0000 (16:33 +0100)]
dev/core#1118 define filter type for case_type_id

5 years agoMerge pull request #14848 from eileenmcnaughton/test_fix
colemanw [Sat, 20 Jul 2019 07:13:26 +0000 (03:13 -0400)]
Merge pull request #14848 from eileenmcnaughton/test_fix

[REF][TEST][EXPORT] minor test cleanup & minor cleanup of code it tests

5 years agoMerge pull request #14849 from eileenmcnaughton/test_up
colemanw [Sat, 20 Jul 2019 07:12:42 +0000 (03:12 -0400)]
Merge pull request #14849 from eileenmcnaughton/test_up

[NFC] [TEST] code formatting in test class

5 years agoMerge pull request #14850 from eileenmcnaughton/test_act
colemanw [Sat, 20 Jul 2019 07:12:12 +0000 (03:12 -0400)]
Merge pull request #14850 from eileenmcnaughton/test_act

[REF] [TEST] cleanup on export activity test

5 years agoMerge pull request #14838 from eileenmcnaughton/export
colemanw [Sat, 20 Jul 2019 07:11:36 +0000 (03:11 -0400)]
Merge pull request #14838 from eileenmcnaughton/export

[REF] [Export] Stop passing exportParams & sqlColumns around

5 years agoMerge pull request #14847 from eileenmcnaughton/silly_refs
colemanw [Sat, 20 Jul 2019 04:36:18 +0000 (00:36 -0400)]
Merge pull request #14847 from eileenmcnaughton/silly_refs

[REF] Down with php4 compatibility

5 years ago[REF] [TEST] cleanup on export activity test
eileen [Sat, 20 Jul 2019 03:20:28 +0000 (15:20 +1200)]
[REF] [TEST] cleanup on export activity test

5 years ago[NFC] [TEST] code formatting in test class
eileen [Sat, 20 Jul 2019 03:13:55 +0000 (15:13 +1200)]
[NFC] [TEST] code formatting in test class

5 years ago[REF][TEST][EXPORT] minor test cleanup & minor cleanup of code it tests
eileen [Sat, 20 Jul 2019 03:05:44 +0000 (15:05 +1200)]
[REF][TEST][EXPORT] minor test cleanup & minor cleanup of code it tests

5 years agoFix unreleased regression where postal addresses are not suppressed when empty
eileen [Sat, 20 Jul 2019 01:52:55 +0000 (13:52 +1200)]
Fix unreleased regression where postal addresses are not suppressed when empty

I had a suspicion about this as the variable showed as unused in my IDE so I upgraded the test that was failing to notice
and it started failing on this.

Bug is that the lines were not being added to the query to suppress empty addresses.

5 years agoDown with php4 compatibility
eileen [Sat, 20 Jul 2019 02:31:18 +0000 (14:31 +1200)]
Down with php4 compatibility

Removes a few more cases where parameters are needlessly passed as references

5 years agoSet profile greeting fields based on actual contact type
Coleman Watts [Fri, 19 Jul 2019 19:36:17 +0000 (15:36 -0400)]
Set profile greeting fields based on actual contact type

5 years agoSwitch priceset selector to addField method
Matthew Wire (MJW Consulting) [Fri, 19 Jul 2019 15:59:03 +0000 (16:59 +0100)]
Switch priceset selector to addField method

5 years agoMerge pull request #14841 from chamilwijesooriya/issue-1133
Matthew Wire [Fri, 19 Jul 2019 16:03:07 +0000 (17:03 +0100)]
Merge pull request #14841 from chamilwijesooriya/issue-1133

dev/core#1133 Payment method name is displayed instead of label in payment block for Manual payment

5 years agodev/core#1133 Payment method name is displayed instead of label in payment block...
Chamil Wijesooriya [Fri, 19 Jul 2019 13:54:46 +0000 (14:54 +0100)]
dev/core#1133 Payment method name is displayed instead of label in payment block for Manual payment

5 years agoMerge pull request #14839 from colemanw/Menubar
Matthew Wire [Fri, 19 Jul 2019 13:33:35 +0000 (14:33 +0100)]
Merge pull request #14839 from colemanw/Menubar

Menubar - Improve flexibility & remove hardcoded values

5 years agoMenubar - get rid of hardcoded pixel values in crm.menubar.js
Coleman Watts [Thu, 18 Jul 2019 17:29:14 +0000 (13:29 -0400)]
Menubar - get rid of hardcoded pixel values in crm.menubar.js

5 years agoMenubar - Use class instead of id for flexibility
Coleman Watts [Thu, 18 Jul 2019 12:41:48 +0000 (08:41 -0400)]
Menubar - Use class instead of id for flexibility

5 years agoStop passing exportParams & sqlColumns around
eileen [Tue, 16 Jul 2019 22:27:54 +0000 (10:27 +1200)]
Stop passing exportParams & sqlColumns around

5 years agoMerge pull request #14835 from eileenmcnaughton/export
colemanw [Wed, 17 Jul 2019 19:16:24 +0000 (15:16 -0400)]
Merge pull request #14835 from eileenmcnaughton/export

[REF] [Export] Simplify setting of address strings

5 years agoSimplify setting of address strings
eileen [Tue, 16 Jul 2019 20:37:11 +0000 (08:37 +1200)]
Simplify setting of address strings

5 years agoMerge pull request #14834 from seamuslee001/dev_core_1056
Eileen McNaughton [Tue, 16 Jul 2019 20:02:58 +0000 (08:02 +1200)]
Merge pull request #14834 from seamuslee001/dev_core_1056

dev/core#1056 Remove unneded schema file

5 years agoMerge pull request #14830 from eileenmcnaughton/export
colemanw [Tue, 16 Jul 2019 14:59:00 +0000 (10:59 -0400)]
Merge pull request #14830 from eileenmcnaughton/export

dev/core#1120 remove multiple export handling

5 years agodev/core#1056 Remove unneded schema file
Seamus Lee [Tue, 16 Jul 2019 14:44:49 +0000 (00:44 +1000)]
dev/core#1056 Remove unneded schema file

5 years agoMerge pull request #14831 from eileenmcnaughton/format
Seamus Lee [Tue, 16 Jul 2019 13:53:30 +0000 (09:53 -0400)]
Merge pull request #14831 from eileenmcnaughton/format

[NFC] [TEST] Reformat arrays in test classes

5 years agoMerge pull request #14832 from mattwire/profileformsession
colemanw [Tue, 16 Jul 2019 11:03:31 +0000 (07:03 -0400)]
Merge pull request #14832 from mattwire/profileformsession

Use singleton to get session instead of relying on ->_session being set elsewhere

5 years agoUse singleton to get session instead of relying on ->_session being set elsewhere
Matthew Wire (MJW Consulting) [Tue, 16 Jul 2019 09:12:35 +0000 (10:12 +0100)]
Use singleton to get session instead of relying on ->_session being set elsewhere

5 years agoReformat arrays in tests
eileen [Tue, 16 Jul 2019 07:16:27 +0000 (19:16 +1200)]
Reformat arrays in tests

5 years agoMerge pull request #14828 from seamuslee001/deprecation_notices
Seamus Lee [Mon, 15 Jul 2019 22:51:16 +0000 (18:51 -0400)]
Merge pull request #14828 from seamuslee001/deprecation_notices

Add in Deprecation warnings on Cache functons

5 years agodev/core#1120 remove multiple export handling
eileen [Mon, 15 Jul 2019 21:43:42 +0000 (09:43 +1200)]
dev/core#1120 remove multiple export handling

5 years agoUpdate Unit tests to use Civi facade
Seamus Lee [Mon, 15 Jul 2019 20:48:57 +0000 (06:48 +1000)]
Update Unit tests to use Civi facade

5 years agoMerge pull request #14829 from colemanw/1093
Eileen McNaughton [Mon, 15 Jul 2019 20:33:00 +0000 (08:33 +1200)]
Merge pull request #14829 from colemanw/1093

dev/core#1093 Make bulkSave defaults optional and ensure correct post hook is called

5 years agoMerge pull request #14737 from seamuslee001/convert_contribution_recur_date_fields
Eileen McNaughton [Mon, 15 Jul 2019 20:27:22 +0000 (08:27 +1200)]
Merge pull request #14737 from seamuslee001/convert_contribution_recur_date_fields

[REF] Convert contribution_recur dates to datepicker from jcalendar

5 years agoMerge pull request #14824 from demeritcowboy/case-singleton-url
colemanw [Mon, 15 Jul 2019 18:50:11 +0000 (14:50 -0400)]
Merge pull request #14824 from demeritcowboy/case-singleton-url

dev/core#1115 - fix invalid url in singleton/max_instances warning in civicase

5 years agoMerge pull request #14822 from eileenmcnaughton/export
colemanw [Mon, 15 Jul 2019 18:37:24 +0000 (14:37 -0400)]
Merge pull request #14822 from eileenmcnaughton/export

[REF] [Export] remove another confusing parameter

5 years agodev/core#1093 Make bulkSave defaults optional and ensure correct post hook is called
Coleman Watts [Mon, 15 Jul 2019 18:18:17 +0000 (14:18 -0400)]
dev/core#1093 Make bulkSave defaults optional and ensure correct post hook is called

5 years agofix singleton warning url
DemeritCowboy [Mon, 15 Jul 2019 13:00:13 +0000 (09:00 -0400)]
fix singleton warning url

5 years agoAdd in Deprecation warnings on Cache functons
Seamus Lee [Mon, 15 Jul 2019 14:19:22 +0000 (00:19 +1000)]
Add in Deprecation warnings on Cache functons

5 years agoConvert contribution_recur dates to datepicker from jcalendar
Seamus Lee [Thu, 4 Jul 2019 16:11:21 +0000 (02:11 +1000)]
Convert contribution_recur dates to datepicker from jcalendar

Handle unique title in whereclauseSingle as well

5 years agoMerge pull request #14825 from eileenmcnaughton/recur
Seamus Lee [Mon, 15 Jul 2019 12:32:06 +0000 (08:32 -0400)]
Merge pull request #14825 from eileenmcnaughton/recur

[REF] Cleanup up handling of dates for Recurring & Contribution date fields in query class

5 years agodev/core#1118 correct filteration by case type, re-use parent where()
Deepak Srivastava [Mon, 15 Jul 2019 11:31:03 +0000 (12:31 +0100)]
dev/core#1118 correct filteration by case type, re-use parent where()

5 years agoCleanup contribution & recurring contribution date field handling in query object
eileen [Mon, 15 Jul 2019 04:47:27 +0000 (16:47 +1200)]
Cleanup contribution & recurring contribution date field handling in query object

This gets us to the point where all date fields are handled the same way, which is now tested. Now that recurring
contribution fields have unique keys we can handle them as metadata

5 years agoAdd a swag of test cover on contribution & contribution recur date fields
eileen [Mon, 15 Jul 2019 04:19:19 +0000 (16:19 +1200)]
Add a swag of test cover on contribution & contribution recur date fields

5 years agoMerge pull request #14823 from seamuslee001/master
Eileen McNaughton [Mon, 15 Jul 2019 01:18:50 +0000 (13:18 +1200)]
Merge pull request #14823 from seamuslee001/master

Remove additional custom fields deletegroup functions

5 years agoRemove additional custom fields deletegroup functions
Seamus Lee [Sun, 14 Jul 2019 23:06:40 +0000 (09:06 +1000)]
Remove additional custom fields deletegroup functions

Add comment about state of GenerateReportData file

5 years agoMerge pull request #14583 from seamuslee001/convert_custom_fields_cache_group
Eileen McNaughton [Sun, 14 Jul 2019 22:37:41 +0000 (10:37 +1200)]
Merge pull request #14583 from seamuslee001/convert_custom_fields_cache_group

Convert the contact fields cache group to standard cache backend

5 years agoMerge pull request #14820 from eileenmcnaughton/recur
Seamus Lee [Sun, 14 Jul 2019 21:32:38 +0000 (17:32 -0400)]
Merge pull request #14820 from eileenmcnaughton/recur

Add unique names and unique title for recurrings.

5 years agoEnsure recently converted groups cache matches previous behabiour my setting withArra...
Seamus Lee [Wed, 10 Jul 2019 22:19:18 +0000 (08:19 +1000)]
Ensure recently converted groups cache matches previous behabiour my setting withArray as fast for it

Also ensure contact fields uses fastArrayCache

5 years agoReplicate current practice of resetting of ACL and System caches sensibly
Seamus Lee [Sat, 22 Jun 2019 03:41:17 +0000 (13:41 +1000)]
Replicate current practice of resetting of ACL and System caches sensibly

5 years agoEnsure ACL and other caches are reset as well when flushing ACL Cache
Seamus Lee [Fri, 21 Jun 2019 22:31:35 +0000 (08:31 +1000)]
Ensure ACL and other caches are reset as well when flushing ACL Cache

5 years agoConvert the contact fields cache group to standard cache backend
Seamus Lee [Tue, 18 Jun 2019 22:46:06 +0000 (08:46 +1000)]
Convert the contact fields cache group to standard cache backend

5 years agoMerge pull request #14582 from seamuslee001/convert_custom_data_cache_group
Seamus Lee [Sun, 14 Jul 2019 12:16:28 +0000 (08:16 -0400)]
Merge pull request #14582 from seamuslee001/convert_custom_data_cache_group

Convert Custom Data cache group to be using standard cache backend

5 years agoMerge pull request #14821 from civicrm/5.16
Eileen McNaughton [Sun, 14 Jul 2019 08:56:34 +0000 (20:56 +1200)]
Merge pull request #14821 from civicrm/5.16

5.16 to master

5 years ago[REF] [Export] remove another confusing parameter
eileen [Sun, 14 Jul 2019 08:54:31 +0000 (20:54 +1200)]
[REF] [Export] remove another confusing parameter

5 years agoMerge pull request #14819 from eileenmcnaughton/export_up
colemanw [Sun, 14 Jul 2019 06:15:32 +0000 (02:15 -0400)]
Merge pull request #14819 from eileenmcnaughton/export_up

[REF] [Export] Stop passing export params to the merge function

5 years agoMerge pull request #14722 from JKingsnorth/fix-public-url-link-in-browse
Eileen McNaughton [Sun, 14 Jul 2019 06:00:33 +0000 (18:00 +1200)]
Merge pull request #14722 from JKingsnorth/fix-public-url-link-in-browse

Fix public URL link with hashed URLs in mailing browse screen

5 years agoMerge pull request #14816 from mlutfy/event8
Eileen McNaughton [Sun, 14 Jul 2019 05:55:30 +0000 (17:55 +1200)]
Merge pull request #14816 from mlutfy/event8

dev/event#8 Event Cart: save Participant custom field data

5 years agoAdd unique names and unique title for recurrings.
eileen [Sun, 14 Jul 2019 05:46:38 +0000 (17:46 +1200)]
Add unique names and unique title for recurrings.

Per
discussion https://github.com/civicrm/civicrm-core/pull/14737/files#r300889057
we hace a need sometimes to display context dependent titles & context independent titles.

This adds unique_title for the purpose

5 years agoMerge pull request #14815 from vingle/patch-7
Eileen McNaughton [Sun, 14 Jul 2019 05:08:03 +0000 (17:08 +1200)]
Merge pull request #14815 from vingle/patch-7

Remove the only two defined fonts from selectors

5 years agoMerge pull request #14675 from seamuslee001/cleanup_prev_next_set_item
Eileen McNaughton [Sun, 14 Jul 2019 05:06:13 +0000 (17:06 +1200)]
Merge pull request #14675 from seamuslee001/cleanup_prev_next_set_item

[REF] Cleanup usage of CRM_Core_BAO_PrevNextCache::setItem and deprecā€¦

5 years agoEnsure recently converted groups cache matches previous behabiour my setting withArra...
Seamus Lee [Wed, 10 Jul 2019 22:19:18 +0000 (08:19 +1000)]
Ensure recently converted groups cache matches previous behabiour my setting withArray as fast for it

Ensure custom data cache use the fastArray Cache

5 years agoConvert Custom Data cache group to be using standard cache backend
Seamus Lee [Tue, 18 Jun 2019 22:33:30 +0000 (08:33 +1000)]
Convert Custom Data cache group to be using standard cache backend

5 years agoMerge pull request #14581 from seamuslee001/convert_navigation_cache
Eileen McNaughton [Sun, 14 Jul 2019 04:35:40 +0000 (16:35 +1200)]
Merge pull request #14581 from seamuslee001/convert_navigation_cache

Convert Navigation cache group to current cache defition system

5 years agoStop passing export params to the merge function
eileen [Sun, 14 Jul 2019 01:20:24 +0000 (13:20 +1200)]
Stop passing export params to the merge function

We have a string which does or doesn't have merge tokens in it - we don't need  to determine this

5 years agoMerge pull request #14817 from eileenmcnaughton/export_up
colemanw [Sat, 13 Jul 2019 22:38:07 +0000 (18:38 -0400)]
Merge pull request #14817 from eileenmcnaughton/export_up

[TEST] export - add unit test covering merge to same address addressee handling

5 years agoMerge pull request #14818 from totten/master-magic-cache
colemanw [Sat, 13 Jul 2019 20:45:33 +0000 (16:45 -0400)]
Merge pull request #14818 from totten/master-magic-cache

MagicMerge - Fix ephemeral overrides for aliased properties

5 years agoConvert static variable to class property (should prevent test leakage"
eileen [Fri, 12 Jul 2019 22:45:27 +0000 (10:45 +1200)]
Convert static variable to class property (should prevent test leakage"

5 years agoCRM_Core_Config_MagicMerge - Fix thread-local updates for aliased properties
Tim Otten [Fri, 12 Jul 2019 22:44:01 +0000 (15:44 -0700)]
CRM_Core_Config_MagicMerge - Fix thread-local updates for aliased properties

Overview
--------

`CRM_Core_Config_MagicMerge` allows properties to be temporarily modified
(for the duration the object's lifespan). However, this behavior does
not work correctly if the property-name uses aliasing.

The PR addresses a test-failure that became visible in #14718, and it adds
test-coverage for some typical and atypical examples.

Before
------

* (Vast majority of properties) If a property has a simple name (e.g.
  `maxFileSize`), then `$cache`-reads and `$cache`-writes are consistent.
* (Handful of properties) If a property has a split name (e.g.
  `maxAttachments`, `max_attachments`), then `$cache`-reads and
  `$cache`-writes are *not* consistent.  Writes basically don't work.

After
-----

* Aliased properties work the same as normal/non-aliased.

Technical Details
-----------------

To understand the change, you should skim `MagicMerge` and observe
a few things:

* In `getPropertyMap()`,  observe that:
    * (a) Most properties have a singular name -- for example, `maxFileSize`
      has one name, which will be the same in the high-level facade (`$config->maxFileSize`)
      and in the underlying data-store (`settings->get('maxFileSize')`).
    * (b) Some properties are aliased. Ex: `$config->maxAttachments`
      corresponds to underlying item `settings->get('max_attachments')`.
* In `__get()` and `__set()`, note that properties are loaded initally from
  the underlying data-store once; thereafter, any reads or writes go to
  `$this->cache`. That's a thread-local place that stores temporary revisions.

To see the cache consistency problem, specifically note that:

* `__get()` consistently references `$this->cache[$k]`
* `__set()` was confused; at the start, it used `$this->cache[$k]`,
  and later it used `$this->cache[$name]`.

This PR adds a unit-test which ensures that the thread-local/cached value
works consistently.