Tim Otten [Mon, 31 May 2021 07:56:03 +0000 (00:56 -0700)]
EventPrinter - More aggressive type-hinting
Tim Otten [Mon, 31 May 2021 07:32:53 +0000 (00:32 -0700)]
For Symfony-style event listeners, encourage use of `void` return
When using Symfony-style listeners, all inputs and outputs for the event go
through the event object.
Note that `hook_*()` notation does allow return values, For these functions,
it is *normal* to return void, but some existing hooks rely on returning
array-data. It could be misleading if we made it appear that all `hook_*()`
examples have to return void.
Tim Otten [Mon, 31 May 2021 07:27:04 +0000 (00:27 -0700)]
HookStyleListener - Convey hook results. Refine type-hints.
Note: This is uncommon and discouraged for new hooks, but some hooks require returning values, e.g
```php
function hook_foo() {
return ['my-data'];
}
```
This should fix compatibility with those.
Tim Otten [Mon, 31 May 2021 07:22:06 +0000 (00:22 -0700)]
EventScanner - More aggressive type-hinting
Tim Otten [Wed, 26 May 2021 23:05:15 +0000 (16:05 -0700)]
(REF) CRM_Api4_Services - Switch to EventScanner
Tim Otten [Wed, 26 May 2021 20:53:54 +0000 (13:53 -0700)]
(REF) RecurringEntity BAO - Switch EventSubscriberInterface
This is just an example of doing declarative event-registration from a BAO.
Tim Otten [Wed, 26 May 2021 07:40:22 +0000 (00:40 -0700)]
(REF) RelationshipCache BAO - Switch to HookInterface
This is just an example of doing declarative event-registration from a BAO.
Tim Otten [Fri, 21 May 2021 18:51:32 +0000 (11:51 -0700)]
BAOs - Allow BAOs to subscribe to hooks/events via `EventSubscriberInterface` or `HookInterface`
Before: There is no pleasant way for a BAO to register a listener for an
event. True, one can use `Civi::dispatch()`, but (lacking a good
initialization point) it's hard to register reliably. True, you can also
add new items to `\Civi\Core\Container::createEventDispatcher()`, but
this is rather out-of-the-way.
After: A BAO class may optionally implement `EventDispatcherInterface` or
`HookInterface`. Methods will be automatically registered. The list
of listeners will be cached in the container.
Tim Otten [Fri, 21 May 2021 02:47:29 +0000 (19:47 -0700)]
CiviTestListener - Move scanning responsibility from 'CiviTestListener' to 'EventScanner'
The removes duplicate code and expands the functionality to support methods
of the form `_on_{$symfony_event}()`.
Tim Otten [Thu, 20 May 2021 23:41:59 +0000 (16:41 -0700)]
CiviTestListener - Provide a variable to identify the active test
Tim Otten [Wed, 26 May 2021 04:40:15 +0000 (21:40 -0700)]
EventScanner - Add utility class which can auto-identify listeners in an object
```
$map = EventScanner::findListeners($someObject);
$dispatcher->addListenerMap($someObject, $map);
```
Tim Otten [Wed, 26 May 2021 04:27:54 +0000 (21:27 -0700)]
Testing - Add more examples of tests which register listeners
Eileen McNaughton [Wed, 26 May 2021 21:33:27 +0000 (09:33 +1200)]
Merge pull request #20102 from seamuslee001/d8_mailing_urls
[REF] Fix issue where by mailing urls were always stuck in the origin…
Eileen McNaughton [Wed, 26 May 2021 08:20:15 +0000 (20:20 +1200)]
Merge pull request #20129 from larssandergreen/apply-mailing-tracking-only-to-a-urls
dev/mailing#95 Only track <a> urls in Flexmailer for HTML emails
Seamus Lee [Wed, 26 May 2021 04:14:59 +0000 (14:14 +1000)]
Merge pull request #20415 from eileenmcnaughton/tax_test
Test - fix contributionTest to validate contributions
Seamus Lee [Wed, 26 May 2021 04:13:27 +0000 (14:13 +1000)]
Merge pull request #20422 from eileenmcnaughton/ppp
dev/core#2593 Fully remove loadRelatedObjects from PaypalExpress
Seamus Lee [Wed, 26 May 2021 02:53:23 +0000 (12:53 +1000)]
Merge pull request #20426 from eileenmcnaughton/tolerate_tax
Test fixes
Eileen McNaughton [Wed, 26 May 2021 00:35:30 +0000 (12:35 +1200)]
Test fixes
This improves cleanup in one class & in another makes it accept tax_amount = 0
rather than requiring it to be NULL. In general it's better for us to return
and save 0 so this makes the test tolerate those changes
Seamus Lee [Tue, 25 May 2021 23:49:39 +0000 (09:49 +1000)]
Merge pull request #20423 from eileenmcnaughton/ppp1
[REF] Paypal pro - remove call to load contact record
Eileen McNaughton [Tue, 25 May 2021 21:57:34 +0000 (09:57 +1200)]
[REF] Paypal pro - remove call to load contact record
This removes a look up since we are going to use the contribution contact id & all we are doing
is logging warning if it has changed
Eileen McNaughton [Tue, 25 May 2021 21:43:58 +0000 (09:43 +1200)]
dev/core#2593 Fully remove loadRelatedObjects from PaypalExpress
Seamus Lee [Tue, 25 May 2021 21:37:18 +0000 (07:37 +1000)]
Merge pull request #20412 from eileenmcnaughton/ppp
[REF] Stop passing unneed params to the recur function
Eileen McNaughton [Tue, 25 May 2021 19:38:43 +0000 (07:38 +1200)]
Merge pull request #20417 from mattwire/payjunctionsetparam
Remove unused functions from payJunction
Eileen McNaughton [Tue, 25 May 2021 19:37:55 +0000 (07:37 +1200)]
Merge pull request #20418 from mattwire/dummynoparams
Remove unused variable on dummy processor
Eileen McNaughton [Tue, 25 May 2021 19:31:42 +0000 (07:31 +1200)]
Merge pull request #20306 from aydun/api_case_defaults
Add defaults for APIv4 Case create
Matthew Wire [Tue, 25 May 2021 15:21:55 +0000 (16:21 +0100)]
Remove unused variable on dummy processor
Matthew Wire [Tue, 25 May 2021 15:17:38 +0000 (16:17 +0100)]
Remove unused functions from payJunction
Coleman Watts [Tue, 25 May 2021 12:09:49 +0000 (08:09 -0400)]
APIv4 - Fix Case conformance test
Now that creator_id has a default value it can also be marked as required.
Updating TestCreationParameterProvider to supply a FK before the default value
fixes the problem with user_contact_id in a test with no logged-in user.
colemanw [Tue, 25 May 2021 10:57:04 +0000 (06:57 -0400)]
Merge pull request #20401 from vingle/master
Revised fix for menu/UI issues for Joomla 4.0
Eileen McNaughton [Tue, 25 May 2021 09:52:53 +0000 (21:52 +1200)]
Test - fix contributionTest to validate contributions
Still skipping tests that need more work to avoid malformed
financial entities
Eileen McNaughton [Tue, 25 May 2021 10:14:41 +0000 (22:14 +1200)]
Merge pull request #20414 from MikeyMJCO/patch-7
Describe logic behind placement of `invalidateRouteCache`
Mikey O'Toole [Tue, 25 May 2021 08:32:33 +0000 (09:32 +0100)]
Describe logic behind placement of `invalidateRouteCache`
Eileen McNaughton [Tue, 25 May 2021 06:37:19 +0000 (18:37 +1200)]
[REF] Stop passing unneed params to the recur function
Eileen McNaughton [Tue, 25 May 2021 06:33:18 +0000 (18:33 +1200)]
Merge pull request #20411 from eileenmcnaughton/ppp2
[REF] replace isFirst parameter
Eileen McNaughton [Tue, 25 May 2021 06:33:02 +0000 (18:33 +1200)]
Merge pull request #20410 from eileenmcnaughton/ppp
[REF] Remove now-unused params
Eileen McNaughton [Tue, 25 May 2021 04:42:45 +0000 (16:42 +1200)]
[REF] replace isFirst parameter
Here we see that the 2 paths to 'recur' were calculating isFirst slightly differently.
In one case (the dominant one) we were looking to see if it was completed whereas
in the lesser path (paypal express) we were looking to see if it was not pending.
That leaves
'cancelled' & 'failed' in a limbo. I think logically we can't complete either of those
so the dominant definition is better
Eileen McNaughton [Tue, 25 May 2021 04:32:22 +0000 (16:32 +1200)]
[REF] Remove now-unused params
Seamus Lee [Tue, 25 May 2021 04:25:10 +0000 (14:25 +1000)]
Merge pull request #20407 from eileenmcnaughton/ppp
[REF] Paypal ipn - cleanup references to completion
Eileen McNaughton [Mon, 24 May 2021 22:59:56 +0000 (10:59 +1200)]
[REF] Paypal ipn - cleanup references to completion
This extracts a function to check if the contribution is completed.
I also rationalised the validation - it was using a combo of recur and first to
validate but on thinking it through I realised all it was saying was
'if we are finalising a pending contribution the amount must match'
I think that's fine even for recur with a change in amount - that seems
to me to be something that happens down the track but we still expect
the very first one to come in with the value it originally
had - if that is NOT true then we probably should just remove the check
Eileen McNaughton [Tue, 25 May 2021 02:47:45 +0000 (14:47 +1200)]
Merge pull request #20402 from eileenmcnaughton/pledge_tax
[NFC] Cleanup in test class
Eileen McNaughton [Tue, 25 May 2021 02:47:29 +0000 (14:47 +1200)]
Merge pull request #20409 from eileenmcnaughton/dep
[REF] Replace deprecated code call
Seamus Lee [Tue, 25 May 2021 00:34:44 +0000 (10:34 +1000)]
Merge pull request #20406 from mattwire/authnetmd5
Remove remains of md5 check from authorizenet
Seamus Lee [Tue, 25 May 2021 00:34:32 +0000 (10:34 +1000)]
Merge pull request #20405 from mattwire/eventcarttest
Update eventcart test to only test payment form
Eileen McNaughton [Tue, 25 May 2021 00:05:45 +0000 (12:05 +1200)]
[REF] Replace deprecated code call
Eileen McNaughton [Mon, 24 May 2021 20:49:21 +0000 (08:49 +1200)]
[NFC] Cleanup in test class
Seamus Lee [Mon, 24 May 2021 23:25:06 +0000 (09:25 +1000)]
Merge pull request #20404 from eileenmcnaughton/pledge_tax2
Fix contribution page pledge tests to create valid contributions
Matthew Wire [Wed, 19 May 2021 15:33:49 +0000 (16:33 +0100)]
Remove remains of md5 check from authorizenet
Seamus Lee [Mon, 24 May 2021 22:47:42 +0000 (08:47 +1000)]
Merge pull request #20360 from eileenmcnaughton/ppp
[REF] Cleanup validation in PaypalProIPN single function
Matthew Wire [Tue, 18 May 2021 18:08:40 +0000 (19:08 +0100)]
Update eventcart test to only test payment form
Eileen McNaughton [Mon, 24 May 2021 21:43:42 +0000 (09:43 +1200)]
Fix contribution page pledge tests to create valid contributions
This addresses an issue where they were using a contribution page with a price
set but te submit params were not valid for that price set
Seamus Lee [Mon, 24 May 2021 21:34:47 +0000 (07:34 +1000)]
Merge pull request #20393 from eileenmcnaughton/ref_line
[REF] Minor simplification
Eileen McNaughton [Mon, 24 May 2021 21:33:20 +0000 (09:33 +1200)]
Merge pull request #20390 from eileenmcnaughton/tax2
Tax fixes in unit test
Eileen McNaughton [Mon, 24 May 2021 01:48:24 +0000 (13:48 +1200)]
Tax fixes in unit test
When this->isValidateFinancialsOnPostAssert is true the
test class checks that line items and payments are valid.
I'm trying to enable this for this class. However, there are some issues
that I have found fixes for (and at least 1 I'm still working on)
- some tests try to set tax_amount when it is not enabled
which is invalid - removed
- one test tries to use chaining in a way that
we know is not going to do a job of creating the entities
as it adds the payment before the line items. I switched
this to create a pending payment which doesn't alter the
thing under test & brings it closer to the
recommended flow
- one test is deliberately invalid - I marked it as
not eligible for the validation
- the price set id was not being passed to the Confirm->submit
function (accessed by tests, mostly via the ContributionPage.submit
api) - I added functionality to retrieve it
colemanw [Mon, 24 May 2021 20:02:08 +0000 (16:02 -0400)]
Merge pull request #20400 from MegaphoneJon/check-signature
fix arguments sent to hook_civicrm_check
Nicol [Mon, 24 May 2021 18:27:55 +0000 (20:27 +0200)]
spacing tidy
Nicol [Mon, 24 May 2021 18:25:26 +0000 (20:25 +0200)]
Fixes expanding News dashlet css bug in Joomla 4
Nicol [Mon, 24 May 2021 18:24:32 +0000 (20:24 +0200)]
removes subhead and extra padding in Joomla 4
Nicol [Mon, 24 May 2021 18:22:49 +0000 (20:22 +0200)]
tidying indents
Nicol [Mon, 24 May 2021 18:21:48 +0000 (20:21 +0200)]
Joomla 4 fixes for menubar below menu & < $breakMin
Jon Goldberg [Mon, 24 May 2021 18:14:59 +0000 (14:14 -0400)]
fix arguments sent to hook_civicrm_check
colemanw [Mon, 24 May 2021 13:39:44 +0000 (09:39 -0400)]
Merge pull request #20383 from colemanw/afformUsageFixes
Afform - Improve Gui, prefill & submit APIs
Coleman Watts [Sun, 23 May 2021 01:00:15 +0000 (21:00 -0400)]
Afform - Improve Gui, prefill & submit APIs
Standardizes prefill & submit APIs to use the same logic for validating contacts.
Displays correct form URL in GUI depending on is_frontend setting.
Shows warning about url arguments to prevent unintentional permissions escalation.
Eileen McNaughton [Mon, 24 May 2021 03:57:29 +0000 (15:57 +1200)]
[REF] Minor simplification
Monish Deb [Mon, 24 May 2021 06:44:01 +0000 (12:14 +0530)]
Merge pull request #20391 from eileenmcnaughton/tax_valid
Add call to validateAllContributions & fix getTotalAmount
Eileen McNaughton [Mon, 24 May 2021 02:29:04 +0000 (14:29 +1200)]
Add call to validateAllContributions & fix getTotalAmount
I've updated 2 tests for readability and extended one to call
validateAllContributions. The call failed and it turned out to
be the check was wrong. Fixing that caused a test to fail.
I have fixed the test by fixing getTotalAmount on the internal
helper BAO_Order class to include the tax_amount for each line
in the total.
I think this would most affect tests - but it might affect the
Membership_Form due to changes made recently to that
form so I'm on the fence about going for the rc with this
one
Monish Deb [Mon, 24 May 2021 04:24:10 +0000 (09:54 +0530)]
Merge pull request #20358 from eileenmcnaughton/partial
Remove legacy references to partial_amount_to_pay
Seamus Lee [Mon, 24 May 2021 03:27:52 +0000 (13:27 +1000)]
Merge pull request #20389 from eileenmcnaughton/tax
[NFC] {test} code cleanup in test class
Eileen McNaughton [Sun, 23 May 2021 23:54:39 +0000 (11:54 +1200)]
[NFC] {test} minor cleanup
Eileen McNaughton [Mon, 24 May 2021 01:27:44 +0000 (13:27 +1200)]
Merge pull request #20387 from eileenmcnaughton/tax
[NFC] Minor cleanup
Eileen McNaughton [Mon, 24 May 2021 00:37:14 +0000 (12:37 +1200)]
Merge pull request #20386 from eileenmcnaughton/cont_f
[NFC] Minor code cleanup
Seamus Lee [Sun, 23 May 2021 23:46:14 +0000 (09:46 +1000)]
Merge pull request #20370 from seamuslee001/phpunit8
Use PHPUnit8 in main test suites
Eileen McNaughton [Sun, 23 May 2021 23:18:44 +0000 (11:18 +1200)]
[NFC] Minor cleanup
Eileen McNaughton [Sun, 23 May 2021 23:08:06 +0000 (11:08 +1200)]
[NFC] Minor code cleanup
Eileen McNaughton [Sun, 23 May 2021 21:59:57 +0000 (09:59 +1200)]
Merge pull request #20384 from mattwire/deprecateddopayment
If paymentprocessor still uses doTransferCheckout/doDirectPayment trigger deprecated function warning
Matthew Wire [Sun, 23 May 2021 10:26:13 +0000 (11:26 +0100)]
If paymentprocessor still uses doTransferCheckout/doDirectPayment trigger deprecated function warning
Seamus Lee [Thu, 20 May 2021 23:50:52 +0000 (09:50 +1000)]
Use PHPUnit8 for main runs
Eileen McNaughton [Sun, 23 May 2021 07:30:47 +0000 (19:30 +1200)]
Merge pull request #20380 from seamuslee001/api_v3_civi_phpunit8_warnings
[NFC] Fix PHPUnit8 Deprecation Warnings in api_v3 and Civi Test Suites
Seamus Lee [Sat, 22 May 2021 04:20:56 +0000 (14:20 +1000)]
[NFC] Fix PHPUnit8 Deprecation Warnings in api_v3 and Civi Test Suites
Seamus Lee [Sat, 22 May 2021 21:33:29 +0000 (07:33 +1000)]
Merge pull request #20373 from eileenmcnaughton/gc
[REF] extract function to get locks
Seamus Lee [Sat, 22 May 2021 07:12:56 +0000 (17:12 +1000)]
Merge pull request #20374 from eileenmcnaughton/gc4
[NFC] [Test] Big cleanup in test class
Seamus Lee [Sat, 22 May 2021 06:35:11 +0000 (16:35 +1000)]
Merge pull request #20381 from seamuslee001/api_v4_phpunit8_warnings
[NFC] Fix PHPUnit8 Deprecation warnings in the api_v4 Test Suite
Seamus Lee [Sat, 22 May 2021 05:56:15 +0000 (15:56 +1000)]
Merge pull request #20379 from seamuslee001/e2e_phpunit8_warnings
[NFC] Fix PHPUnit8 Warning notices in E2E And in some API unit tests
Eileen McNaughton [Fri, 21 May 2021 07:07:14 +0000 (19:07 +1200)]
[NFC] [Test] Big cleanup in test class
Eileen McNaughton [Sat, 22 May 2021 05:28:28 +0000 (17:28 +1200)]
Merge pull request #20378 from eileenmcnaughton/entry
[REF] Remove unused variable
Seamus Lee [Sat, 22 May 2021 04:48:08 +0000 (14:48 +1000)]
[NFC] Fix PHPUnit8 Deprecation warnings in the api_v4 Test Suite
Seamus Lee [Sat, 22 May 2021 02:44:06 +0000 (12:44 +1000)]
Further fixes
Seamus Lee [Sat, 22 May 2021 00:28:04 +0000 (10:28 +1000)]
Fix PHPUnit8 Warning notices in E2E And in some API unit tests
Seamus Lee [Sat, 22 May 2021 01:57:11 +0000 (11:57 +1000)]
Merge pull request #20377 from seamuslee001/crm_phpunit8_warnings
[NFC] Fix PHPUnit8 deprecation warnings in the CRM_AllTests suite
Seamus Lee [Fri, 21 May 2021 22:33:18 +0000 (08:33 +1000)]
[NFC] Fix PHPUnit8 deprecation warnings in the CRM_AllTests suite
Eileen McNaughton [Fri, 21 May 2021 23:03:11 +0000 (11:03 +1200)]
[REF] Remove unused field parameters
Eileen McNaughton [Fri, 21 May 2021 05:52:38 +0000 (17:52 +1200)]
[REF] extract function to get locks
This is part of trying to make the logic more re-usable and make the
way of dealing with a single group more aligned with dealing with
multiple groups in this class
colemanw [Fri, 21 May 2021 18:19:44 +0000 (14:19 -0400)]
Merge pull request #20305 from seamuslee001/afformEntityRefSubmit
Afform Entity Reference Submit
Coleman Watts [Fri, 21 May 2021 00:10:37 +0000 (20:10 -0400)]
Afform - Simplify postprocess event, cleanup api code & improve test coverage
- Simplifies getEntityWeights function using topological sorting library
- Consolodates postprocess event listners to just processGenericEntity
- Adds missing getters/setters to api classes
- Improves the AfformSubmitEvent interface to make it easeier to use
- Adds to tests
Seamus Lee [Fri, 21 May 2021 05:55:15 +0000 (15:55 +1000)]
Merge pull request #20372 from eileenmcnaughton/tax
[NFC] Further cleanup in test class
Eileen McNaughton [Fri, 21 May 2021 01:17:28 +0000 (13:17 +1200)]
[NFC] Further cleanup in test class
Seamus Lee [Fri, 21 May 2021 01:45:36 +0000 (11:45 +1000)]
Merge pull request #20369 from seamuslee001/more_voids
[NFC] Add in more voids to unit tests to support PHPUnit8
Eileen McNaughton [Fri, 21 May 2021 01:19:20 +0000 (13:19 +1200)]
Merge pull request #20371 from eileenmcnaughton/tax
[NFC] [Test] Preliminary cleanup in test class
Tim Otten [Fri, 21 May 2021 01:12:40 +0000 (18:12 -0700)]
Merge pull request #20353 from seamuslee001/fix_distmaker_sync_core_ext
Fix Distmaker building by ensuring we are rsyncing from the right folder
Seamus Lee [Fri, 21 May 2021 01:06:27 +0000 (11:06 +1000)]
Merge pull request #20217 from eileenmcnaughton/contop
[Test] Add test cover for contribution tokens in pdf letter
Seamus Lee [Fri, 21 May 2021 00:13:50 +0000 (10:13 +1000)]
Merge pull request #20368 from eileenmcnaughton/cc
[REF] Slightly more logical order of code