eileen [Sat, 5 Sep 2020 04:03:30 +0000 (16:03 +1200)]
Remove deprecated ids param
Seamus Lee [Sat, 5 Sep 2020 02:45:29 +0000 (12:45 +1000)]
Merge pull request #18357 from eileenmcnaughton/fail
[REF] Simplify logic on calling self::updateContributionStatus
Seamus Lee [Sat, 5 Sep 2020 02:05:57 +0000 (12:05 +1000)]
Merge pull request #18340 from pradpnayak/lineItemFix
Fixed pre hook params for LineItem
Seamus Lee [Sat, 5 Sep 2020 01:19:31 +0000 (11:19 +1000)]
Merge pull request #18350 from eileenmcnaughton/payguzz
dev/financial#143 Convert Paypal Pro to use Guzzle
Seamus Lee [Sat, 5 Sep 2020 00:56:56 +0000 (10:56 +1000)]
Merge pull request #18358 from eileenmcnaughton/event
Use eventID rather than the object in completeTransaction
Eileen McNaughton [Sat, 5 Sep 2020 00:54:37 +0000 (12:54 +1200)]
Merge pull request #18354 from totten/master-bs3b
dev/user-interface#27 - Define a "bootstrap3" bundle (skeleton)
Eileen McNaughton [Sat, 5 Sep 2020 00:43:52 +0000 (12:43 +1200)]
Merge pull request #18359 from eileenmcnaughton/load
dev/core#1921 Remove some places where the ghost of 2014 is getting special love
Seamus Lee [Fri, 4 Sep 2020 23:29:07 +0000 (09:29 +1000)]
Merge pull request #18246 from sunilpawar/report_45
report#45 Ability to Search Smart or Normal Group using additional filter on Manage Group page
Pradeep Nayak [Fri, 4 Sep 2020 23:20:38 +0000 (00:20 +0100)]
Fixed pre hook params for LineItem
eileen [Fri, 4 Sep 2020 22:39:33 +0000 (10:39 +1200)]
Remove some places where the ghost of 2014 is getting special love
per https://lab.civicrm.org/dev/core/-/issues/1921 we fixed the root cause of this 6 years ago....
eileen [Fri, 4 Sep 2020 22:18:35 +0000 (10:18 +1200)]
Use eventID rather than the object in completeTransaction
This allows us to stop passing it in as an object as a follow up. It potentially does an extra query but this is
mitigated by
1) it only does a look up if the contribution does not already have a source (rare)
2) it uses a pseudoconstant so would only look up a given event once
- we can later remove the whole loading of event and just get the id from the participant record
Seamus Lee [Fri, 4 Sep 2020 21:45:50 +0000 (07:45 +1000)]
Merge pull request #18147 from eileenmcnaughton/ex_type
Improve consistency of metadata type declarations
eileen [Fri, 4 Sep 2020 21:19:01 +0000 (09:19 +1200)]
[REF] Simplify logic on calling self::updateContributionStatus
self::updateContributionStatus is only called when contributionStatusId has been set - there is only
one place that is set so move the code up there rather than set a param to trigger action further down
Matthew Wire [Fri, 4 Sep 2020 15:32:43 +0000 (16:32 +0100)]
Merge pull request #18348 from eileenmcnaughton/kg
Fix test to use validateAllContributions
Matthew Wire [Fri, 4 Sep 2020 10:34:09 +0000 (11:34 +0100)]
Merge pull request #18331 from eileenmcnaughton/refs
Stop passing / using object when all we need is the id
Matthew Wire [Fri, 4 Sep 2020 10:32:45 +0000 (11:32 +0100)]
Merge pull request #18343 from eileenmcnaughton/fail
Minor code cleanup - this is only ever called from one place so component is always event
eileen [Fri, 4 Sep 2020 01:38:03 +0000 (13:38 +1200)]
Fix test to use validateAllContributions
Tim Otten [Fri, 4 Sep 2020 06:56:46 +0000 (23:56 -0700)]
Bootstrap3 - Move warning from Api4Explorer to bundle default
The Api4Explorer page has a neat trick - if (by any means) you manage to
have Bootstrap3 active within the body of this Civi page, then it will
display a warning.
This patch moves the trick to be part of the `bootstrap3` bundle, which
means that it will be applied to any page where `bootstrap3` is activated.
Tim Otten [Tue, 18 Aug 2020 21:17:52 +0000 (14:17 -0700)]
Api4Explorer - Activate bootstrap3
Tim Otten [Tue, 18 Aug 2020 06:44:28 +0000 (23:44 -0700)]
CRM_Core_Resources - Define 'bootstrap3' bundle
eileen [Fri, 4 Sep 2020 05:47:48 +0000 (17:47 +1200)]
Add expected responses & enble the handler
eileen [Fri, 4 Sep 2020 03:26:33 +0000 (15:26 +1200)]
Convert PaypalPro to use Guzzle - step 1 - prepare to capture
Eileen McNaughton [Fri, 4 Sep 2020 04:06:52 +0000 (16:06 +1200)]
Merge pull request #18346 from eileenmcnaughton/linetes
Preliminary cleanup on test
Seamus Lee [Fri, 4 Sep 2020 00:09:42 +0000 (10:09 +1000)]
Merge pull request #18247 from totten/master-res-coll
Add higher-level support for "bundles" and "collections" of resources
eileen [Thu, 3 Sep 2020 23:51:50 +0000 (11:51 +1200)]
Preliminary cleanup on test
Just fixing unused variables, exception declarations etc
Seamus Lee [Thu, 3 Sep 2020 22:08:09 +0000 (08:08 +1000)]
Update unit tests to match content
Eileen McNaughton [Thu, 3 Sep 2020 22:07:30 +0000 (10:07 +1200)]
Merge pull request #18264 from demeritcowboy/mysql-ssl-guess
dev/core#1926 - Try to autodetect mysql ssl settings from the CMS config
Tim Otten [Wed, 26 Aug 2020 00:11:34 +0000 (17:11 -0700)]
CollectionAdderInterface - Support addMarkup($html)
Tim Otten [Tue, 25 Aug 2020 23:53:47 +0000 (16:53 -0700)]
(REF) CRM_Core_Resources::addBundle() - Improve readability. Add test.
Tim Otten [Tue, 25 Aug 2020 23:54:30 +0000 (16:54 -0700)]
(NFC) CRM_Core_Resources::addBundle() - More explanatory comments.
Tim Otten [Tue, 25 Aug 2020 22:35:30 +0000 (15:35 -0700)]
(NFC) Docblock tweaks
Tim Otten [Tue, 25 Aug 2020 04:26:23 +0000 (21:26 -0700)]
Forward port https://github.com/civicrm/civicrm-core/pull/18141
Tim Otten [Mon, 24 Aug 2020 10:10:33 +0000 (03:10 -0700)]
CRM_Core_Resources - Use splats, CollectionAdderTrait, CollectionAdderInterface
Before
------
`CRM_Core_Resources` directly implements a number of functions (`addFoo()`)
After
-----
`CRM_Core_Resources` re-uses the implementations from `CollectionAdderTrait`
Comment
-------
The method signatures in `CollectionAdderTrait` look different, but they are
compatible. In particular, the use of splat (`...$options`) means that they
can accept either key-value options or positional options. The existing
test-cases in `CollectionTestTrait` assert as much.
Tim Otten [Mon, 24 Aug 2020 09:47:22 +0000 (02:47 -0700)]
CollectionAdderTrait - Use secondary ordering more akin to CRM_Core_Resources
This is a very subtle behavioral change. To understand it, we must consider
the traditional ordering in `CRM_Core_Resources::addScriptUrl()` and
`CRM_Core_Region::add()`. Compare these two examples:
```
Civi::resources()->addScriptUrl('http://example.com/foo.js', 100, 'page-footer');
Civi::resources()->addScriptUrl('http://example.com/bar.js', 100, 'page-footer');
CRM_Core_Region::instance('page-footer')->add([
'scriptUrl' => 'http://example.com/foo.js',
'weight' => 100,
]);
CRM_Core_Region::instance('page-footer')->add([
'scriptUrl' => 'http://example.com/bar.js',
'weight' => 100,
]);
```
You might expect this to output `<SCRIPT>`s in the same order. After all,
the examples use the same URLs, the same weights, and the same
procedural/natural order. Moreover, `Civi::resources()` is just a wrapper
for `CRM_Core_Region`. Surely they were the same!
They were not. The output order would differ.
The reason is that the ordering had two keys (`weight,name`), and the
secondary-key (`name`) was hidden from us:
* In `CRM_Core_Resources::addScriptUrl()`, the default `name` was the URL.
This was handy for de-duping resources.
* In `CRM_Core_Region::add()`, the default `name` was a numeric position.
This made it behave like procedural/natural-ordering.
Of course, the goal in this branch is to make various collections support
the same methods and the same behaviors. But they didn't agree before, so
something has to give. Either:
1. Standardize on the behavior of `Resources::addScriptUrl()` and change `Region::add(scriptUrl)`.
2. Standardize on the behavior of `Region::add(scriptUrl)` and change `Resources::addScriptUrl()`.
3. Embrace a split. All `CRM_Core_Resources::add*()` behave one way, and all `CRM_Core_Region::add*()` behave another.
4. Embrace a split. All rich adders (`*::addScriptUrl()`) behave one way, and all generic adders (`*::add()`) behave another.
This developmental branch has been using `#3`. The patch changes it to `#4`.
Both splits achieve backward compatibility wrt `Resources::addScriptUrl()`
and `Region::add(scriptUrl)`. The difference is that `#4` allows us to have
the same behavior in all collections (regardless of subtype), which means
that collections can be more interoperable and share more code. From my
POV, it's still quirkier than `#1` or `#2`, but it's not as quirky as `#3`.
Tim Otten [Sun, 23 Aug 2020 03:30:02 +0000 (20:30 -0700)]
CRM_Core_Resources - Move addCoreResources to 'coreResources' bundle
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
Eileen McNaughton [Thu, 3 Sep 2020 21:53:09 +0000 (09:53 +1200)]
Merge pull request #18344 from civicrm/5.30
5.30
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
Seamus Lee [Thu, 3 Sep 2020 20:51:46 +0000 (06:51 +1000)]
Merge pull request #18342 from agh1/5.30.0-releasenotes-initial
5.30.0 release notes initial run
eileen [Thu, 3 Sep 2020 20:22:43 +0000 (08:22 +1200)]
Minor code cleanup - this is only ever called from one place so component is alwasy event
eileen [Thu, 3 Sep 2020 00:08:50 +0000 (12:08 +1200)]
Stop passing / using object when all we need is the id
Rather than set id on the contribution object just to be able to access it via contribution->id
let's name the param we keep using & use that. Note I'm still getting contribution->id from contribution
here but I think this makes it clear that the object is mostly only used in addActivity now.
The sligtly larger change is in updateMembershipBasedOnCompletionOfContribution where there is
an instantiation of 'self()' since we no longer have the object
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
Andrew Hunt [Thu, 3 Sep 2020 18:53:04 +0000 (14:53 -0400)]
5.30.0 release notes: added boilerplate
Andrew Hunt [Thu, 3 Sep 2020 18:50:46 +0000 (14:50 -0400)]
5.30.0 release notes: raw from script
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