Seamus Lee [Thu, 30 Apr 2020 22:30:24 +0000 (08:30 +1000)]
Merge pull request #17206 from seamuslee001/5.25
5.24.6 Release Notes
Tim Otten [Thu, 30 Apr 2020 21:52:58 +0000 (14:52 -0700)]
Update release-notes/5.24.6
Tim Otten [Thu, 30 Apr 2020 03:04:31 +0000 (20:04 -0700)]
Add release-notes/5.24.6.md
Seamus Lee [Thu, 30 Apr 2020 07:17:16 +0000 (17:17 +1000)]
Merge pull request #17200 from eileenmcnaughton/rep
dev/core#1729 Fix filters skipping on activity report
eileen [Thu, 30 Apr 2020 04:19:34 +0000 (16:19 +1200)]
dev/core#1729 Fix filters skipping onn activity report
Seamus Lee [Thu, 30 Apr 2020 03:42:51 +0000 (13:42 +1000)]
Merge pull request #17188 from totten/5.25-contrib-virt-itemcanon
Fix loading, saving, and upgrade of CiviContribute settings
Tim Otten [Thu, 30 Apr 2020 01:23:40 +0000 (18:23 -0700)]
testHandlingOfContributionInvoiceSetting() - More realistic data+assertion
In practice, for the old setting `contribution_invoice_settings`, the
`invoicing` property could take one of two values:
1. If enabled, the value is an array with trueish subkey: `['invoicing'=>['invoicing'=>1]]`
2. If disabled, the value is a numeric `0`: `['invoicing'=>0]`
Following this means better compatibility.
The format is counter-intuitive, and the unit-test sets the value to enabled
using a more intuitive format (`['invoicing'=>1]`). It's currently valid to
`set()` this way, but `get()`ting the value produces the
more-compatible/historical format.
Tim Otten [Wed, 29 Apr 2020 04:54:12 +0000 (21:54 -0700)]
dev/core#1724 - Backward-compatible handling of 'contribution_invoice_settings.invoicing'
In the old setting `contribution_invoice_settings`, the `invoicing`
property (aka "CiviContribute Component Settings" => "Enable Tax and
Invoicing") could take one of two values:
1. If enabled, it's an array with trueish subkey: `['invoicing'=>1]`
2. If disabled, it's a numeric zero.
This encoding is weird, and `contribution_invoice_settings` is generally deprecated
and has been replaced by a virtual rendition which needs to be consistent with the
old representation -- so that a couple-dozen things continue working.
For testing, it helped me to try these commands at different points:
```
cv ev 'return CRM_Invoicing_Utils::isInvoicingEnabled();'
cv api setting.get return=invoicing
cv api setting.get return=contribution_invoice_settings
select * from civicrm_setting where name like 'contrib%' or name like 'invoic%';
```
Tim Otten [Wed, 29 Apr 2020 00:40:03 +0000 (17:40 -0700)]
FiveTwentyFive - Convert settings during upgrade
Consider this use-case:
* Install 5.22
* Configure `CiviContribute Component Settings`
* Upgrade to 5.25.beta
The settings are lost during the upgrade.
Tim Otten [Wed, 29 Apr 2020 23:34:28 +0000 (16:34 -0700)]
Set version to 5.25.beta3
Tim Otten [Tue, 28 Apr 2020 22:33:33 +0000 (15:33 -0700)]
dev/core#1724 - Fix defaults for invoice-related settings
The default values were previously stored in 'contribution_invoice_settings', but
the updates are stored in individual settings, which makes it difficult to reconcile
the default values and explicit values.
With this revision, 'contribution_invoice_settings' is strictly virtual, and
all the other settings (like 'invoice_due_date') are canonical.
Tim Otten [Tue, 28 Apr 2020 21:14:45 +0000 (14:14 -0700)]
(REF) dev/core#1724 - SettingsBag - Convert to computeVirtual/updateVirtual
The `SettingsBag` uses the `$combined` property to (locally) cache a full
view of the active settings (based on combining different layers of data --
default-values, explicit-values, and mandatory-values). This design is
good for read-mostly data.
This patch changes the `__ContributionSettings` to be another layer in the
construction of `$combined` -- the virtual-values layer. It fixes issues
wherein:
1. The virtual value is recomputed during every call to `get($key)`.
2. The virtual value is only based on explicit-values -- it disregards
default-values and mandatory-values.
Tim Otten [Tue, 28 Apr 2020 21:24:34 +0000 (14:24 -0700)]
dev/core#1724 - SettingsBagTest - Add coverage for contribution_invoice_settings
eileen [Tue, 28 Apr 2020 07:38:57 +0000 (19:38 +1200)]
dev/core#1724 Fix Changes to CiviContribute Component Settings not saved
It seems that, depending on the order in which settings are loaded, this is not always populated. Moving it here
addresses, although medium term we should address all references to it
Eileen McNaughton [Mon, 27 Apr 2020 02:56:09 +0000 (14:56 +1200)]
Merge pull request #17128 from seamuslee001/dev_core_1710
dev/core#1710 Ensure that civicrm_case_activity is properly populated…
Seamus Lee [Tue, 21 Apr 2020 09:21:23 +0000 (19:21 +1000)]
dev/core#1710 Ensure that civicrm_case_activity is properly populated for use by report query when run in force mode
Move table definition into constructor to set alias using standard ways and only rely on the code in the buildQuery to add in the case_id column as necessary
Fix hiding of case_id column
Update to include Case ID column
Seamus Lee [Sat, 25 Apr 2020 21:18:28 +0000 (07:18 +1000)]
Merge pull request #17164 from pradpnayak/invoicingHidden
Invoice action not shown when invoicing enabled
Pradeep Nayak [Fri, 24 Apr 2020 15:17:06 +0000 (16:17 +0100)]
Invoice action not shown when invoicing enabled
Seamus Lee [Thu, 23 Apr 2020 02:48:46 +0000 (12:48 +1000)]
Merge pull request #17149 from seamuslee001/5.25
Add release-notes/5.24.5.md
Tim Otten [Thu, 23 Apr 2020 00:03:35 +0000 (17:03 -0700)]
Add release-notes/5.24.5.md
Seamus Lee [Wed, 22 Apr 2020 03:54:42 +0000 (13:54 +1000)]
Merge pull request #17134 from jitendrapurohit/core-1723-rc
dev/core#1723 - Adv Search - Reciprocal relationship search with custom fields leads to error
Jitendra Purohit [Tue, 21 Apr 2020 11:31:34 +0000 (17:01 +0530)]
RC fix for #17132
unit test fix
Seamus Lee [Wed, 22 Apr 2020 01:26:33 +0000 (11:26 +1000)]
Merge pull request #17137 from seamuslee001/dev_core_1717
dev/core#1717 - Fix SMTP failure involving `disconnect()` method
Seamus Lee [Tue, 21 Apr 2020 21:11:29 +0000 (07:11 +1000)]
dev/core#1717 Fix SMTP failure on fail to disconnect due to new wrapper smtp mailer
Add in wrapper around to check if we can call it
Seamus Lee [Tue, 21 Apr 2020 02:27:10 +0000 (12:27 +1000)]
Merge pull request #17119 from agh1/5.25.0-releasenotes
5.25.0 release notes first run
Andrew Hunt [Mon, 20 Apr 2020 21:52:21 +0000 (17:52 -0400)]
5.25.0 release notes: added boilerplate
Andrew Hunt [Mon, 20 Apr 2020 21:47:41 +0000 (17:47 -0400)]
5.25.0 release notes: raw from script
Seamus Lee [Mon, 20 Apr 2020 08:54:32 +0000 (18:54 +1000)]
Merge pull request #17108 from colemanw/revertSqlFn
Revert #16947 from 5.25RC
Coleman Watts [Sun, 19 Apr 2020 23:56:26 +0000 (19:56 -0400)]
Revert "APIv4 - Add rudimentary support for groupBy"
This reverts commit
fba513f62ec8815e08fa838e0d0501279bf34501.
Coleman Watts [Sun, 19 Apr 2020 23:56:25 +0000 (19:56 -0400)]
Revert "Api4SelectQuery - add more metadata to apiFieldSpec"
This reverts commit
9b06167d3c8dc54bb51e22e3583b18799a46c930.
Coleman Watts [Sun, 19 Apr 2020 23:56:20 +0000 (19:56 -0400)]
Revert "APIv4 - Add SQL expression handling and aggregate functions"
This reverts commit
3176b04cb62b0e8f94454e367736f50454f89de8.
Seamus Lee [Fri, 17 Apr 2020 09:43:20 +0000 (19:43 +1000)]
Merge pull request #17097 from seamuslee001/5.25
Add release-notes/5.24.4.md
Tim Otten [Fri, 17 Apr 2020 09:30:06 +0000 (02:30 -0700)]
Add release-notes/5.24.4.md
Tim Otten [Fri, 17 Apr 2020 03:56:19 +0000 (20:56 -0700)]
Merge pull request #17085 from seamuslee001/typo3_drupal8
Generalise typo3/phar-stream-wrapper so CiviCRM can be installed on d…
Seamus Lee [Fri, 17 Apr 2020 02:04:38 +0000 (12:04 +1000)]
Merge pull request #17081 from eileenmcnaughton/session
Fix unsubscribe regression
Seamus Lee [Thu, 16 Apr 2020 04:45:16 +0000 (14:45 +1000)]
Generalise typo3/phar-stream-wrapper so CiviCRM can be installed on drupal8
eileen [Thu, 16 Apr 2020 01:37:00 +0000 (13:37 +1200)]
Fix issue with form values not being available onn submit
Possible fix for https://civicrm.stackexchange.com/questions/35323/missing-parameters-error-in-unsubscribe-confirmation
The theory is that not having committed the transaction is causing the session not to be saved
CiviCRM [Thu, 16 Apr 2020 02:04:24 +0000 (02:04 +0000)]
Set version to 5.25.beta2
Tim Otten [Thu, 16 Apr 2020 01:28:50 +0000 (18:28 -0700)]
release-notes - Small copy edits
Seamus Lee [Thu, 16 Apr 2020 01:02:23 +0000 (11:02 +1000)]
Add in release notes for 5.24.3
Tim Otten [Fri, 3 Apr 2020 02:45:21 +0000 (19:45 -0700)]
Update composer.lock (`composer update --lock`)
Tim Otten [Fri, 3 Apr 2020 02:34:00 +0000 (19:34 -0700)]
[MOSS] CIV-01-001 - Display sensible error if someone tries to use "qunit" when it's missing
Tim Otten [Fri, 3 Apr 2020 02:23:03 +0000 (19:23 -0700)]
[MOSS] CIV-01-001 - Remove more unnecessary files from google-code-prettifier
Seamus Lee [Wed, 18 Mar 2020 01:25:01 +0000 (12:25 +1100)]
[MOSS] CIV-01-001 Remove Qunit and google-code-prettifier demo html file
Seamus Lee [Thu, 12 Dec 2019 20:08:34 +0000 (07:08 +1100)]
Include the job name and job details on the popup notice and also on the form asking if your sure about executing it
Allow disabled jobs to be executed and fix copy
Seamus Lee [Tue, 10 Dec 2019 20:07:57 +0000 (07:07 +1100)]
security/core#10 Ensure there is CSRF Protection when running Scheduled Jobs from the Admin scheduled jobs UI
Seamus Lee [Sun, 29 Mar 2020 21:23:33 +0000 (08:23 +1100)]
Remove code handling for profile search listing
Seamus Lee [Sun, 29 Mar 2020 20:55:14 +0000 (07:55 +1100)]
Also escape when value starts with a [ and validate the negative operation as well
Seamus Lee [Tue, 3 Mar 2020 20:48:35 +0000 (07:48 +1100)]
[MOSS] CIV-01-020 Validate value in the query building logic for privacy flag fields
Seamus Lee [Sat, 29 Feb 2020 22:32:21 +0000 (09:32 +1100)]
[MOSS] CIV-01-014 Validate status_id and campaign_type_id for camapginSummary function and the source_record_id and activity_type_id for Activity delete function
Seamus Lee [Sun, 9 Feb 2020 08:32:48 +0000 (19:32 +1100)]
security/core#40 Purify activity details when viewing case activities and case reports
Patrick Figel [Tue, 18 Feb 2020 19:44:11 +0000 (20:44 +0100)]
security/core#60 - Fix PHP Object Injection via Phar Deserialization
This mitigates Phar deserialization vulnerabilities by registering an
alternative Phar stream wrapper that filters out insecure Phar files.
PHP makes it possible to trigger Object Injection vulnerabilities by using
a side-effect of the phar:// stream wrapper that unserializes Phar
metadata. To mitigate this vulnerability, projects such as TYPO3 and Drupal
have implemented an alternative Phar stream wrapper that disallows
inclusion of phar files based on certain parameters. This change implements
a similar approach for Civi in environments where the vulnerability isn't
mitigated by the CMS.
Fixes security/core#60
Tim Otten [Wed, 4 Mar 2020 02:54:50 +0000 (18:54 -0800)]
CIV-01-021 - Improve entity name sanitization
Before
------
* There exist two functions which purport to take an API entity name and sanitize it,
producing a canonical API entity name. (`\Civi\API\Request::normalizeEntityName`
and `_civicrm_api_get_camel_name`)
* The two functions are identical for typical inputs. Both call `convertStringToCamel()`.
* The difference relates to unusual/unspecified input characters like `/` or `.` or `+`.
* `_civicrm_api_get_camel_name()` allows/returns unusual characters.
* `normalizeEntityName()` filters them out via `\CRM_Utils_String::munge()`
After
-----
* `_civicrm_api_get_camel_name()` just calls `normalizeEntityName()`
* A unit-test provides some comparison/contrast between the old+new behaviors.
Comments
--------
I came into this because CIV-01-021 pointed out that `_civicrm_api_get_camel_name()` had
insufficient sanitization of wonky inputs and could potentially lead to unexpected file-reads.
You can potentially address those wonky inputs by filtering them out or by throwing an exception.
I initially started doing an exception... but it turned out that `normalizeEntityName()` was already
filtering out and didn't really need a change. Also, regardless of the policy, the functions should be
brought into alignment.
Anyway, it seemed like this was the simpler change - it keeps `normalizeEntityName()` working exactly
as before, and only changes `_civicrm_api_get_camel_name()` to match.
Patrick Figel [Tue, 18 Feb 2020 20:54:05 +0000 (21:54 +0100)]
security/core#73 - Fix Contact.getquick API key exposure
This fixes an issue where API keys can be exposed via the field_name
parameter of the Contact.getquick API. Since there is no valid use-case
for requesting API keys via getquick, the fix simply triggers an API
error if the API key is requested.
davejenx [Thu, 9 Apr 2020 10:01:29 +0000 (11:01 +0100)]
Update 5.24.2.md
Fix version number in title.
Tim Otten [Thu, 9 Apr 2020 07:21:03 +0000 (00:21 -0700)]
Merge pull request #17041 from seamuslee001/5.25
Add release-notes/5.24.2
Tim Otten [Thu, 9 Apr 2020 06:22:33 +0000 (23:22 -0700)]
Add release-notes/5.24.2
Eileen McNaughton [Wed, 8 Apr 2020 22:12:09 +0000 (10:12 +1200)]
Merge pull request #17033 from seamuslee001/5.25
Revert "temp workaround for dev/core#1675"
Seamus Lee [Wed, 8 Apr 2020 21:28:14 +0000 (07:28 +1000)]
Merge pull request #17021 from totten/5.25-language-labels
CRM_Core_I18n - Provide a better label for new/unknown locales
Seamus Lee [Wed, 8 Apr 2020 21:20:48 +0000 (07:20 +1000)]
Revert "temp workaround for dev/core#1675"
This reverts commit
fcd23b884537a19ff2acbc98ca20a43f292c4c42.
Eileen McNaughton [Wed, 8 Apr 2020 04:57:48 +0000 (16:57 +1200)]
Merge pull request #17004 from pradpnayak/fixhookissue
Fixed fatal error for class not found when managed hook is invoked du…
Tim Otten [Wed, 8 Apr 2020 04:14:38 +0000 (21:14 -0700)]
CRM_Core_I18n - Provide a better label for new/unknown locales
Overview
--------
Suppose you add new/unrecognized data files in the `l10n` folder - and then
you navigate to the screen `civicrm/admin/setting/localization?reset=1`.
Before
------
The new language appears in the admin UI as a blank item.
Every page in the app displays a warning about the unrecognized locale.
After
-----
The new language appears in the admin UI with a placeholder name (based on the code).
The warnings are not displayed.
Comment
-------
We've just had an issue where a new language was added to the `l10n`
data-set, and then all automated test-suites for all versions (incl `5.25`
RC and `5.24` stable) started to throw blocker errors on unrelated PRs.
This is because the `l10n` data is generally evergreen, but each branch/tag
of `civicrm-core` has the list hard-coded in multiple spots.
This patch tries to make the symptom less painful when mixing/matching
different revisions of `civicrm-core.git` and `l10n.git`.
Seamus Lee [Wed, 8 Apr 2020 01:53:29 +0000 (11:53 +1000)]
Merge pull request #17014 from seamuslee001/nl_be_5_25
add nl_BE language
demeritcowboy [Thu, 2 Apr 2020 21:59:21 +0000 (17:59 -0400)]
add nl_BE language
Pradeep Nayak [Tue, 7 Apr 2020 02:16:44 +0000 (03:16 +0100)]
Fixed fatal error for class not found when managed hook is invoked during upgrade
Seamus Lee [Sun, 5 Apr 2020 20:17:23 +0000 (06:17 +1000)]
Merge pull request #16978 from seamuslee001/5.25
Add release-notes/5.24.1
Tim Otten [Sun, 5 Apr 2020 00:50:45 +0000 (17:50 -0700)]
Add release-notes/5.24.1
Seamus Lee [Fri, 3 Apr 2020 23:49:28 +0000 (10:49 +1100)]
Merge pull request #16971 from totten/5.25-seqcredit
dev/financial#84 - Fix upgrade failure. Thin-out activation logic for `sequentialcreditnotes`.
Tim Otten [Fri, 3 Apr 2020 22:22:44 +0000 (15:22 -0700)]
dev/financial#84 - Simplify upgrader. Fix "wp-demo" upgrade scenario.
Steps to reproduce
------------------
* Create a site based on `wp-demo` with Civi 5.21
* Make a DB snapshot
* Update code to 5.24
* In the web UI, run the DB upgrade
* Note: It's important to use the web UI. The problem does not reproduce in CLI.
Before
------
The upgrader freezes on "Upgrade DB to 5.24.alpha1". The `CiviCRM.log` includes:
```
Apr 03 14:41:50 [info] Running task: Upgrade DB to 5.24.alpha1: SQL
Apr 03 14:41:55 [info] Running task: Install sequential creditnote extension
Apr 03 14:42:14 [info] $CRM_Queue_ErrorPolicy_reportError = Array
(
[is_error] => 1
[is_continue] => 0
[exception] => Error 1: Uncaught Error: Class 'CRM_Volunteer_Permission' not found in /home/me/bknix/build/wpmaster/web/wp-content/plugins/civicrm/civicrm/tools/extensions/civivolunteer/volunteer.php:497
Stack trace:
0 /home/me/bknix/build/wpmaster/web/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook.php(286): volunteer_civicrm_permission(Array)
1 /home/me/bknix/build/wpmaster/web/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook/WordPress.php(139): CRM_Utils_Hook->runHooks(Array, 'civicrm_permiss...', 1, Array, NULL, NULL, NULL, NULL, NULL)
2 /home/me/bknix/build/wpmaster/web/wp-content/plugins/civicrm/civicrm/Civi/Core/CiviEventDispatcher.php(86): CRM_Utils_Hook_WordPress->invokeViaUF(1, Array, NULL, NULL, NULL, NULL, NULL, 'civicrm_permiss...')
3 /home/me/bknix/build/wpmaster/web/wp-content/plugins/civicrm/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(184): Civi\Core\CiviEventDispatcher::delegateToUF(Object(Civi\Core\Event\GenericHookEvent), 'hook_civicrm_p
[last_task_title] => Install sequential creditnote extension
)
```
After
-----
The upgrade completes. After installation, the `sequentialcreditnotes` extension is active.
Seamus Lee [Fri, 3 Apr 2020 00:54:34 +0000 (11:54 +1100)]
Merge pull request #16961 from MegaphoneJon/core-1688-525
core#1688 - false positive on missing custom field check
Jon Goldberg [Thu, 2 Apr 2020 18:07:33 +0000 (14:07 -0400)]
core#1688 - false positive on missing custom field check
CiviCRM [Thu, 2 Apr 2020 05:26:58 +0000 (05:26 +0000)]
Set version to 5.25.beta1
Tim Otten [Thu, 2 Apr 2020 04:57:15 +0000 (21:57 -0700)]
Merge pull request #16753 from agh1/consolidated-php-version
dev/core#1528 - Consolidate to single constant for minimum PHP version
Tim Otten [Thu, 2 Apr 2020 04:21:07 +0000 (21:21 -0700)]
CRM_Report_DAO_ReportInstance - Update checksum
Tim Otten [Thu, 2 Apr 2020 04:14:16 +0000 (21:14 -0700)]
Merge pull request #16948 from eileenmcnaughton/email4
[REF] move buildQuickForm function to the trait
Tim Otten [Thu, 2 Apr 2020 04:11:58 +0000 (21:11 -0700)]
Merge pull request #16951 from colemanw/dirtyMoney
Revert "APIv4 - Fix contribution create"
Coleman Watts [Thu, 2 Apr 2020 01:21:10 +0000 (21:21 -0400)]
Revert "APIv4 - Fix contribution create"
This reverts commit
2f97c5641cceec44c02585c2d1d212bda1c6228e.
It should no longer be needed due to the improvement made in
243320eda23195985815ceb65ec7ee9079ae3014.
Seamus Lee [Thu, 2 Apr 2020 00:40:14 +0000 (11:40 +1100)]
Merge pull request #16950 from eileenmcnaughton/clean_money
Remove deprecated cleaning of money in the BAO layer
eileen [Wed, 1 Apr 2020 23:01:00 +0000 (12:01 +1300)]
Remove deprecated cleaning of money in the BAO layer
Any code that passed dirty money to the Contribution::create BAO will have been seeing
deprecation notices for some time. The supported method is via the api & v3 api does the cleaning
whereas v4 expects it to be pre-cleaned - perhaps it's time to remove this & leave it to the
calling code
Eileen McNaughton [Wed, 1 Apr 2020 22:57:04 +0000 (11:57 +1300)]
Merge pull request #16947 from colemanw/groupByFunctions
APIv4 - Support GROUP BY and aggregate functions
Eileen McNaughton [Wed, 1 Apr 2020 22:33:31 +0000 (11:33 +1300)]
Merge pull request #16943 from jitendrapurohit/core-1682
dev/core#1682 - Invalid currency on sending offline membership receipt.
Tim Otten [Wed, 1 Apr 2020 22:06:31 +0000 (15:06 -0700)]
Merge pull request #16919 from jaapjansma/dev-1674
dev/core#1674: fix rebuilding of container on every request
Tim Otten [Wed, 1 Apr 2020 22:03:33 +0000 (15:03 -0700)]
(REF) CRM_Api4_Services - Cleanup extra comment/try/catch
eileen [Tue, 31 Mar 2020 22:19:44 +0000 (11:19 +1300)]
[REF] move buildQuickForm function to the trait
Note that Contact had an extra assign. It seems likely the extra assign is not required but it
would not be a bad thing on the others
colemanw [Wed, 1 Apr 2020 21:51:26 +0000 (17:51 -0400)]
Merge pull request #16940 from eileenmcnaughton/email4
[REF] Move properties to Trait
Coleman Watts [Wed, 1 Apr 2020 21:26:32 +0000 (17:26 -0400)]
APIv4 - Fix contribution create
Coleman Watts [Tue, 31 Mar 2020 21:33:19 +0000 (17:33 -0400)]
APIv4 - Add SQL expression handling and aggregate functions
Adds a series of SqlExpression classes to parse and validate sql expressions used in SELECT, GROUP BY and ORDER BY clauses.
The framework can handle most sql functions, but this first commit adds support for the aggregate functions AVG, COUNT, MAX, MIN & SUM
Eileen McNaughton [Wed, 1 Apr 2020 21:33:16 +0000 (10:33 +1300)]
Merge pull request #16941 from jitendrapurohit/16845-followup
Follow up PR for #16845 - Fix form error when variable is NULL
Eileen McNaughton [Wed, 1 Apr 2020 21:24:33 +0000 (10:24 +1300)]
Merge pull request #16945 from lcdservices/dev-core-1683
fixes dev/core#1683 set profile frontend title
Coleman Watts [Mon, 30 Mar 2020 16:22:43 +0000 (12:22 -0400)]
Api4SelectQuery - add more metadata to apiFieldSpec
Coleman Watts [Sat, 21 Mar 2020 23:48:24 +0000 (19:48 -0400)]
APIv4 - Add rudimentary support for groupBy
Seamus Lee [Wed, 1 Apr 2020 21:06:01 +0000 (08:06 +1100)]
Merge pull request #16946 from civicrm/5.24
5.24
Seamus Lee [Wed, 1 Apr 2020 20:40:40 +0000 (07:40 +1100)]
Merge pull request #16944 from alifrumin/5.24-rn
[NFC] adding late changes to release notes for 5.24
Brian Shaughnessy [Wed, 1 Apr 2020 18:52:10 +0000 (14:52 -0400)]
fixes dev/core#1683 set profile frontend title
Alice Frumin [Wed, 1 Apr 2020 15:37:42 +0000 (11:37 -0400)]
late changes to release notes
Jitendra Purohit [Wed, 1 Apr 2020 11:32:30 +0000 (17:02 +0530)]
dev/core#1682 - Invalid currency on sending offline membership receipt.
Jitendra Purohit [Wed, 1 Apr 2020 10:50:08 +0000 (16:20 +0530)]
Follow up PR for #16845 - Fix form error when variable is NULL
eileen [Tue, 31 Mar 2020 22:14:44 +0000 (11:14 +1300)]
Move properties to Trait
colemanw [Wed, 1 Apr 2020 09:37:32 +0000 (05:37 -0400)]
Merge pull request #16935 from eileenmcnaughton/email_common
[REF] Start transitioning EmailCommon class to a trait
Tim Otten [Wed, 1 Apr 2020 08:00:07 +0000 (01:00 -0700)]
dev/core#1674 - Update container cache when folder is removed or created
Conceptually, you want to:
* (A) Keep the container cache when nothing has changed (regardless of whether that status-quo has an API4 subscriber folder).
* (B) Update the cache if Civi/Api4/Event/Subscriber/*.php has been newly created
* (C) Update the cache if Civi/Api4/Event/Subscriber/*.php has been newly removed
To test this out, I hacked `Civi\Core\Container::loadContainer()` to emit a debug message
to indicate if it is reusing the cache or updating. Then, I prepared two terminals for running alternate steps:
* In terminal 1, go back and forth with adding/removing folders/files like `Civi/Api4/Event/Subscriber`.
* In terminal 2, periodically run `cv ev 'echo "Hello\n";'` and note whether the cache is update.
In this way, we can see if a developer action (adding a file) leads to an automatic update in the cache.
I found that the previous commit fixed (A) and did (C), but it failed to
update per (B). This commit should handle (A), (B), and (C).