Tim Otten [Wed, 10 Jul 2019 04:53:04 +0000 (21:53 -0700)]
(dev/cloud-native#3) CRM_Core_IDS - Change CIVICRM_TEMPLATE_COMPILEDIR to 'civicrm.compile'
The broader PR seeks to make path computation more intuitive, which requires computing the
path to `templates_c` using a function. This PR replaces the reference to `CIVICRM_TEMPLATE_COMPILEDIR`
with a function-call to `Civi::paths()->getVariable()`.
Is it safe change to make this change in `CRM_Core_IDS`? Will the
`Civi::paths()` be callable? Yes, here's why I believe so:
* (Big picture) Civi completes the bootstrap process
(`CRM_Core_Config::singleton()`) and brings critical services online
*before* the invoker does any routing or page-processing. The invoker
(`CRM_Core_Invoke::runItem()`) is the only thing which uses
`CRM_Core_IDS`.
* (Little picture) In the changed function
`CRM_Core_IDS::createBaseConfig()`, observe that it calls
`CRM_Core_Config::singleton()` before running this modified code. That's
a tell-tale sign of code that already relies on having a booted system.
Tim Otten [Tue, 9 Jul 2019 22:12:15 +0000 (15:12 -0700)]
(dev/cloud-native#3) Runtime.php - Remove redundant check
1. Previous commits generally removed any responsibility for
`CIVICRM_TEMPLATE_COMPILEDIR` from `Runtime.php`, so the validation
is longer local/relevant.
2. The `CIVICRM_TEMPLATE_COMPILEDIR` is still used in
`CRM_Utils_File::baseFilePath()` which has a similar validation step.
Tim Otten [Wed, 3 Jul 2019 01:08:20 +0000 (18:08 -0700)]
(dev/cloud-native#3) configAndLogDir,templateCompileDir - Move from "Runtime" to "Paths". Use hierarchy.
This slightly changes the computation of the private log and compilation
directories so that:
* The definition appears more declarative.
* The default is computed on-demand (i.e. later in the process).
* The values can be overriden more intuitively.
Before
------
The properties `$config->configAndLogDir` and `$config->templateCompileDir`
are computed as part of a procedural initialization step in
`CRM_Core_Config_Runtime`.
After
-----
The properties `$config->configAndLogDir` and `$config->templateCompileDir`
are computed on-demand by `Civi\Core\Paths`.
The values of these properties may:
* Be computed automatically in a way that matches the previous output
(i.e. `configAndLogDir`=~`CIVICRM_TEMPLATE_COMPILEDIR/../configAndLog`;
`templateCompileDir`=~`CIVICRM_TEMPLATE_COMPILEDIR`).
* Be customized as a pair (by setting `civicrm.private`)
* Be customized individually (by setting `civicrm.logs` or `civicrm.compile`).
Tim Otten [Wed, 3 Jul 2019 01:02:49 +0000 (18:02 -0700)]
(dev/cloud-native#3) MagicMerge - Allow pulling properties directly from Civi::paths
Herb [Mon, 1 Jul 2019 03:46:50 +0000 (23:46 -0400)]
Specify path
Herb [Mon, 1 Jul 2019 02:25:52 +0000 (22:25 -0400)]
Use global since Civi\Core\Paths isn't loaded yet
Herb [Mon, 1 Jul 2019 02:19:18 +0000 (22:19 -0400)]
Boot paths after runtime
Herb vd Dool [Thu, 20 Sep 2018 01:17:28 +0000 (21:17 -0400)]
Lookup path-variable for the private filepath
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
Seamus Lee [Mon, 15 Jul 2019 20:48:57 +0000 (06:48 +1000)]
Update Unit tests to use Civi facade
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
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
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
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
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
DemeritCowboy [Mon, 15 Jul 2019 13:00:13 +0000 (09:00 -0400)]
fix singleton warning url
Seamus Lee [Mon, 15 Jul 2019 14:19:22 +0000 (00:19 +1000)]
Add in Deprecation warnings on Cache functons
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
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
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
eileen [Mon, 15 Jul 2019 04:19:19 +0000 (16:19 +1200)]
Add a swag of test cover on contribution & contribution recur date fields
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
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
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
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.
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
Seamus Lee [Sat, 22 Jun 2019 03:41:17 +0000 (13:41 +1000)]
Replicate current practice of resetting of ACL and System caches sensibly
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
Seamus Lee [Tue, 18 Jun 2019 22:46:06 +0000 (08:46 +1000)]
Convert the contact fields cache group to standard cache backend
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
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
eileen [Sun, 14 Jul 2019 08:54:31 +0000 (20:54 +1200)]
[REF] [Export] remove another confusing parameter
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
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
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
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
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
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…
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
Seamus Lee [Tue, 18 Jun 2019 22:33:30 +0000 (08:33 +1000)]
Convert Custom Data cache group to be using standard cache backend
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
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
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
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
eileen [Fri, 12 Jul 2019 22:45:27 +0000 (10:45 +1200)]
Convert static variable to class property (should prevent test leakage"
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.
eileen [Fri, 12 Jul 2019 22:01:51 +0000 (10:01 +1200)]
Consolidate handling of greeting label
eileen [Fri, 12 Jul 2019 21:53:12 +0000 (09:53 +1200)]
[TEST] export - add unit test covering merge to same address addressee handling
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 that navigation cache is using fastArray
Seamus Lee [Tue, 18 Jun 2019 22:21:31 +0000 (08:21 +1000)]
Convert Navigation cache group to current cache defition system
Also reset memory and system caches when resetting navigation
Additonal place to cause extra flush
Add in utility function for resetting ACL and System Level Caches
Use cache utility function
Seamus Lee [Sat, 29 Jun 2019 02:15:37 +0000 (12:15 +1000)]
[REF] Cleanup usage of CRM_Core_BAO_PrevNextCache::setItem and deprecate passing in array of values
Fix conversion from old style format to new and add in unit test of conversion and confirm it stores data correctly in the table
Reformat Function as per Patrick's comments
Update doc block and add in comment detailing the change in function param
Fix Test
Eileen McNaughton [Fri, 12 Jul 2019 19:02:05 +0000 (07:02 +1200)]
Merge pull request #14782 from eileenmcnaughton/export_wip
[EXPORT] add getPreview function
Mathieu Lutfy [Fri, 12 Jul 2019 17:35:57 +0000 (13:35 -0400)]
dev/event#8 Event Cart: save Participant custom field data
Nicol [Fri, 12 Jul 2019 17:01:06 +0000 (18:01 +0100)]
Remove 'font-family: Arial/etc' on two selectors
For some reason, thesae two selectors have hardcode Arial/etc as the font for form legends and H3 elements. Therefore while a front-end contribution page or profile will inherit the site fonts, but in these two instances it will use Arial/etc.
This can be overriden by the user, but given that there is no other use of Arial in CiviCRM, doesn't seem to make much sense. When theming front-end CiviCRM forms/pages these two elements have to be reset with "font-family: inherit". My guess is it's legacy from a much earlier version of the system (but in making this proposal perhaps the real reason will emerge).
eileen [Wed, 10 Jul 2019 14:13:43 +0000 (02:13 +1200)]
Add getPreview function
colemanw [Fri, 12 Jul 2019 13:55:19 +0000 (09:55 -0400)]
Merge pull request #14811 from eileenmcnaughton/ex1
[REF] [Export] clean up incorporation of order by & group by into ExportProcessor
colemanw [Fri, 12 Jul 2019 12:02:20 +0000 (08:02 -0400)]
Merge pull request #14812 from eileenmcnaughton/ee
[REF] [Export] More export Structure arrays to processor
colemanw [Fri, 12 Jul 2019 12:00:43 +0000 (08:00 -0400)]
Merge pull request #14813 from eileenmcnaughton/update_tests
[REF] [TEST] [Export] Update export tests to reflect new format
eileen [Fri, 12 Jul 2019 04:09:54 +0000 (16:09 +1200)]
Update export tests to reflect new format
eileen [Fri, 12 Jul 2019 04:23:11 +0000 (16:23 +1200)]
Stop passing processor to itself
eileen [Wed, 10 Jul 2019 14:04:41 +0000 (02:04 +1200)]
More export Structure arrays to processor
eileen [Wed, 10 Jul 2019 13:27:11 +0000 (01:27 +1200)]
Move order by to query generator
eileen [Wed, 10 Jul 2019 13:24:10 +0000 (01:24 +1200)]
Move group by to processor
Eileen McNaughton [Fri, 12 Jul 2019 04:09:14 +0000 (16:09 +1200)]
Merge pull request #14810 from eileenmcnaughton/fix_up
Fix upgrade for membership second reminder
Eileen McNaughton [Fri, 12 Jul 2019 04:08:47 +0000 (16:08 +1200)]
Merge pull request #14808 from eileenmcnaughton/export_sql
[REF] [Export] Further cleanup - construct sql more concisely
Eileen McNaughton [Fri, 12 Jul 2019 03:29:48 +0000 (15:29 +1200)]
Merge pull request #14809 from eileenmcnaughton/ex_merge
[REF] [Export] move mergeSameAddress to processor class
eileen [Wed, 10 Jul 2019 13:21:41 +0000 (01:21 +1200)]
Make return for query more like sql
Eileen McNaughton [Fri, 12 Jul 2019 03:00:56 +0000 (15:00 +1200)]
Merge pull request #14793 from eileenmcnaughton/update_test
[TEST][EXPORT] Improve unit test on export.
eileen [Fri, 12 Jul 2019 02:26:41 +0000 (14:26 +1200)]
Fix upgrade for membership second reminder
Updates the upgrade from https://github.com/civicrm/civicrm-core/pull/1348 to apply to the merged civi version
eileen [Fri, 12 Jul 2019 02:03:13 +0000 (14:03 +1200)]
[REF] [Export] move mergeSameAddress to processor class
eileen [Wed, 10 Jul 2019 13:16:29 +0000 (01:16 +1200)]
Move more of the query construction into runQuery
Eileen McNaughton [Fri, 12 Jul 2019 01:49:12 +0000 (13:49 +1200)]
Merge pull request #14807 from civicrm/5.16
5.16 to master
Eileen McNaughton [Fri, 12 Jul 2019 01:48:44 +0000 (13:48 +1200)]
Merge pull request #14764 from elisseck/dev/report/15
dev/report/15 Add fix and tests for contact subtype report filter
eileen [Fri, 12 Jul 2019 00:43:45 +0000 (12:43 +1200)]
[Test][REF] Improve membership export test
colemanw [Fri, 12 Jul 2019 01:31:39 +0000 (21:31 -0400)]
Merge pull request #14806 from eileenmcnaughton/ex
[REF] [Export] further code cleanup
colemanw [Fri, 12 Jul 2019 01:31:15 +0000 (21:31 -0400)]
Merge pull request #14728 from eileenmcnaughton/last_icing
[REF] final cleanup - call bulkCreate from migrate_utils
eileen [Thu, 11 Jul 2019 10:10:34 +0000 (22:10 +1200)]
[TEST][EXPORT] Improve unit test on export (inc add mergeSameAddress test)"
This updates the methodology used to test the membership export. I also made it check a bunch more fields
while I was at it
eileen [Wed, 10 Jul 2019 13:02:32 +0000 (01:02 +1200)]
Don't pass around paymentTableId
eileen [Wed, 10 Jul 2019 12:50:37 +0000 (00:50 +1200)]
Move code wrangling to the start
Eileen McNaughton [Fri, 12 Jul 2019 00:36:45 +0000 (12:36 +1200)]
Merge pull request #14800 from colemanw/mapperKeys
[REF] [EXPORT] Alter CRM_Export_BAO_Export::exportComponents
Eileen McNaughton [Thu, 11 Jul 2019 23:44:38 +0000 (11:44 +1200)]
Merge pull request #13487 from giant-rabbit/17880-after-first-reminder-for-membership-fix
(dev/core#285) Fixed second membership reminder
Eli Lisseck [Thu, 11 Jul 2019 23:41:33 +0000 (16:41 -0700)]
add tests for contact subtype null and not null report filters
Jon Goldberg [Mon, 8 Jul 2019 21:51:48 +0000 (17:51 -0400)]
apply reporting#15 fix against master
colemanw [Thu, 11 Jul 2019 23:39:30 +0000 (19:39 -0400)]
Merge pull request #14803 from eileenmcnaughton/ex5
[REF] [Export] move build master copy array to ExportProcessor
Coleman Watts [Thu, 11 Jul 2019 21:24:51 +0000 (17:24 -0400)]
Alter CRM_Export_BAO_Export::exportComponents to accept standard MappingField format
colemanw [Thu, 11 Jul 2019 23:31:50 +0000 (19:31 -0400)]
Merge pull request #14804 from eileenmcnaughton/eee
[REF] [Export] Remove code that seems unused
colemanw [Thu, 11 Jul 2019 23:30:11 +0000 (19:30 -0400)]
Merge pull request #14802 from eileenmcnaughton/ex4
[REF] [Export] Move setting of household properties to processor
Eileen McNaughton [Thu, 11 Jul 2019 23:09:55 +0000 (11:09 +1200)]
Merge pull request #14805 from civicrm/5.16
5.16 to master
Eileen McNaughton [Thu, 11 Jul 2019 23:09:27 +0000 (11:09 +1200)]
Merge pull request #14789 from seamuslee001/fast_array_caches
Ensure recently converted groups cache matches previous behabiour my …
eileen [Wed, 10 Jul 2019 12:48:58 +0000 (00:48 +1200)]
[REF] [Export] Remove code that seems unused
I can't find any evidence of this code being re-refenced. We DO reference a similar one for merge_same_address
Eileen McNaughton [Thu, 11 Jul 2019 22:26:19 +0000 (10:26 +1200)]
Merge pull request #14801 from eileenmcnaughton/ee
[REF] [Export] Minor code relocation
eileen [Thu, 11 Jul 2019 22:06:04 +0000 (10:06 +1200)]
[REF] [Export] move build master copy array to ExportProcessor
Eileen McNaughton [Thu, 11 Jul 2019 21:56:07 +0000 (09:56 +1200)]
Merge pull request #14799 from eileenmcnaughton/move_ex
[REF] [Export] Move replace merge tokens to processor class
eileen [Wed, 10 Jul 2019 13:04:42 +0000 (01:04 +1200)]
Move setting of household properties to processor
eileen [Wed, 10 Jul 2019 12:46:36 +0000 (00:46 +1200)]
Minor code relocation
n
Seamus Lee [Thu, 11 Jul 2019 21:22:30 +0000 (17:22 -0400)]
Merge pull request #14795 from eileenmcnaughton/ex
[REF] [EXPORT] Stop passing return Properties
eileen [Thu, 11 Jul 2019 21:02:43 +0000 (09:02 +1200)]
Move replace merge tokens to processor class
eileen [Wed, 10 Jul 2019 12:30:03 +0000 (00:30 +1200)]
Stop passing return Properties
colemanw [Thu, 11 Jul 2019 20:16:23 +0000 (16:16 -0400)]
Merge pull request #14797 from eileenmcnaughton/ex_address
[REF] [Export] Move function that parses tokens to address processor
eileen [Thu, 4 Jul 2019 01:07:55 +0000 (13:07 +1200)]
[REF] final cleanup - call bulkCreate from migrate_utils
This has a test CRM_Utils_Migrate_ImportExportTest although I had trouble running it without switching to
some hard-coding (at least in isolation). This switches the existing bulk create action over to use bulkCreate