Coleman Watts [Sat, 27 Mar 2021 00:29:15 +0000 (20:29 -0400)]
AngularLoader - Support multiple angularjs apps running on the page
This creates a service named 'angularjs.loader' to manage multiple angular apps on the page.
Because <ng-app> can only be used once per page, a new tag, <crm-angular-js> has been created.
colemanw [Sat, 27 Mar 2021 00:11:41 +0000 (20:11 -0400)]
Merge pull request #19918 from eileenmcnaughton/payment
Add FinancialTrxn apiv4
Tim Otten [Fri, 26 Mar 2021 21:26:34 +0000 (14:26 -0700)]
Merge pull request #19806 from eileenmcnaughton/msg_compat
Align most of the tokens in the token processor handling with the legacy handling
eileen [Fri, 26 Mar 2021 21:07:18 +0000 (10:07 +1300)]
Add FinancialTrxn apiv4
colemanw [Fri, 26 Mar 2021 21:04:57 +0000 (17:04 -0400)]
Merge pull request #19912 from eileenmcnaughton/batch
[REF] [Towards membership api] Duplicate emailReceipt function rather than silly sharing
Monish Deb [Fri, 26 Mar 2021 12:32:06 +0000 (18:02 +0530)]
Merge pull request #19915 from eileenmcnaughton/mem_end
[REF] [Towards membership api] Simplify message functions
Eileen McNaughton [Fri, 26 Mar 2021 09:21:09 +0000 (22:21 +1300)]
Merge pull request #19906 from MikeyMJCO/patch-8
Rebuild the Drupal route cache.
eileen [Fri, 26 Mar 2021 06:38:23 +0000 (19:38 +1300)]
[REF] [Towards membership api] Simplify message functions
The amount of code confusion to avoid loading the end_date isn't really warranted for the
performance boost....
Monish Deb [Fri, 26 Mar 2021 05:38:58 +0000 (11:08 +0530)]
Merge pull request #19910 from eileenmcnaughton/mem_pay
[REF] [Towards membership api] Cleanup access to payment_processor_id
Eileen McNaughton [Fri, 26 Mar 2021 04:15:53 +0000 (17:15 +1300)]
Merge pull request #19905 from eileenmcnaughton/tear
[PHPunit8] cleanup on tearDown functions
eileen [Fri, 26 Mar 2021 03:06:27 +0000 (16:06 +1300)]
[REF] Duplicate emailReceipt function rather than silly sharing
eileen [Thu, 25 Mar 2021 09:58:22 +0000 (22:58 +1300)]
[PHPunit8] cleanup on tearDown functions
eileen [Thu, 25 Mar 2021 23:38:08 +0000 (12:38 +1300)]
[REF] Cleanup access to payment_processor_id
Seamus Lee [Thu, 25 Mar 2021 22:37:51 +0000 (09:37 +1100)]
Merge pull request #19909 from eileenmcnaughton/setup
[phpunit8] Add void to some setup() functions
Eileen McNaughton [Thu, 25 Mar 2021 21:19:55 +0000 (10:19 +1300)]
Merge pull request #19908 from colemanw/relationshipCacheReadonly
Schema - Add readonly to all fields in RelationshipCache entity
eileen [Thu, 25 Mar 2021 20:27:46 +0000 (09:27 +1300)]
Add void to some setup() functions
Mikey O'Toole [Thu, 25 Mar 2021 19:32:51 +0000 (19:32 +0000)]
Rebuild the Drupal route cache.
This is linked to [issue 158](https://lab.civicrm.org/dev/drupal/-/issues/158) and [issue 37](https://lab.civicrm.org/dev/drupal/-/issues/37).
It takes an alternative approach, adding a Util hook function to rebuild the route cache which we can then invoke from multiple places.
Trigger `rebuildDrupalRouteCache()` when running `triggerRebuild()`
Fix checkstyle issues
Change function from `protected` to `public`
Update Drupal8.php
Add base for `invalidateRouteCache()`
Add invalidateRouteCache function
Add call to userFramework->invalidateRouteCache
Update Base.php
Correct `userFramework` to `userSystem`
Remove stray whitespace.
Move invalidateRouteCache call to the same place as resetNavigation.
Update Invoke.php
Switch to the `router.builder' option as invalidating the cache doesn't cut it.
colemanw [Thu, 25 Mar 2021 16:16:10 +0000 (12:16 -0400)]
Merge pull request #19870 from totten/master-psr0
info.xml - Allow PSR-0 style class-loader declarations
Coleman Watts [Thu, 25 Mar 2021 15:52:33 +0000 (11:52 -0400)]
Schema - Add readonly to all fields in RelationshipCache entity
This entire entity is readonly. Fields should never be presented to the user as editable.
Seamus Lee [Thu, 25 Mar 2021 09:22:45 +0000 (20:22 +1100)]
Merge pull request #19901 from eileenmcnaughton/tte
[phpunit 8] Remove some empty tearDown functions
Seamus Lee [Thu, 25 Mar 2021 09:21:09 +0000 (20:21 +1100)]
Merge pull request #19898 from eileenmcnaughton/teardown2
More phpunit8 prep
Seamus Lee [Thu, 25 Mar 2021 09:20:48 +0000 (20:20 +1100)]
Merge pull request #19899 from eileenmcnaughton/tear
[PHPUNIT8] add void to more teardown()
Seamus Lee [Thu, 25 Mar 2021 09:20:30 +0000 (20:20 +1100)]
Merge pull request #19900 from eileenmcnaughton/tear2
[PHPUNIT 8 ] Add void to more teardowns
Monish Deb [Thu, 25 Mar 2021 05:54:16 +0000 (11:24 +0530)]
Merge pull request #19891 from eileenmcnaughton/task1
[REF] Simplify setting of softcredit form options (minor)
Eileen McNaughton [Thu, 25 Mar 2021 04:31:08 +0000 (17:31 +1300)]
Merge pull request #19897 from eileenmcnaughton/teardown
Add :void return type to tearDown on a bunch of unit tests
Monish Deb [Thu, 25 Mar 2021 04:02:09 +0000 (09:32 +0530)]
Merge pull request #19639 from eileenmcnaughton/test_test
[REF] Fix ContributionPage::recurringNotify to use apiv4, simplify params
Eileen McNaughton [Thu, 25 Mar 2021 02:59:12 +0000 (15:59 +1300)]
Merge pull request #19896 from colemanw/api4GetActionsFix
APIv4 - Fix GetActions function to work with entityNames that don't match className
Eileen McNaughton [Thu, 25 Mar 2021 02:58:39 +0000 (15:58 +1300)]
Merge pull request #19895 from eileenmcnaughton/falsefail
Skip UFField.field_name on singleValueAlter as flakey
eileen [Thu, 25 Mar 2021 02:25:11 +0000 (15:25 +1300)]
Remove some empty tearDown functions
eileen [Thu, 25 Mar 2021 02:17:49 +0000 (15:17 +1300)]
[PHPUNIT 8 ] Add void to more teardowns
eileen [Thu, 25 Mar 2021 02:12:59 +0000 (15:12 +1300)]
[PHPUNIT8] add void to more teardown()
eileen [Thu, 25 Mar 2021 02:03:58 +0000 (15:03 +1300)]
More phpunit8 prep
eileen [Thu, 25 Mar 2021 01:51:27 +0000 (14:51 +1300)]
Add :void return type to tearDown on a bunch of unit tests
Coleman Watts [Thu, 25 Mar 2021 00:13:57 +0000 (20:13 -0400)]
APIv4 - Fix GetActions function to work with entityNames that don't match className
Eileen McNaughton [Wed, 24 Mar 2021 23:54:37 +0000 (12:54 +1300)]
Merge pull request #19892 from colemanw/searchKitCreatedModified
SearchKit - Add created & modified info to SavedSearch listing
Eileen McNaughton [Wed, 24 Mar 2021 23:24:11 +0000 (12:24 +1300)]
Merge pull request #19312 from seamuslee001/dev_core_1845
dev/core#1845 Change FK on civicrm_group to delete the associated gro…
Eileen McNaughton [Wed, 24 Mar 2021 23:07:04 +0000 (12:07 +1300)]
Merge pull request #19885 from eileenmcnaughton/acl_role
[REF] Remove redundant toArray() function
Coleman Watts [Wed, 24 Mar 2021 22:15:08 +0000 (18:15 -0400)]
SearchKit - Add created & modified info to SavedSearch listing
eileen [Fri, 19 Mar 2021 21:34:42 +0000 (10:34 +1300)]
Simplify setting of softcredit form options
I checked & the empty is just an enotice fix
eileen [Wed, 24 Mar 2021 03:25:08 +0000 (16:25 +1300)]
Remove toArray function as it does the same as the parent
colemanw [Wed, 24 Mar 2021 20:19:25 +0000 (16:19 -0400)]
Merge pull request #19881 from eileenmcnaughton/task1
[REF] Store the getSearchQueryResults so it can be re-accessed
Eileen McNaughton [Wed, 24 Mar 2021 20:12:15 +0000 (09:12 +1300)]
Merge pull request #19889 from colemanw/api4EntityNameCleanup
APIv4 - Standardize generic entity name resolution
Eileen McNaughton [Wed, 24 Mar 2021 19:35:34 +0000 (08:35 +1300)]
Merge pull request #19875 from colemanw/contactSummaryCleanup
Reorganize contact summary template to support non-ajax tabs
Coleman Watts [Wed, 24 Mar 2021 18:22:36 +0000 (14:22 -0400)]
APIv4 - Standardize generic entity name resolution so that classNames do not have to equal entityNames
This will allow the addition of a CiviCase API which cannot have the className "Case" because that is a reserved php keyword
Also cleans up other entities that use `static::class` in place of entityName because it's not a good pattern to replicate.
colemanw [Wed, 24 Mar 2021 15:17:12 +0000 (11:17 -0400)]
Merge pull request #19801 from eileenmcnaughton/mem_terms
[REF] Simplify code calculating the number of membership terms
Seamus Lee [Wed, 24 Mar 2021 05:17:54 +0000 (16:17 +1100)]
Merge pull request #19884 from eileenmcnaughton/unit8less
Updates to ExportTest
Eileen McNaughton [Wed, 24 Mar 2021 03:17:03 +0000 (16:17 +1300)]
Merge pull request #19818 from eileenmcnaughton/merge_fix
Fix for dedupe error under some mysql configs
eileen [Wed, 24 Mar 2021 02:21:10 +0000 (15:21 +1300)]
Updates to ExportTest
eileen [Wed, 24 Mar 2021 02:42:52 +0000 (15:42 +1300)]
Test fix to avoid caching issue
Seamus Lee [Wed, 24 Mar 2021 01:41:15 +0000 (12:41 +1100)]
Merge pull request #19882 from eileenmcnaughton/acl_role
Fold back in getGroupACLs
Seamus Lee [Wed, 24 Mar 2021 01:35:53 +0000 (12:35 +1100)]
Merge pull request #19817 from eileenmcnaughton/merge
Tighten mysql mode in test environment
Eileen McNaughton [Wed, 24 Mar 2021 01:32:10 +0000 (14:32 +1300)]
Merge pull request #19880 from demeritcowboy/crmmoney2
dev/financial#171 - Don't pass already formatted data to crmMoney on contact summary for custom fields
eileen [Tue, 23 Mar 2021 23:30:37 +0000 (12:30 +1300)]
Fold back in getGroupACLs
Eileen McNaughton [Wed, 24 Mar 2021 00:23:17 +0000 (13:23 +1300)]
Merge pull request #19879 from eileenmcnaughton/acl_role
Remove getACLRoles
eileen [Fri, 19 Mar 2021 21:23:31 +0000 (10:23 +1300)]
[REF] Fix the getSearchQueryResults so it can be called multiple times
demeritcowboy [Tue, 23 Mar 2021 23:52:39 +0000 (19:52 -0400)]
don't pass already formatted data to crmMoney
colemanw [Tue, 23 Mar 2021 23:49:37 +0000 (19:49 -0400)]
Merge pull request #19860 from eileenmcnaughton/task1
Move setting of _includesSoftCredits out of getQuery
Eileen McNaughton [Tue, 23 Mar 2021 23:40:25 +0000 (12:40 +1300)]
Merge pull request #19868 from colemanw/searchKitFixExtraFields
SearchKit - remove extra irrelevant fields from bridge joins
eileen [Mon, 15 Mar 2021 05:55:33 +0000 (18:55 +1300)]
Fix token subscriber to format the display of the custom tokens
eileen [Mon, 15 Mar 2021 05:43:53 +0000 (18:43 +1300)]
Add fix for enotice when trying to resolve custom data of type array
eileen [Mon, 15 Mar 2021 05:34:30 +0000 (18:34 +1300)]
Add test cover to check compatsubscriber is in sync with legacy token
Seamus Lee [Tue, 23 Mar 2021 22:56:32 +0000 (09:56 +1100)]
Merge pull request #19878 from civicrm/5.36
5.36
eileen [Tue, 23 Mar 2021 22:35:04 +0000 (11:35 +1300)]
Remove getACLRoles
We have cleaned up the code to clarify that
1) it returns an empty array if contact id is set and
2) it is only called with contact_id is set
Ergo it does nada
Not called from anywhere else (I made it protected last
cleanup round)
Seamus Lee [Tue, 23 Mar 2021 22:14:49 +0000 (09:14 +1100)]
Merge pull request #19872 from eileenmcnaughton/acl_role
[REF] Fold getACLs back into the calling function
Eileen McNaughton [Tue, 23 Mar 2021 22:14:26 +0000 (11:14 +1300)]
Merge pull request #19867 from colemanw/civiCaseApi
APIv4 - Add function to get api class name
Eileen McNaughton [Tue, 23 Mar 2021 22:07:10 +0000 (11:07 +1300)]
Merge pull request #19743 from totten/master-upg
dev/release#16 - Allow omission of empty upgrade steps
Seamus Lee [Tue, 23 Mar 2021 21:25:37 +0000 (08:25 +1100)]
Merge pull request #19874 from demeritcowboy/blank-assignee
[WIP] dev/core#2473 - Don't crash when assignee left blank when creating followup on email activity
Eileen McNaughton [Tue, 23 Mar 2021 21:03:48 +0000 (10:03 +1300)]
Merge pull request #19877 from eileenmcnaughton/camp
[REF] Stdise campaign_id handling
Eileen McNaughton [Tue, 23 Mar 2021 21:03:31 +0000 (10:03 +1300)]
Merge pull request #19876 from demeritcowboy/dont
dev/financial#171 - Don't
eileen [Tue, 23 Mar 2021 19:44:34 +0000 (08:44 +1300)]
[REF] Stdise campaign_id handling
demeritcowboy [Tue, 23 Mar 2021 19:26:05 +0000 (15:26 -0400)]
don't
Coleman Watts [Tue, 23 Mar 2021 14:44:14 +0000 (10:44 -0400)]
Reorganize contact summary template to support non-ajax tabs
There was some non-functional (due to a typo) code in TabHeader.tpl to allow tabs to load from a .tpl instead of ajax.
This fixes that typo and copies the funcionality into the contact summary tabs as well.
The functionality is demonstrated here by moving the main tab into a sub-tempate.
colemanw [Tue, 23 Mar 2021 19:04:16 +0000 (15:04 -0400)]
Merge pull request #19757 from eileenmcnaughton/tax_amount
[REF] Minor simplification around assigning taxAmount to the template
colemanw [Tue, 23 Mar 2021 18:40:52 +0000 (14:40 -0400)]
Merge pull request #19800 from eileenmcnaughton/gettypes
[REF] Remove setting of unused variables
demeritcowboy [Tue, 23 Mar 2021 17:37:50 +0000 (13:37 -0400)]
crash when assignee left blank
colemanw [Tue, 23 Mar 2021 12:24:25 +0000 (08:24 -0400)]
Merge pull request #19797 from eileenmcnaughton/super_duper
Add new Super-duper-no-permissions-apply permission
Michael McAndrew [Thu, 11 Mar 2021 15:38:43 +0000 (15:38 +0000)]
dev/core#1845 Change FK on civicrm_group to delete the associated group if a saved search is deleted
Add in delete function on Group BAO to handle deleting associated saved search if appropriate when group is deleted and move upgrade step appropriately
Add unit test and move code to the discard function
Seamus Lee [Tue, 23 Mar 2021 02:08:09 +0000 (13:08 +1100)]
Merge pull request #19764 from JMAConsulting/core-59
core#59: Address location type search errors when using a search profile
Seamus Lee [Tue, 23 Mar 2021 02:04:02 +0000 (13:04 +1100)]
Merge pull request #19871 from eileenmcnaughton/acl
Return from getACLRoles when contactID is not null
eileen [Tue, 23 Mar 2021 01:07:16 +0000 (14:07 +1300)]
[REF] Fold getACLs back into the calling function
Not called in the civi universe
eileen [Tue, 23 Mar 2021 00:29:45 +0000 (13:29 +1300)]
Return from getACLRoles when contactID is null
I've made this patch the least possible code wise to allow brain space to think about the query....
Basically the where is WHERE acl.entity_table='civicrm_acl_role'....
if contact_id is set it becomes AND acl.entity_table = 'civicrm_contact'
Which means that it would only ever return empty results
(once this is merged more cleanup can happen but I wanted to
make this change easy to think through)
Eileen McNaughton [Tue, 23 Mar 2021 00:26:10 +0000 (13:26 +1300)]
Merge pull request #19869 from eileenmcnaughton/acl
[REF] Simplify BAO_ACL table references
Tim Otten [Mon, 22 Mar 2021 23:40:39 +0000 (16:40 -0700)]
info.xml - Allow PSR-0 style class-loader declarations
Before
------
If an extension defines a class in the style of `CRM_Foo_Bar`, then it
*must* use `hook_civicrm_config` and modify the `include_path`.
```php
function mymod_civicrm_config(&$config = NULL) {
$extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
$include_path = $extRoot . PATH_SEPARATOR . get_include_path();
set_include_path($include_path);
}
```
Consequently:
* The `include_path` gets rather long.
* Setting up the extension class-loader is not sufficient for loading these classes. You must
wait until the DB has initialized and the `hook_civicrm_config` has fired.
After
-----
An extension *may* setup classloading in `info.xml`, e.g.
```xml
<classloader>
<psr0 prefix="CRM_" path="" />
</classloader>
```
If the `<psr0>` style is used, then it is possible to scan the extension
classes without fully booting the extension. This is a pre-requisite for
using interfaces, annotations, or similar for event-registration.
Comments
--------
* This style closely parallels the `<psr4>` support in `info.xml`, and it parallels the semantics of `composer.json`.
* It is still valid for an extension to set `include_path` -- that works the same as ever.
eileen [Sun, 21 Mar 2021 22:16:33 +0000 (11:16 +1300)]
Remove exposure of implied_permissions beyond class
eileen [Sat, 13 Mar 2021 02:31:48 +0000 (15:31 +1300)]
Add new Super-duper-no-permissions-apply permission
We discussed in the context of search kit that there are 2 competing concepts of
'administer CiviCRM'
1) like drupal user 1, can do anything
2) role that has various administrative access but acls etc still apply
In search kit we have an interest in allowing users who won't do dumb things
the ability to expose data to people who otherwise would not have access to that data
- e.g to create a listing of event participants to expose to anonymous users.
This effectively means we are giving people the power to create displays
that set check_permissions to FALSE. This would potentially enable people
to not just bypass ACLs applied to others but also acls applied to them.
In order words it could be a privellege escallation.
To prevent any unexpected escallation we decided that this ability
should only be given to contacts who explicitly have access to everything
anyway. There is no existing permission that does this (although
there is a perception that there is)
eileen [Mon, 22 Mar 2021 21:10:11 +0000 (10:10 +1300)]
[REF] Simplify BAO_ACL table references
It does not appear to me, from my testing that the value in entity_table could
be something other than the actual table name (in fact I suspect
it would only ever be civicrm_acl_role - I'm working to confirm that).
This simplifies and switches to executeQuery which is multilingual aware
Seamus Lee [Mon, 22 Mar 2021 22:33:16 +0000 (09:33 +1100)]
Merge pull request #19829 from vingle/patch-11
Add .clear class to break inline flow on social share footer
Eileen McNaughton [Mon, 22 Mar 2021 21:24:11 +0000 (10:24 +1300)]
Merge pull request #19716 from jitendrapurohit/lifetime
update to lifetime membership does not clear the end date
Seamus Lee [Mon, 22 Mar 2021 21:21:53 +0000 (08:21 +1100)]
Merge pull request #19866 from eileenmcnaughton/nfc
[NFC] Cleanup in test class
colemanw [Mon, 22 Mar 2021 20:44:11 +0000 (16:44 -0400)]
Merge pull request #19660 from totten/master-afform-token
Afform - Add support for email tokens `{afform.myFormUrl}`
colemanw [Mon, 22 Mar 2021 20:35:23 +0000 (16:35 -0400)]
Merge pull request #19858 from eileenmcnaughton/loop
Fix loop
Coleman Watts [Mon, 22 Mar 2021 16:01:43 +0000 (12:01 -0400)]
APIv4 - Add function to get api class name
Adding the "Case" entity is a problem because it's a reserved php keyword.
So we need to be able to have entity names that don't match their classname.
This function gives us a way to get api class names without guessing from the entity name.
Coleman Watts [Mon, 22 Mar 2021 19:16:32 +0000 (15:16 -0400)]
SearchKit - remove extra irrelevant fields from bridge joins
colemanw [Mon, 22 Mar 2021 14:04:38 +0000 (10:04 -0400)]
Merge pull request #19856 from colemanw/customFieldLabels
SearchKit - Include custom group title with custom field label
eileen [Mon, 22 Mar 2021 10:45:44 +0000 (23:45 +1300)]
Remove never-gonna-happen todos
eileen [Mon, 22 Mar 2021 10:41:28 +0000 (23:41 +1300)]
Share function for identical code
eileen [Mon, 22 Mar 2021 10:36:54 +0000 (23:36 +1300)]
Use custom data trait for custom data
eileen [Mon, 22 Mar 2021 10:30:46 +0000 (23:30 +1300)]
Remove call to deprecated function
eileen [Mon, 22 Mar 2021 10:20:23 +0000 (23:20 +1300)]
[NFC] Cleanup in test class
Eileen McNaughton [Mon, 22 Mar 2021 08:52:26 +0000 (21:52 +1300)]
Merge pull request #19864 from eileenmcnaughton/nfc
[NFC] Minor cleanup on test class