Coleman Watts [Tue, 15 Jun 2021 06:25:51 +0000 (02:25 -0400)]
SearchKit - Enable super-admins to disable Search Display access checks
This allows users with 'all CiviCRM permissions and ACLs' to configure a search display
to bypass permission checks and display all records to the user.
Once a display is set to bypass ACLs, it can only be edited by a super-admin,
ordinary admin users will not be able to edit the display or the saved search.
Such a display will not automatically appear on its own page; it must be
embedded in an Afform, and the Afform will act as gatekeeper for users
to view the display.
Coleman Watts [Tue, 15 Jun 2021 06:22:08 +0000 (02:22 -0400)]
APIv4 - Preserve field data type when aggregating into an array using GROUP_CONCAT
Ensures that e.g. an array of integer fields will be returned as integers and not an array of strings
Coleman Watts [Tue, 15 Jun 2021 06:07:33 +0000 (02:07 -0400)]
SearchKit - Add acl_bypass column to civicrm_search_display table
The new column determines whether permissions will be checked when running a display
Coleman Watts [Tue, 15 Jun 2021 06:05:09 +0000 (02:05 -0400)]
Change CRUD permissions for SavedSearch and SearchDisplay to 'administer CiviCRM data'
By default, the permission was previously 'administer CiviCRM'.
The new permission is a subset for data administrators.
Coleman Watts [Tue, 15 Jun 2021 05:50:39 +0000 (01:50 -0400)]
SearchKit - Regenerate civix file
Seamus Lee [Tue, 15 Jun 2021 04:32:24 +0000 (14:32 +1000)]
Merge pull request #20605 from seamuslee001/fix_contact_test_mysql8
[NFC] Fix test failure on MySQL8 because of lack of order in API
Seamus Lee [Tue, 15 Jun 2021 02:50:50 +0000 (12:50 +1000)]
[NFC] Fix test failure on MySQL8 because of lack of order in API
Eileen McNaughton [Tue, 15 Jun 2021 02:10:04 +0000 (14:10 +1200)]
Merge pull request #20603 from demeritcowboy/form-opening-tests
[php8-compat] Alternate to the alternate for testOpeningForms
demeritcowboy [Mon, 14 Jun 2021 16:55:37 +0000 (12:55 -0400)]
improve flawed test
Eileen McNaughton [Mon, 14 Jun 2021 20:51:58 +0000 (08:51 +1200)]
Merge pull request #20594 from seamuslee001/api_v4_php8_fix
[php8-compact] Fix apiv4 tests in php8 by not incrementing an array
Eileen McNaughton [Mon, 14 Jun 2021 20:51:05 +0000 (08:51 +1200)]
Merge pull request #20599 from demeritcowboy/not-deprecated
[NFC] - update code comment
demeritcowboy [Mon, 14 Jun 2021 14:50:25 +0000 (10:50 -0400)]
fix comment
demeritcowboy [Mon, 14 Jun 2021 14:47:47 +0000 (10:47 -0400)]
Merge pull request #20597 from seamuslee001/php8_test_fixes
[php8-compact] Further test fixes for php8
Monish Deb [Mon, 14 Jun 2021 12:22:27 +0000 (17:52 +0530)]
Merge pull request #20523 from eileenmcnaughton/pcp2
Send pcp notification only when the contribution is completed
Eileen McNaughton [Mon, 14 Jun 2021 08:29:07 +0000 (20:29 +1200)]
Merge pull request #20596 from seamuslee001/fix_authorizenet_test
[php8-compact] Fix failing AuthorizeNetIPN tests on php8
Seamus Lee [Mon, 14 Jun 2021 07:39:02 +0000 (07:39 +0000)]
[php8-compact] Further test fixes for php8
Eileen McNaughton [Mon, 14 Jun 2021 07:25:23 +0000 (19:25 +1200)]
Merge pull request #20595 from seamuslee001/fix_invoke_test
[php8-compact] Fix failing CRM_Core_InvokeTest on php8
Eileen McNaughton [Mon, 14 Jun 2021 07:03:26 +0000 (19:03 +1200)]
Merge pull request #20593 from seamuslee001/session_test_fix
[php8-compact] Fix Session Test errors in php8
Seamus Lee [Mon, 14 Jun 2021 05:34:05 +0000 (05:34 +0000)]
[php8-compact] Fix failing AuthorizeNetIPN tests on php8
Seamus Lee [Mon, 14 Jun 2021 05:30:45 +0000 (05:30 +0000)]
[php8-compact] Fix failing CRM_Core_InvokeTest on php8
Seamus Lee [Mon, 14 Jun 2021 05:05:18 +0000 (05:05 +0000)]
[php8-compact] Fix apiv4 tests in php8 by not incrementing an array
Seamus Lee [Mon, 14 Jun 2021 04:53:28 +0000 (04:53 +0000)]
[php8-compact] Fix Session Test errors in php8
Seamus Lee [Mon, 14 Jun 2021 04:48:15 +0000 (14:48 +1000)]
Merge pull request #20577 from eileenmcnaughton/smart
Fix a few more undefined template vars
Seamus Lee [Mon, 14 Jun 2021 02:06:24 +0000 (12:06 +1000)]
Merge pull request #20592 from seamuslee001/fix_case_message_template
[php8-compact] Fix Case Activity Message Template to fix test failure…
Eileen McNaughton [Fri, 11 Jun 2021 03:49:42 +0000 (15:49 +1200)]
Fix a few more undefined template vars
Eileen McNaughton [Mon, 14 Jun 2021 00:39:47 +0000 (12:39 +1200)]
Merge pull request #20574 from eileenmcnaughton/return2
Reduce test api calls with no 'return'
Eileen McNaughton [Mon, 14 Jun 2021 00:39:24 +0000 (12:39 +1200)]
Merge pull request #20591 from seamuslee001/fix_pdf_letter_test
[php8-compact] Fix PDF Letter Test by ensuring that all actual DB fi…
Seamus Lee [Sun, 13 Jun 2021 23:58:19 +0000 (23:58 +0000)]
[php8-compact] Fix Case Activity Message Template to fix test failure in php8
Eileen McNaughton [Mon, 14 Jun 2021 00:00:19 +0000 (12:00 +1200)]
Merge pull request #20589 from colemanw/pledgeApi
SearchKit - Show Pledge as a primary entity
Seamus Lee [Sun, 13 Jun 2021 22:59:20 +0000 (22:59 +0000)]
[php8-compact] Fix PDF Letter Test by ensuring that all actual DB fields are in the tokens array and also by resetting the static cache of tokens
Remove uncessary function call
Eileen McNaughton [Fri, 11 Jun 2021 01:48:12 +0000 (13:48 +1200)]
Reduce test api calls with no 'return'
Coleman Watts [Sun, 13 Jun 2021 20:32:41 +0000 (16:32 -0400)]
SearchKit - Show Pledge as a primary entity
colemanw [Sun, 13 Jun 2021 16:23:26 +0000 (12:23 -0400)]
Merge pull request #20584 from totten/master-translation-api
dev/translation#67 - Add APIv4 support for "Translation" entity.
colemanw [Sun, 13 Jun 2021 04:48:15 +0000 (00:48 -0400)]
Merge pull request #20585 from civicrm/5.39
5.39
Tim Otten [Wed, 28 Apr 2021 06:03:46 +0000 (23:03 -0700)]
dev/translation#67 - Add APIv4 support for "Translation" entity. Expand tests.
Seamus Lee [Sat, 12 Jun 2021 00:11:27 +0000 (10:11 +1000)]
Merge pull request #20580 from demeritcowboy/upgrade-table
dev/core#2649 - Make 5.39 upgrade more robust
Tim Otten [Fri, 11 Jun 2021 23:44:06 +0000 (16:44 -0700)]
DynamicFKAccessTrait - Emit explicit error-message for invalid table references
Use-Case: You create a dynamic FK with a reference to an invalid table.
Before: Returns an API error/exception about type-matching (string vs null)
After: Returns an API error/exception about the invalid reference
Seamus Lee [Fri, 11 Jun 2021 23:01:01 +0000 (09:01 +1000)]
Merge pull request #20579 from seamuslee001/fix_CRM_Contact_Form_IndividualTest
[php8-compact] Add in guards into various templates to fix the CRM_Co…
Seamus Lee [Fri, 11 Jun 2021 23:00:48 +0000 (09:00 +1000)]
Merge pull request #20581 from seamuslee001/fix_contribution_form_tests
[php8-compact] Fixes test failures in the CRM_Contribute_Form_Contrib…
demeritcowboy [Fri, 11 Jun 2021 15:18:45 +0000 (11:18 -0400)]
be re-runnable and don't force utf8mb4
Seamus Lee [Fri, 11 Jun 2021 21:22:26 +0000 (21:22 +0000)]
[php8-compact] Fixes test failures in the CRM_Contribute_Form_ContributionTest class due to template issues
Seamus Lee [Fri, 11 Jun 2021 11:54:21 +0000 (11:54 +0000)]
[php8-compact] Add in guards into various templates to fix the CRM_Contact_Form_IndividualTest suite
Seamus Lee [Fri, 11 Jun 2021 05:58:27 +0000 (15:58 +1000)]
Merge pull request #20575 from seamuslee001/dashboard_test_fix
[php8-compact] Fix Dashboard Tests by adding in if guards into smarty…
Seamus Lee [Fri, 11 Jun 2021 05:58:20 +0000 (15:58 +1000)]
Merge pull request #20544 from seamuslee001/even_more_guards
[php8-compact] Add in guards into various templates to fix issues in …
Seamus Lee [Tue, 8 Jun 2021 01:02:08 +0000 (01:02 +0000)]
[php8-compact] Add in guards into various templates to fix issues in test runs on php8
Eileen McNaughton [Fri, 11 Jun 2021 03:36:28 +0000 (15:36 +1200)]
Merge pull request #20546 from seamuslee001/even_more_guards2
[php8-compact] Add in more protection for unset variables in various …
Seamus Lee [Fri, 11 Jun 2021 02:54:06 +0000 (12:54 +1000)]
Merge pull request #20547 from seamuslee001/admin_guards
[php8-compact] Add in protection for unset variables in admin smarty …
Seamus Lee [Mon, 7 Jun 2021 22:21:45 +0000 (22:21 +0000)]
[php8-compact] Fix Dashboard Tests by adding in if guards into smarty templates
Eileen McNaughton [Fri, 11 Jun 2021 02:36:49 +0000 (14:36 +1200)]
Merge pull request #20576 from civicrm/5.39
5.39 to master
Eileen McNaughton [Fri, 11 Jun 2021 02:36:23 +0000 (14:36 +1200)]
Merge pull request #20571 from demeritcowboy/regen-539
Update civicrm_generated (5.39 version)
colemanw [Fri, 11 Jun 2021 02:31:19 +0000 (22:31 -0400)]
Merge pull request #20543 from seamuslee001/guards_common
[php8-compact] Add in guards into common templates to assit with fixi…
Seamus Lee [Tue, 8 Jun 2021 01:08:01 +0000 (01:08 +0000)]
[php8-compact] Add in more protection for unset variables in various smarty templates
Seamus Lee [Tue, 8 Jun 2021 01:08:07 +0000 (01:08 +0000)]
[php8-compact] Add in protection for unset variables in admin smarty templates
demeritcowboy [Fri, 11 Jun 2021 00:50:12 +0000 (20:50 -0400)]
update civicrm_generated
Seamus Lee [Fri, 11 Jun 2021 00:06:21 +0000 (10:06 +1000)]
Merge pull request #20568 from civicrm/5.39
5.39
Seamus Lee [Thu, 10 Jun 2021 22:34:31 +0000 (08:34 +1000)]
Merge pull request #20567 from seamuslee001/fix_unittest_warning
[NFC] Fix phpunit9 deprecation issues on using assertType instead of …
Seamus Lee [Thu, 10 Jun 2021 21:05:45 +0000 (07:05 +1000)]
[NFC] Fix phpunit9 deprecation issues on using assertType instead of more explicit assertIsArray or AssertIsInt
colemanw [Thu, 10 Jun 2021 11:49:16 +0000 (07:49 -0400)]
Merge pull request #20566 from eileenmcnaughton/role
Add pseudoconstant to acl_entity_role
Monish Deb [Thu, 10 Jun 2021 06:58:59 +0000 (12:28 +0530)]
Merge pull request #20565 from eileenmcnaughton/val_err
Throw exception rather than allow php fail
Eileen McNaughton [Thu, 10 Jun 2021 06:11:27 +0000 (18:11 +1200)]
Add pseudoconstant to acl_entity_role
Not sure this will help with dev/core#2615 but spotted it while trying to see if I can replicate
(still doing that)
CiviCRM [Thu, 10 Jun 2021 05:59:26 +0000 (05:59 +0000)]
Set version to 5.40.alpha1
Eileen McNaughton [Thu, 10 Jun 2021 05:55:51 +0000 (17:55 +1200)]
Merge pull request #20432 from JMAConsulting/core_365_2
(dev/core#365) Scheduled Reminders - Add effective start and end date to admin UI
Eileen McNaughton [Thu, 10 Jun 2021 05:54:00 +0000 (17:54 +1200)]
Merge pull request #19973 from JMAConsulting/core_365_1
(dev/core#365) Scheduled Reminders - Add effective end and start date, extend unit test
CiviCRM [Thu, 10 Jun 2021 05:46:43 +0000 (05:46 +0000)]
ext/*/info.xml - Update version
CiviCRM [Thu, 10 Jun 2021 04:53:32 +0000 (04:53 +0000)]
Set version to 5.39.beta1
Eileen McNaughton [Thu, 10 Jun 2021 02:34:36 +0000 (14:34 +1200)]
Throw exception rather than allow php fail
Seamus Lee [Thu, 10 Jun 2021 00:00:47 +0000 (10:00 +1000)]
Merge pull request #20532 from eileenmcnaughton/f_add
Fix Financial item test to validate Financials
Seamus Lee [Wed, 9 Jun 2021 23:59:51 +0000 (09:59 +1000)]
Merge pull request #20552 from eileenmcnaughton/fin
Mark DetailTest as having invalid financials
Eileen McNaughton [Wed, 9 Jun 2021 23:46:06 +0000 (11:46 +1200)]
Merge pull request #20533 from totten/master-api4-omnivent
Introduce civi.api4.authorizeRecord and civi.api4.validate
Eileen McNaughton [Wed, 9 Jun 2021 21:14:41 +0000 (09:14 +1200)]
Merge pull request #20564 from eileenmcnaughton/report
dev/core#2646 juice up the error a little
Eileen McNaughton [Wed, 9 Jun 2021 19:39:04 +0000 (07:39 +1200)]
Merge pull request #20493 from jaapjansma/dev_membership_37
Fix for dev/membership#37
demeritcowboy [Wed, 9 Jun 2021 19:34:42 +0000 (15:34 -0400)]
Merge pull request #20563 from colemanw/array_key
REF - Cleanup array key checking to use array_key_exists
Eileen McNaughton [Wed, 9 Jun 2021 19:34:06 +0000 (07:34 +1200)]
dev/core#2646 juice up the error a little
On explaining the issue in https://lab.civicrm.org/dev/core/-/issues/2646 not
having the name of the failed entity in the error message seemed like a pain point
Tim Otten [Wed, 9 Jun 2021 10:24:21 +0000 (03:24 -0700)]
Expand CustomValue::_checkAccess()
Before: Reports that access is available based one delegated-check for `Contact.update`
After: Reports that access is available based on multiple checks:
1. The user must have access to the relevant CustomGroup (by way of ACL or perms)
2. The user must have acces to the underlying entity (by way of checkAccessDelgated)
Comments: I did a bit of testing with `Custom_*.get`, and it does seem to
give access to single-value CustomGroups. So I removed a comment about
multi-value CustomGroups and expanded to a larger list of entities.
demeritcowboy [Wed, 9 Jun 2021 14:22:52 +0000 (10:22 -0400)]
Merge pull request #20562 from colemanw/shortArrayContactTask
[REF] CRM_Contact_Task - Use short array syntax
colemanw [Wed, 9 Jun 2021 13:56:21 +0000 (09:56 -0400)]
Merge pull request #20059 from samuelsov/dev/core#2479
dev/core#2479 Adjust generic copy for localizable fields
Coleman Watts [Wed, 9 Jun 2021 13:41:52 +0000 (09:41 -0400)]
REF - Cleanup array key checking to use array_key_exists
Before: in_array($foo, array_keys($bar))
After: array_key_exists($foo, $bar)
Coleman Watts [Wed, 9 Jun 2021 12:45:26 +0000 (08:45 -0400)]
CRM_Contact_Task - Use short array syntax
Tim Otten [Wed, 9 Jun 2021 02:46:17 +0000 (19:46 -0700)]
Partially rollback changes to `$userID`. Merely lay groundwork for future update.
Context: AuthorizeEvent did not allow tracking userID. AuthorizeRecordEvent
is spec'd to track userID. This is a step toward supporting checks when the
target user is non-present (ie not the user in the browser/session).
However, this step is not *sufficient* - additional work is also needed to
support non-present users.
Original: AuthorizeEvent and AbstractAction::isAuthorized did not report
current userID. However, the wiring for AuthorizeRecordEvent is spec'd
to allow userID.
Previous: Made a breaking change in the signature of
AuthorizeEvent/AbstractAction::isAuthorized() to report userID. However,
even with the break, it's not clear if this is the best approach.
Revised:
* Both AuthorizeEvent and AuthorizeRecordEvent report `userID`. This allows consumers to start using
this information -- laying the groundwork for future changes.
* If an existing event-consumer ignores the `userID`, it will still work as correctly as before. This is
because we guarantee that the userID matches the session-user.
* The signature of `AbstractAction::isAuthorized()` matches its original. No BC break. However, the method
is flagged `@internal` to warn about the prospect of future changes.
* In the future, after we do more legwork on to ensure that the overall
system makes sense, we may flip this and start doing non-present users.
Eileen McNaughton [Wed, 9 Jun 2021 03:18:05 +0000 (15:18 +1200)]
Merge pull request #20560 from colemanw/searchable
APIv4 - Make the @searchable flag explicit for OptionList type entities.
demeritcowboy [Wed, 9 Jun 2021 02:18:53 +0000 (22:18 -0400)]
Merge pull request #20545 from seamuslee001/hook_test_fix_part1
[php8-compat] Partial Fix of hook tests for php8
Seamus Lee [Wed, 9 Jun 2021 01:09:10 +0000 (11:09 +1000)]
Merge pull request #20548 from eileenmcnaughton/group
Fix the populateTempTable to be more direct
Coleman Watts [Tue, 8 Jun 2021 23:18:30 +0000 (19:18 -0400)]
APIv4 - Make the @searchable flag explicit for OptionList type entities.
The OptionList trait may or may not be useful in future, maybe we'll just get rid of it if not.
But I think it's better not to couple it with the @searchable flag, as that's not exactly the same thing.
Seamus Lee [Wed, 9 Jun 2021 00:29:05 +0000 (10:29 +1000)]
Merge pull request #20557 from demeritcowboy/test-turkish
[NFC/Unit Test] Failing test for civicrm-packages PR 324
Seamus Lee [Tue, 8 Jun 2021 00:54:20 +0000 (00:54 +0000)]
[php8-compat] Partial Fix of hook tests for php8
colemanw [Wed, 9 Jun 2021 00:07:24 +0000 (20:07 -0400)]
Merge pull request #20542 from seamuslee001/hook_test_fixes_2
[php8-compact] Add in guards into various templates to fix hook tests…
Eileen McNaughton [Tue, 8 Jun 2021 07:25:04 +0000 (19:25 +1200)]
Mark DetailTest as having invalid financials
This class sets up in a weird way it will never pass financial checks
Eileen McNaughton [Tue, 8 Jun 2021 22:23:11 +0000 (10:23 +1200)]
Merge pull request #20549 from seamuslee001/php8_report
[php8-compact] Fix Report tests failing on php8
Seamus Lee [Tue, 8 Jun 2021 22:16:39 +0000 (08:16 +1000)]
Merge pull request #20540 from seamuslee001/tcpdf_upgrade
[php8-compat] Upgrade TCPDF version to support php8
Eileen McNaughton [Tue, 8 Jun 2021 22:16:17 +0000 (10:16 +1200)]
Merge pull request #20558 from colemanw/searchKitRelationships
SearchKit - allow searches based on relationships
Eileen McNaughton [Tue, 8 Jun 2021 21:44:49 +0000 (09:44 +1200)]
Merge pull request #20559 from colemanw/wordReplacement
dev/core#2486 - Add WordReplacement APIv4 entity
demeritcowboy [Tue, 8 Jun 2021 16:00:53 +0000 (12:00 -0400)]
unit test for db insert in TR locale
Coleman Watts [Tue, 8 Jun 2021 19:08:15 +0000 (15:08 -0400)]
dev/core#2486 - Add WordReplacement APIv4 entity
Eileen McNaughton [Tue, 8 Jun 2021 19:04:55 +0000 (07:04 +1200)]
Merge pull request #20555 from ahed-compucorp/dev/core#1744-afform
(REF) dev/core#1744 - Simplify Afform event naming
Coleman Watts [Tue, 8 Jun 2021 16:33:00 +0000 (12:33 -0400)]
SearchKit - Enable search for relationships as base entity
This makes it possible to use a bridge entity for the base of a search
(only if it is annotated @searchable primary|secondary)
It also ensures that fields needed for links are available in search displays
(previously it ensured ID was returned but some links require other fields as well)
Coleman Watts [Tue, 8 Jun 2021 16:22:51 +0000 (12:22 -0400)]
SearchKit - Fix error when trying to update operator in ON clause
Ahed [Tue, 8 Jun 2021 12:48:57 +0000 (15:48 +0300)]
dev/core#1744 - Simplify afform event naming
Monish Deb [Tue, 8 Jun 2021 07:34:21 +0000 (13:04 +0530)]
Merge pull request #20530 from eileenmcnaughton/val
Fix v3 api payment test to validate on postAssert
Eileen McNaughton [Tue, 8 Jun 2021 01:57:52 +0000 (13:57 +1200)]
Fix the populateTempTable to be more direct
It's currently using a round-about method to populate the table which goes through
apiv3 and the query object before winding up at the load function
which makes the same 3 calls now being called directly
Note the tests api_v3_ReportTemplateTest as well as the apiv4 tests
cover this function
Seamus Lee [Tue, 8 Jun 2021 04:34:47 +0000 (04:34 +0000)]
[php8-compact] Fix Report tests failing on php8