Tim Otten [Sun, 23 Aug 2020 01:00:20 +0000 (18:00 -0700)]
CRM_Core_Resources - Move addCoreStyles to 'coreStyles' bundle
Tim Otten [Sun, 23 Aug 2020 00:54:42 +0000 (17:54 -0700)]
CRM_Core_Resources_Common - Add skeleton for bundles, 'coreStyles' and 'coreResources'
Tim Otten [Tue, 18 Aug 2020 05:05:02 +0000 (22:05 -0700)]
CRM_Core_Resources::addCoreResources - Option `$region` is not meaningfully used
If you grep universe for `addCoreResources` and `addCoreStyles`, all matches
fall into these buckets:
1. They use the implicit default region.
2. They explicitly use the `html-header` region.
3. (Singular case) addCoreResources($region) delegates to addCoreStyles($region);
but given 1+2, this must still be `html-header`.
Tim Otten [Tue, 18 Aug 2020 04:20:29 +0000 (21:20 -0700)]
CollectionTrait - Add corresponding unit-test coverage (via RegionTest, BundleTest)
Tim Otten [Mon, 24 Aug 2020 02:15:53 +0000 (19:15 -0700)]
(NFC) CollectionTrait - Reconcile docblocks
Tim Otten [Tue, 18 Aug 2020 03:45:29 +0000 (20:45 -0700)]
CollectionTrait - Use "splats". Split out "adders". Define interfaces.
In the prior commits, the signatures for `addScriptFile()`,
`addScriptUrl()`, etc are not strictly interoperable between
`CRM_Core_Resources` and `CollectionTrait`. This is because they use
key-value options instead of positional options. This makes it easier
disregard positional options that don't make sense (e.g. when calling
`CRM_Core_Region::addScriptFile()`, it's silly to reserve a positional
argument for the `$region` option).
The signatures *can* be unified by using "splats" (ie `...$options`) to
accept either key-value options or backward-compatible positional options.
The ultimate is hope is that:
* `CRM_Core_Resources`, `CRM_Core_Region`, and `CRM_Core_Bundle` all
implement the `CollectionAdderInterface`.
* `CRM_Core_Resources`, `CRM_Core_Region`, and `CRM_Core_Bundle` all
accept options in either format (key-value or positional).
* The positional format will fade-away.
The methods in CollectionTrait are newer terrain, so it's safer to change
those signatures, so we do that first.
Note that CollectionTrait formally builds on CollectionAdderTrait. This
ensures that IDE navigation to (eg) `CRM_Core_Region::add()` and
`CRM_Core_Resources_Bundle::add()` works as expected.
Tim Otten [Mon, 24 Aug 2020 01:49:44 +0000 (18:49 -0700)]
Add "Bundle" support - ie an unattached, mixable list of resources
Tim Otten [Tue, 18 Aug 2020 02:56:43 +0000 (19:56 -0700)]
CollectionTrait - Model scriptFile and styleFile as distinct types
Tim Otten [Tue, 18 Aug 2020 02:54:08 +0000 (19:54 -0700)]
CollectionTrait - Support merge()
Tim Otten [Wed, 5 Aug 2020 13:57:14 +0000 (06:57 -0700)]
CollectionTrait - Support addScriptFile(), addStyleFile()
Tim Otten [Wed, 5 Aug 2020 11:29:59 +0000 (04:29 -0700)]
CollectionTrait - Support addSetting(), addSettingsFactory(), ad nauseum
Tim Otten [Wed, 5 Aug 2020 11:11:25 +0000 (04:11 -0700)]
CollectionTrait - Support addScript(), addScriptUrl(), addStyle(), addStyleUrl()
Tim Otten [Wed, 5 Aug 2020 11:47:34 +0000 (04:47 -0700)]
CollectionTrait - Support getAll(), filter(), find(), and clear()
Tim Otten [Wed, 5 Aug 2020 12:44:00 +0000 (05:44 -0700)]
(REF) CRM_Core_Region - Extract $renderSnippet()
This makes it possible for renderSnippet to work recursively.
For example, the current `jquery` type can build on the `script` type, and
the hypothetical `scriptFile` type could build on the `scriptUrl` type.
Tim Otten [Wed, 5 Aug 2020 10:51:14 +0000 (03:51 -0700)]
CollectionTrait - Create baseline trait based on CRM_Core_Region
Tim Otten [Wed, 5 Aug 2020 09:18:21 +0000 (02:18 -0700)]
CRM_Core_Resources - Convert 'settings' to a type of snippet
Tim Otten [Wed, 5 Aug 2020 13:49:01 +0000 (06:49 -0700)]
(REF) CRM_Core_Resources_Strings - Move instance into container
Eileen McNaughton [Thu, 3 Sep 2020 21:48:38 +0000 (09:48 +1200)]
Merge pull request #18339 from eileenmcnaughton/line
Move ACls on LineItem create to financialacls core extension
Seamus Lee [Thu, 3 Sep 2020 21:14:41 +0000 (07:14 +1000)]
Merge pull request #18262 from colemanw/renderSettings
Take the guesswork out of rendering clientside CRM variables
Eileen McNaughton [Thu, 3 Sep 2020 20:58:58 +0000 (08:58 +1200)]
Merge pull request #18321 from mattwire/completeorder_filter
REF Filter params in completetransaction
Seamus Lee [Thu, 3 Sep 2020 20:53:09 +0000 (06:53 +1000)]
Merge pull request #18328 from eileenmcnaughton/partial
Remove unused deprecated handling for partial_amount_to_pay
eileen [Thu, 3 Sep 2020 08:13:01 +0000 (20:13 +1200)]
Move ACls on LineItem create to financialacls core extension
Eileen McNaughton [Thu, 3 Sep 2020 20:07:20 +0000 (08:07 +1200)]
Merge pull request #18329 from pradpnayak/userRegistration
Do not block user incase 'Require approval' is checked
Matthew Wire [Thu, 3 Sep 2020 09:59:22 +0000 (10:59 +0100)]
Merge pull request #18337 from eileenmcnaughton/ref
Remove pass-by-ref in PaypalProIPN::single
Matthew Wire [Thu, 3 Sep 2020 09:58:57 +0000 (10:58 +0100)]
Merge pull request #18318 from eileenmcnaughton/cancel
[REF] Add test for existing Participant batch update cancel and fix to not call BaseIPN->cancelled
CiviCRM [Thu, 3 Sep 2020 09:13:24 +0000 (09:13 +0000)]
Set version to 5.31.alpha1
CiviCRM [Thu, 3 Sep 2020 09:05:29 +0000 (09:05 +0000)]
Set version to 5.30.beta1
Tim Otten [Thu, 3 Sep 2020 09:03:50 +0000 (02:03 -0700)]
Merge pull request #18335 from eileenmcnaughton/query
Add ability to enable query logging per process
eileen [Thu, 3 Sep 2020 03:40:47 +0000 (15:40 +1200)]
Add ability to enable query logging per process
This allows us to run a command such as
env CIVICRM_DEBUG_LOG_QUERY=1 drush cvapi Contact.get
and the queries for that process (but not others) are logged.
This facilitates a cleaner record of queries as it is just one process and more flexibility
(and less risk of leaving it on by mistake)
eileen [Thu, 3 Sep 2020 04:18:36 +0000 (16:18 +1200)]
Remove pass-by-ref in PaypalProIPN::single
This is called from 2 places. Neither use the values again & neither receive any pass-by-reference values
themselves
Seamus Lee [Thu, 3 Sep 2020 02:28:21 +0000 (12:28 +1000)]
Merge pull request #18334 from civicrm/5.29
5.29
Seamus Lee [Thu, 3 Sep 2020 02:26:37 +0000 (12:26 +1000)]
Merge pull request #18333 from totten/5.29-rn-catchup
(NFC) 5.29.0.md - Small updates
Seamus Lee [Thu, 3 Sep 2020 02:25:40 +0000 (12:25 +1000)]
Merge pull request #18332 from totten/5.29-norm-basepage
dev/wordpress#73 - Be more forgiving about slash in wpBasePage
Tim Otten [Thu, 3 Sep 2020 01:25:10 +0000 (18:25 -0700)]
5.29.0.md - Small copy-edits
Seamus Lee [Thu, 3 Sep 2020 01:26:48 +0000 (11:26 +1000)]
Merge pull request #17980 from eileenmcnaughton/dupe
[REF] Move function to delete merged contacts to the Merger class and include all instances of the pair
Tim Otten [Thu, 3 Sep 2020 01:20:30 +0000 (18:20 -0700)]
5.29.0.md - Last minute addition
Tim Otten [Wed, 2 Sep 2020 23:34:27 +0000 (16:34 -0700)]
dev/wordpress#73 - Be more forgiving about slash in wpBasePage
Overview
--------
The correct functioning of `wpBasePage` depends on whether the administrator
omitted or added a trailing slash. This is apparent on URLs with a trailing slash, eg
```
http://wpmaster.bknix:8001/civicrm/contribute/transact/?reset=1&id=1
```
Make it less sensitive.
Before
------
URL is OK with default setting `wpBasePage=civicrm`
URL fails with setting `wpBasePage=civicrm/`
After
-----
URL is OK with either setting `wpBasePage=civicrm` or `wpBasePage=civicrm/`
Technical Details
-----------------
I believe the old symptom arose because of the formula which produces the WP
rewrite rules (`'^' . $config->wpBasePage . '/([^?]*)?'`) expects that
there is no trailing slash. You could theoretically patch there, but this
seems like it'll provide more thorough normalization.
When testing, the results affect the WP rewrite rules, so you may need to be particularly
aggressive about clearing caches whenever you make a change in code or settings, eg
```
wp cache flush ; cv flush; wp rewrite flush
```
Eileen McNaughton [Thu, 3 Sep 2020 00:15:25 +0000 (12:15 +1200)]
Merge pull request #18323 from demeritcowboy/reminder-groups-dropdown
dev/core#1956 - Typo in call to nestedGroup on scheduled reminders admin form
Pradeep Nayak [Wed, 2 Sep 2020 23:19:19 +0000 (00:19 +0100)]
Do not block user incase 'Require approval' is checked
Seamus Lee [Wed, 2 Sep 2020 23:22:26 +0000 (09:22 +1000)]
Merge pull request #18327 from civicrm/5.29
5.29
Eileen McNaughton [Wed, 2 Sep 2020 22:10:15 +0000 (10:10 +1200)]
Merge pull request #18325 from aydun/spec_fix
dev/mail#24, item 1 - Fix spec labels MailingEventSubscribe.create
eileen [Wed, 2 Sep 2020 22:06:24 +0000 (10:06 +1200)]
Remove deprecated handling for partial_amount_to_pay
We added deprecation notices back in Feb when we stopped using these params in core. They were never truly
supported for extensions but we deprecated in case someone was doing something odd. However, it's
7 months on so time to cleanup
Seamus Lee [Wed, 2 Sep 2020 21:23:46 +0000 (07:23 +1000)]
Merge pull request #18326 from agh1/5.29.0-releasenotes
5.29.0 release notes final
Eileen McNaughton [Wed, 2 Sep 2020 19:59:36 +0000 (07:59 +1200)]
Merge pull request #18320 from civicrm/5.29
5.29
Andrew Hunt [Wed, 2 Sep 2020 19:19:00 +0000 (15:19 -0400)]
5.29.0 release notes: get sections in right order
Andrew Hunt [Wed, 2 Sep 2020 19:14:34 +0000 (15:14 -0400)]
5.29.0 release notes: finished writing
Alice Frumin [Tue, 1 Sep 2020 21:02:10 +0000 (17:02 -0400)]
sorting and annotating
Alice Frumin [Tue, 1 Sep 2020 18:15:29 +0000 (14:15 -0400)]
commenting and sorting
Alice Frumin [Tue, 1 Sep 2020 17:16:51 +0000 (13:16 -0400)]
5.29 Release Notes first pass
Aidan Saunders [Wed, 2 Sep 2020 18:54:53 +0000 (19:54 +0100)]
Fix spec labels - see dev/mail#24, item 1
demeritcowboy [Wed, 2 Sep 2020 14:35:18 +0000 (10:35 -0400)]
typo in call to nestedGroup
Matthew Wire [Tue, 1 Sep 2020 21:55:05 +0000 (22:55 +0100)]
Filter params in completetransaction
Seamus Lee [Wed, 2 Sep 2020 09:33:15 +0000 (19:33 +1000)]
Merge pull request #18319 from seamuslee001/5.29
5.28.4 release notes
Matthew Wire [Wed, 2 Sep 2020 09:22:09 +0000 (10:22 +0100)]
Merge pull request #18315 from eileenmcnaughton/ordergo
[REF] Remove most interaction with $objects in completeOrder
Seamus Lee [Wed, 2 Sep 2020 08:46:27 +0000 (18:46 +1000)]
Merge pull request #18295 from eileenmcnaughton/linetests
Test & remove handling for max_related in renewal form
Tim Otten [Tue, 1 Sep 2020 23:19:19 +0000 (16:19 -0700)]
Fix anchors in release-notes/5.28.3.md
Tim Otten [Tue, 1 Sep 2020 23:08:39 +0000 (16:08 -0700)]
Add release-notes/5.28.4.md
eileen [Wed, 2 Sep 2020 06:43:08 +0000 (18:43 +1200)]
[REF] Add test for existing Participant batch update cancel and fix to not call BaseIPN->cancelled
I dug into what is 'achieved' by calling BaseIPN->cancelled here and everything except the bit where the contribution
is updated to cancelled is actually bypassed so a simple api call suffices.
I also discovered the cancellation of the contribution is highly conditional and arguably illogical. I will separately
log a gitlab to discuss whether it still makes sense, but I wouldn't want that discussion to derail this
no-change cleanup
Eileen McNaughton [Wed, 2 Sep 2020 00:11:34 +0000 (12:11 +1200)]
Merge pull request #18316 from civicrm/5.29
5.29 to master
Eileen McNaughton [Wed, 2 Sep 2020 00:11:08 +0000 (12:11 +1200)]
Merge pull request #18272 from eileenmcnaughton/custchange
dev/core#1974 Fix incorrect handling of serialize key when changing custom field type
Eileen McNaughton [Wed, 2 Sep 2020 00:06:07 +0000 (12:06 +1200)]
Merge pull request #18307 from agh1/5.29.0-releasenotes-initial
5.29.0 release notes initial run
Eileen McNaughton [Wed, 2 Sep 2020 00:05:30 +0000 (12:05 +1200)]
Merge pull request #18310 from colemanw/revert-18005
Revert #18005 Fix buggy placement of icons
Eileen McNaughton [Wed, 2 Sep 2020 00:03:30 +0000 (12:03 +1200)]
Merge pull request #18311 from mattwire/repeattrxn_unused
REF Remove unused passbyreference and var from ipn_process_transaction
eileen [Tue, 1 Sep 2020 23:54:40 +0000 (11:54 +1200)]
[REF] Remove most interaction with
With this change we are only looking up
1) objects['paymentProcessor'] - we should probably just pass in the id
2) objects['contribution'] - we could make this a param in it's own right & remove objects
3) objects['event'] - just used to get event title - we could do a query off participant
Noah Miller [Tue, 1 Sep 2020 22:23:25 +0000 (15:23 -0700)]
dev/core#1974 - ChangeFieldType - "Select (w/serialize)" field should be treated like older "Multi-Select" fields
Matthew Wire [Tue, 1 Sep 2020 21:41:21 +0000 (22:41 +0100)]
Remove unused passbyreference and var from ipn_process_transaction
Coleman Watts [Tue, 1 Sep 2020 20:48:57 +0000 (16:48 -0400)]
Revert #18005 Fix buggy placement of icons
Eileen McNaughton [Tue, 1 Sep 2020 19:43:56 +0000 (07:43 +1200)]
Merge pull request #18304 from highfalutin/noah/dev-core-1974
dev/core#1974: correct UI regression on custom field edit
Andrew Hunt [Tue, 1 Sep 2020 15:18:38 +0000 (11:18 -0400)]
5.29.0 release notes: yank changes already in 5.8.x
Andrew Hunt [Tue, 1 Sep 2020 15:18:07 +0000 (11:18 -0400)]
5.29.0 release notes: added boilerplate
Andrew Hunt [Tue, 1 Sep 2020 15:08:02 +0000 (11:08 -0400)]
5.29.0 release notes: raw from script
Matthew Wire [Tue, 1 Sep 2020 11:13:37 +0000 (12:13 +0100)]
Merge pull request #18303 from eileenmcnaughton/event_batch
[REF] Clean up return variables on updateContributionStatus, updatePendingOnlineContribution
Matthew Wire [Tue, 1 Sep 2020 11:11:27 +0000 (12:11 +0100)]
Merge pull request #18279 from eileenmcnaughton/ordertest
Fix test set up to call Order.create to create the correct line items
Matthew Wire [Tue, 1 Sep 2020 11:10:19 +0000 (12:10 +0100)]
Merge pull request #18294 from eileenmcnaughton/linecreate
[REF] Separate and move line-item specific portion of checkTaxAmount to LineItem api
Seamus Lee [Tue, 1 Sep 2020 10:10:00 +0000 (20:10 +1000)]
Merge pull request #18305 from civicrm/5.29
5.29
Seamus Lee [Tue, 1 Sep 2020 09:12:06 +0000 (19:12 +1000)]
Merge pull request #18293 from eileenmcnaughton/fin
Move LineItem acl handling from v3 api to financialacls core extension
Seamus Lee [Tue, 1 Sep 2020 09:04:48 +0000 (19:04 +1000)]
Merge pull request #18290 from eileenmcnaughton/tax
dev/core#1983 Fix to tax calculation on multi-line-item
Noah Miller [Tue, 1 Sep 2020 06:38:30 +0000 (23:38 -0700)]
Custom field create/edit form: replace dysfunctional checkbox with static label in edit mode
Seamus Lee [Tue, 1 Sep 2020 04:51:04 +0000 (14:51 +1000)]
Merge pull request #17810 from seamuslee001/negative_payment_create
[REF] Fix financial item allocation of negative payments against completed payments
eileen [Tue, 1 Sep 2020 03:21:50 +0000 (15:21 +1200)]
[REF] Clean up return variables on updateContributionStatus, updatePendingOnlineContribution
The return variable from updatePendingOnlineContribution is never used - ergo don't return it. This means
the return value from updateContributionStatus is also never used - ergo - you get it. In addition don't call the function
with empty variables - I've moved the check as to whether they are empty into the calling function - although likely
in a second pass the checks will be removed or change again
Eileen McNaughton [Tue, 1 Sep 2020 01:01:07 +0000 (13:01 +1200)]
Merge pull request #18237 from mattwire/mailingsearchcolumns
Remove 'hack' that overwrites result of searchColumns hook in mailings list
Eileen McNaughton [Tue, 1 Sep 2020 00:15:12 +0000 (12:15 +1200)]
Merge pull request #18302 from civicrm/5.29
5.29 to master
Eileen McNaughton [Tue, 1 Sep 2020 00:14:35 +0000 (12:14 +1200)]
Merge pull request #18301 from demeritcowboy/dev-core-1982-5.29
dev/core#1982 - 5.29 version of PR 18282
Seamus Lee [Mon, 13 Jul 2020 04:38:20 +0000 (14:38 +1000)]
[REF] permit negative payments to be made against completed payments
Add in unit test for adding additional refund payment to contribution already refunded and also adding a negative payment to a contribution that is negative already
demeritcowboy [Mon, 31 Aug 2020 21:58:56 +0000 (17:58 -0400)]
faulty check for simplexml node value - see also PR 18282
Eileen McNaughton [Mon, 31 Aug 2020 19:57:05 +0000 (07:57 +1200)]
Merge pull request #18067 from MegaphoneJon/event-34-reroll
event#34: allow negative self-service/transfer time
colemanw [Mon, 31 Aug 2020 19:45:22 +0000 (15:45 -0400)]
Merge pull request #18292 from eileenmcnaughton/receipt
Add test to check, remove unnecessary lines
Eileen McNaughton [Mon, 31 Aug 2020 19:42:26 +0000 (07:42 +1200)]
Merge pull request #18300 from MegaphoneJon/clean-non-deductible
Clean money for non-deductible amount
colemanw [Mon, 31 Aug 2020 19:22:53 +0000 (15:22 -0400)]
Merge pull request #18291 from eileenmcnaughton/depit
[REF] [test] Slight increase in test cover & make functions more re-usable
colemanw [Mon, 31 Aug 2020 19:21:58 +0000 (15:21 -0400)]
Merge pull request #18296 from eileenmcnaughton/curr_member
[REF] simplify retrieval of existing membership on membership renewal form
Jon Goldberg [Sat, 29 Aug 2020 15:48:11 +0000 (11:48 -0400)]
Clean money for non-deductible amount
tests
eileen [Mon, 31 Aug 2020 01:00:14 +0000 (13:00 +1200)]
Add test to check, remove unnecessary lines
Per the code comment it was likely the removed lines were not needed but tests were required to confirm.
This does that
Eileen McNaughton [Mon, 31 Aug 2020 06:38:07 +0000 (18:38 +1200)]
Merge pull request #18288 from KarinG/extend_testSubmitContributionPageWithPriceSetQuantity
extend_testSubmitContributionPageWithPriceSetQuantity
eileen [Mon, 31 Aug 2020 04:42:15 +0000 (16:42 +1200)]
[REF] simplify retrieval of existing membership on membership renewal form
After stepping through the code I determined that if membershipID is passed into getContactMembership then it either
1) returns the membership id much like membership.get but with is_current_member calculated or
2) returns the owner membership in a similar format
However, the renewal form is not visible for a non-owner membership so getting the owner membership is cruft
from another form & only 1 applies. Calling the api is much more transparent
eileen [Mon, 31 Aug 2020 04:15:37 +0000 (16:15 +1200)]
Test & remove handling for max_related in renewal form
max_related is not a field on the renewal form - the handling appears to exist purely because
at some stage the BAO was not able to calculate it - however, as the test demonstrates that is
no longer the case
Eileen McNaughton [Mon, 31 Aug 2020 02:26:26 +0000 (14:26 +1200)]
Merge pull request #18283 from aydun/class_api_tweak
Improve robustness of api/class.api.php
eileen [Mon, 31 Aug 2020 02:14:32 +0000 (14:14 +1200)]
[REF] Separate and move line-item specific portion of checkTaxAmount to LineItem
This is not intended to be the final place but making sense of checkTaxAmount is hard so I wanted to keep this simple and
iterate.
checkTaxAmount is called from 2 places - once from v3 LineItem.create with isLineItem = TRUE
and once from Contribution.create with isLineItem = FALSE
Most of the function is accessible dependent on isLineItem - meaning it's 2 separate functions.
However, the first chuck is called 'whenever id is set'. BUT it makes no sense for line items. It
uses the 'id' - regardless of whether it is a line item id or a contribution id - to get the previous
contribution. It then sets tax amount based on a comparison - but
that really makes zero sense. I'm pretty sure it was never intended to be used for LineItems
eileen [Mon, 31 Aug 2020 01:51:03 +0000 (13:51 +1200)]
Move LineItem acl handling from v3 api to financialacls extension
This makes it available for the v4 api
eileen [Sun, 30 Aug 2020 22:10:35 +0000 (10:10 +1200)]
dev/core#1983 Fix to tax calculation on multi-line-item
This is similar to https://github.com/civicrm/civicrm-core/pull/18284 - it differs in that the totals are calculated by iterating
through the line item array afterwards, rather than expecting the 'getLine' function to calculate totals. Some
obvious follow ups suggest themselves but I will look against master.
This is difficult to test (Karin gave it a really good shot) because of the weird way it's calculated in Main and thenn
used in Confirm. Cleanup should resolve the testability issue too
KarinG [Mon, 31 Aug 2020 01:01:41 +0000 (19:01 -0600)]
extend_testSubmitContributionPageWithPriceSetQuantity