civicrm-core.git
3 years agoMerge pull request #21482 from colemanw/fixLinks
colemanw [Wed, 15 Sep 2021 17:31:15 +0000 (13:31 -0400)]
Merge pull request #21482 from colemanw/fixLinks

SearchKit - Fix links to non-aggregage join fields

3 years agoSearchKit - Fix links to non-aggregage join fields
Coleman Watts [Wed, 15 Sep 2021 14:22:02 +0000 (10:22 -0400)]
SearchKit - Fix links to non-aggregage join fields

3 years agoMerge pull request #21420 from colemanw/fixSearchKitMultiLink
colemanw [Wed, 15 Sep 2021 13:15:35 +0000 (09:15 -0400)]
Merge pull request #21420 from colemanw/fixSearchKitMultiLink

SearchKit - Fix display of links in aggregated columns

3 years agoMerge pull request #21481 from eileenmcnaughton/mem_std
colemanw [Wed, 15 Sep 2021 13:14:29 +0000 (09:14 -0400)]
Merge pull request #21481 from eileenmcnaughton/mem_std

[REF] simplify member_tokens

3 years agoMerge pull request #21480 from totten/master-edl
Eileen McNaughton [Wed, 15 Sep 2021 02:43:39 +0000 (14:43 +1200)]
Merge pull request #21480 from totten/master-edl

(dev/mail#83) ExampleDataLoader - Multiple fixes for quirky examples

3 years ago[REF] simplify member_tokens
Eileen McNaughton [Wed, 15 Sep 2021 00:35:57 +0000 (12:35 +1200)]
[REF] simplify member_tokens

Now we have good test cover we can switch to using the parent.

The one thorn in our side is membership.fee.
Dealing with the field, and hence opening up 'listening'
is out of scope for this pr

We can (and should) switch fee to membership_type_id.minimum_fee and add
generic support. However, we also have a formatting issue.
The field is formatted 'number only' 'just cos'.

If we map that field without figuring out formatting
it will be locked in as an anomaly.

3 years agoCaseActivity Examples - Only report example-data if the workflow is actually valid
Tim Otten [Wed, 15 Sep 2021 00:13:11 +0000 (17:13 -0700)]
CaseActivity Examples - Only report example-data if the workflow is actually valid

The `case_activity` workflow definition is weirdly/temporarily in
`tests/phpunit`.  This makes it loadable for headless testing, but it's not
truly loadable in a web-env.  Consequently, the examples should not be
presented as valid example data when using web-env.

3 years agoExampleDataLoader - Fix loading data-sets from `tests/phpunit/*` from web-env
Tim Otten [Wed, 15 Sep 2021 00:11:01 +0000 (17:11 -0700)]
ExampleDataLoader - Fix loading data-sets from `tests/phpunit/*` from web-env

Before: If you add example-data under `tests/phpunit/`, then it works
in headless env. In web-env, it will be scanned, but the `include $file` step will fail.

After: The `include $file` step will succeed.

3 years ago(REF) ExampleDataLoader - Extract private method `createObj()`. Improve errors.
Tim Otten [Tue, 14 Sep 2021 23:45:14 +0000 (16:45 -0700)]
(REF) ExampleDataLoader - Extract private method `createObj()`. Improve errors.

__Before__: Two different bits of code responsible for loading+instantiating test-data class.
Different (and somewhat opaque) error-handling behaviors.

__After__: One private helper called twice. Consistent (and clearer) error-reporting.

3 years agoMerge pull request #21477 from eileenmcnaughton/mem_test
Seamus Lee [Tue, 14 Sep 2021 23:35:34 +0000 (09:35 +1000)]
Merge pull request #21477 from eileenmcnaughton/mem_test

dev/core#2650 upgrade membership tokens to the new format

3 years agoMerge pull request #21475 from eileenmcnaughton/case_replace
Eileen McNaughton [Tue, 14 Sep 2021 21:12:48 +0000 (09:12 +1200)]
Merge pull request #21475 from eileenmcnaughton/case_replace

dev/core#2817 remove call to getTokenDetails

3 years agodev/core#2650 upgrade membership tokens to the new format
Eileen McNaughton [Tue, 14 Sep 2021 21:00:00 +0000 (09:00 +1200)]
dev/core#2650 upgrade membership tokens to the new format

3 years agoMerge pull request #21474 from MegaphoneJon/core-2318
demeritcowboy [Tue, 14 Sep 2021 20:26:13 +0000 (16:26 -0400)]
Merge pull request #21474 from MegaphoneJon/core-2318

fixes core#2318: fix cancel button when sending an individual email

3 years agoMerge pull request #21464 from eileenmcnaughton/test_hunt
colemanw [Tue, 14 Sep 2021 20:15:57 +0000 (16:15 -0400)]
Merge pull request #21464 from eileenmcnaughton/test_hunt

dev/core#2650 dev/core#2832 add support & testing for preferred token format

3 years agodev/core#2817 remove call to getTokenDetails
Eileen McNaughton [Tue, 14 Sep 2021 15:09:49 +0000 (03:09 +1200)]
dev/core#2817 remove call to getTokenDetails

Removes the call to getTokenDetails as discussed on
https://github.com/civicrm/civicrm-core/pull/21445

As discussed on that PR & related gitlabs I
created an extension to try to allow people to have
this functionality transitionally if they needed
(based on copying code from 5.41 over) - but
per the readme https://github.com/eileenmcnaughton/legacytokenhelper/blob/master/README.md
the issues I found (under 'known issues') were enough
to make me conclude no-one would actually
want to install the extension to restore pre-5.43
functionality

3 years agofix cancel button when sending an individual email
Jon Goldberg [Tue, 14 Sep 2021 18:43:32 +0000 (14:43 -0400)]
fix cancel button when sending an individual email

3 years agoMerge pull request #21468 from mattwire/flushcachepermit
demeritcowboy [Tue, 14 Sep 2021 16:12:00 +0000 (12:12 -0400)]
Merge pull request #21468 from mattwire/flushcachepermit

flushCaches should respect permitCacheFlushMode

3 years agoMerge pull request #21445 from eileenmcnaughton/case_replace
demeritcowboy [Tue, 14 Sep 2021 16:11:34 +0000 (12:11 -0400)]
Merge pull request #21445 from eileenmcnaughton/case_replace

dev/core#2817 Use token processor to resolve caseTokens for pdfs

3 years agoMerge pull request #21465 from eileenmcnaughton/cont_tok
colemanw [Tue, 14 Sep 2021 14:30:56 +0000 (10:30 -0400)]
Merge pull request #21465 from eileenmcnaughton/cont_tok

[Ref] Cleanup on SelectValues::contributeTokens

3 years agoMerge pull request #21466 from eileenmcnaughton/mem
colemanw [Tue, 14 Sep 2021 14:17:17 +0000 (10:17 -0400)]
Merge pull request #21466 from eileenmcnaughton/mem

[Ref] Remove pass-by-reference

3 years agodev/core#2817 Use token processor to resolve caseTokens for pdfs
Eileen McNaughton [Sun, 12 Sep 2021 23:04:29 +0000 (11:04 +1200)]
dev/core#2817 Use token processor to resolve caseTokens for pdfs

3 years agoflushCaches should respect permitCacheFlushMode
Matthew Wire [Tue, 14 Sep 2021 09:36:33 +0000 (10:36 +0100)]
flushCaches should respect permitCacheFlushMode

3 years agoMerge pull request #21338 from totten/master-msgtpl-api
Eileen McNaughton [Tue, 14 Sep 2021 09:11:29 +0000 (21:11 +1200)]
Merge pull request #21338 from totten/master-msgtpl-api

(dev/mail#83) Introduce WorkflowMessage APIs with CaseActivity example

3 years agoCaseActivity - Temporarily move to tests/phpunit
Tim Otten [Tue, 14 Sep 2021 06:40:51 +0000 (23:40 -0700)]
CaseActivity - Temporarily move to tests/phpunit

This is mostly to circumvent near-term questions on reviewing CaseActivity while still allowing it as an example-case.

3 years ago(REF-2) Convert WorkflowMessage examples to use ExampleData classes
Tim Otten [Tue, 14 Sep 2021 00:06:06 +0000 (17:06 -0700)]
(REF-2) Convert WorkflowMessage examples to use ExampleData classes

3 years ago(REF-1) Convert Civi/WorkflowMessage/Examples.php to Civi/Test/ExampleDataLoader.php
Tim Otten [Tue, 14 Sep 2021 00:05:24 +0000 (17:05 -0700)]
(REF-1) Convert Civi/WorkflowMessage/Examples.php to Civi/Test/ExampleDataLoader.php

3 years agodev/core#2650 add support & testing for preferred token format
Eileen McNaughton [Mon, 13 Sep 2021 06:24:31 +0000 (18:24 +1200)]
dev/core#2650 add support & testing for preferred token format

This fixes the membership token processor to support the preferred
token format style in scheduled reminders
and adds test cover

Next step is to upgrade the old tokens out of the scheduled reminders
and remove support for them. For the legacy token handler
it is just used from one place from core so we can add a rule
to prevent them from being 'requested' & switch them
off the legacy method.

The test cover in this is more thorough than pre-existing tests
but here is a list of them

api_v3_JobTest.testCallSendReminderSuccessMoreThanDefaultLimit
api_v3_JobTest.testCallSendReminderLimitToSMS
api_v3_JobTest.testCallSendReminderLimitToSMSWithDeletedProvider
CRM_Core_BAO_ActionScheduleTest.testMembershipDateMatch
CRM_Core_BAO_ActionScheduleTest.testMembershipJoinDateNonMatch
CRM_Core_BAO_ActionScheduleTest.testMembershipEndDateRepeat
CRM_Core_BAO_ActionScheduleTest.testMembershipEndDateRepeatChangedEndDate_CRM_15376
CRM_Core_BAO_ActionScheduleTest.testMembershipEndDateMatch
CRM_Core_BAO_ActionScheduleTest.testMultipleMembershipEndDateMatch
CRM_Core_BAO_ActionScheduleTest.testMembershipEndDateNoMatch
CRM_Core_BAO_ActionScheduleTest.testMembershipLimitToNone
CRM_Core_BAO_ActionScheduleTest.testMembershipWithReferenceDate
CRM_Core_BAO_ActionScheduleTest.testMembershipOnMultipleReminder
CRM_Core_BAO_ActionScheduleTest.testRepetitionFrequencyUnit
CRM_Core_BAO_ActionScheduleTest.testInheritedMembershipPermissions
CRM_Core_BAO_ActionScheduleTest.testMembershipScheduleWithAbsoluteDate

3 years ago[Ref] Remove pass-by-reference
Eileen McNaughton [Tue, 14 Sep 2021 03:10:09 +0000 (15:10 +1200)]
[Ref] Remove pass-by-reference

3 years agoMerge pull request #21463 from eileenmcnaughton/mem
Eileen McNaughton [Tue, 14 Sep 2021 03:08:33 +0000 (15:08 +1200)]
Merge pull request #21463 from eileenmcnaughton/mem

[Ref] Remove unnecessary pass-by-reference

3 years ago[Ref] Cleanup on SelectValues::contributeTokens
Eileen McNaughton [Tue, 14 Sep 2021 03:05:55 +0000 (15:05 +1200)]
[Ref] Cleanup on SelectValues::contributeTokens

This has 100% test cover in the ByTypeTest::testTokenRendering test

The change means we no longer need the recently-added function
to be public & hence it is switched to protected.

Note this is the same as the equivalent contactTokens function

3 years agoMerge pull request #21458 from eileenmcnaughton/badge_of_honor
Seamus Lee [Tue, 14 Sep 2021 02:40:35 +0000 (12:40 +1000)]
Merge pull request #21458 from eileenmcnaughton/badge_of_honor

dev/core#2834 Preliminary test on badge

3 years agoMerge pull request #21042 from eileenmcnaughton/uf
Eileen McNaughton [Tue, 14 Sep 2021 01:39:15 +0000 (13:39 +1200)]
Merge pull request #21042 from eileenmcnaughton/uf

[REF] Use OO when determining what to suggest for settings.php prefixes for drupal/backdrop views, instead of scattered "if cms =="

3 years ago[Ref] Remove unnecessary pass-by-reference
Eileen McNaughton [Tue, 14 Sep 2021 01:26:12 +0000 (13:26 +1200)]
[Ref] Remove unnecessary pass-by-reference

3 years agoMerge pull request #21459 from eileenmcnaughton/mem
Eileen McNaughton [Tue, 14 Sep 2021 01:19:11 +0000 (13:19 +1200)]
Merge pull request #21459 from eileenmcnaughton/mem

[Ref] Remove no-longer-used variables

3 years agoExampleData - Declare the PK field to be 'name'. Add 'type=>Extra' for heavy fields.
Tim Otten [Fri, 10 Sep 2021 04:17:32 +0000 (21:17 -0700)]
ExampleData - Declare the PK field to be 'name'. Add 'type=>Extra' for heavy fields.

3 years agoMerge pull request #21461 from eileenmcnaughton/render_array
Eileen McNaughton [Tue, 14 Sep 2021 00:38:00 +0000 (12:38 +1200)]
Merge pull request #21461 from eileenmcnaughton/render_array

Ensure TokenSmary::render returns an array

3 years ago[NFC] Cleanup on test class
Eileen McNaughton [Mon, 13 Sep 2021 21:19:08 +0000 (09:19 +1200)]
[NFC] Cleanup on test class

3 years agoMerge pull request #21436 from colemanw/afformWarning
Eileen McNaughton [Mon, 13 Sep 2021 23:13:35 +0000 (11:13 +1200)]
Merge pull request #21436 from colemanw/afformWarning

Afform - gracefully handle missing html files

3 years ago[Ref] Remove no-longer-used variables
Eileen McNaughton [Mon, 13 Sep 2021 19:53:47 +0000 (07:53 +1200)]
[Ref] Remove no-longer-used variables

3 years agoEnsure TokenSmary::render returns an array
Eileen McNaughton [Mon, 13 Sep 2021 23:01:06 +0000 (11:01 +1200)]
Ensure TokenSmary::render returns an array

If there are no messages it should return an empty array

3 years ago(REF) Rename WorkflowMessageExample => ExampleData
Tim Otten [Fri, 10 Sep 2021 03:51:29 +0000 (20:51 -0700)]
(REF) Rename WorkflowMessageExample => ExampleData

3 years ago(REF) WorkflowMessageExample - Set data_type=Array. Remove serialization bits.
Tim Otten [Thu, 9 Sep 2021 04:13:05 +0000 (21:13 -0700)]
(REF) WorkflowMessageExample - Set data_type=Array. Remove serialization bits.

3 years ago(NFC) CaseActivity Msg - Clarify `contactId` vs `clientId`
Tim Otten [Wed, 1 Sep 2021 22:25:25 +0000 (15:25 -0700)]
(NFC) CaseActivity Msg - Clarify `contactId` vs `clientId`

3 years agoWorkflowMessage - Track 'support' level for each message
Tim Otten [Wed, 1 Sep 2021 22:24:45 +0000 (15:24 -0700)]
WorkflowMessage - Track 'support' level for each message

3 years agoAdd WorkflowMessage.getTemplateFields API
Tim Otten [Thu, 29 Jul 2021 07:27:05 +0000 (00:27 -0700)]
Add WorkflowMessage.getTemplateFields API

3 years agoAdd WorkflowMessage.get and WorkflowMessage.render APIs
Tim Otten [Wed, 14 Jul 2021 00:21:52 +0000 (17:21 -0700)]
Add WorkflowMessage.get and WorkflowMessage.render APIs

3 years agoCaseActivity - Define class-model and unit-test for workflow message. Add base test...
Tim Otten [Tue, 6 Jul 2021 06:32:29 +0000 (23:32 -0700)]
CaseActivity - Define class-model and unit-test for workflow message. Add base test-trait.

3 years agoWorkflowMessageExample - Add API for searching examples
Tim Otten [Tue, 27 Jul 2021 05:20:35 +0000 (22:20 -0700)]
WorkflowMessageExample - Add API for searching examples

3 years agoViews db cleanup (alternative)
Eileen McNaughton [Fri, 6 Aug 2021 07:51:05 +0000 (19:51 +1200)]
Views db cleanup (alternative)

I took a look at https://github.com/civicrm/civicrm-core/pull/20682 and it seemed clear that
in it's current state it would fix one CMS (d9) & break another (d7). This is
an alternate that will hopefully be non-breaky

3 years agodev/core#2834 Preliminary test on badge
Eileen McNaughton [Mon, 13 Sep 2021 11:11:22 +0000 (23:11 +1200)]
dev/core#2834 Preliminary test on badge

3 years agoMerge pull request #21452 from eileenmcnaughton/mem_test
Seamus Lee [Mon, 13 Sep 2021 21:46:08 +0000 (07:46 +1000)]
Merge pull request #21452 from eileenmcnaughton/mem_test

dev/core#2832 Improvements to test on membership letter task

3 years agoMerge pull request #21460 from civicrm/5.42
Eileen McNaughton [Mon, 13 Sep 2021 21:33:34 +0000 (09:33 +1200)]
Merge pull request #21460 from civicrm/5.42

5.42 to master

3 years agoMerge pull request #21444 from colemanw/fixSearchDisplayDelete
Eileen McNaughton [Mon, 13 Sep 2021 21:32:51 +0000 (09:32 +1200)]
Merge pull request #21444 from colemanw/fixSearchDisplayDelete

SearchKit - Fix deleting search displays

3 years agoMerge pull request #21456 from demeritcowboy/activity-export542
Eileen McNaughton [Mon, 13 Sep 2021 21:03:41 +0000 (09:03 +1200)]
Merge pull request #21456 from demeritcowboy/activity-export542

dev/core#2835 - Activity export broken in 5.41

3 years agoactivity export fail
demeritcowboy [Mon, 13 Sep 2021 17:31:56 +0000 (13:31 -0400)]
activity export fail

3 years agoMerge pull request #21438 from colemanw/fixApi4GetDefaults
colemanw [Mon, 13 Sep 2021 15:26:46 +0000 (11:26 -0400)]
Merge pull request #21438 from colemanw/fixApi4GetDefaults

APIv4 - Default select clause to exclude "Extra" fields

3 years agoMerge pull request #21448 from eileenmcnaughton/old_param
demeritcowboy [Mon, 13 Sep 2021 15:09:14 +0000 (11:09 -0400)]
Merge pull request #21448 from eileenmcnaughton/old_param

[REF] Remove unused parameter

3 years agoMerge pull request #21451 from eileenmcnaughton/mem
demeritcowboy [Mon, 13 Sep 2021 14:45:23 +0000 (10:45 -0400)]
Merge pull request #21451 from eileenmcnaughton/mem

[REF] Remove unused variable

3 years agoMerge pull request #21450 from eileenmcnaughton/compat_less
colemanw [Mon, 13 Sep 2021 13:51:13 +0000 (09:51 -0400)]
Merge pull request #21450 from eileenmcnaughton/compat_less

[REF] Extract code to load the contact in tokenCompat

3 years agoAPIv4 - Default select clause to exclude "Extra" fields
Coleman Watts [Sat, 11 Sep 2021 19:16:18 +0000 (15:16 -0400)]
APIv4 - Default select clause to exclude "Extra" fields

Recently a "type" property was added to getFieldSpec to allow "Extra"
calculated fields to be declared. This updates api Get to *not*
select those fields by default, as their calculation can be expensive.

3 years agoMerge pull request #21439 from mlutfy/authxReadme
Mathieu Lu [Mon, 13 Sep 2021 13:04:37 +0000 (09:04 -0400)]
Merge pull request #21439 from mlutfy/authxReadme

Authx: README: add note about CMS permissions

3 years agoMerge pull request #21453 from eileenmcnaughton/member_tokens
Seamus Lee [Mon, 13 Sep 2021 08:18:23 +0000 (18:18 +1000)]
Merge pull request #21453 from eileenmcnaughton/member_tokens

dev/core#2832 Add test for legacy membership tokens, add support for preferred tokens

3 years agoEnhance pdf letter test for mememberships
Eileen McNaughton [Mon, 13 Sep 2021 04:13:01 +0000 (16:13 +1200)]
Enhance pdf letter test for mememberships

3 years agodev/core#2832 Add test for legacy membership tokens, add support for preferred tokens
Eileen McNaughton [Mon, 13 Sep 2021 05:34:34 +0000 (17:34 +1200)]
dev/core#2832 Add test for legacy membership tokens, add support for preferred tokens

There is only one place that calls this code. With cover of the legacy tokens
I can ensure it is the same as the processor tokens. I've fixed it
to support the preferred unambiguous tokens because that means that
we don't have to deal with reports of them not working while calls
to it are phased out of extensions. Working through that
also allowed me to remove some code now

3 years agodev/core#2832 rename pdf letter test
Eileen McNaughton [Mon, 13 Sep 2021 03:17:09 +0000 (15:17 +1200)]
dev/core#2832 rename pdf letter test

3 years ago[REF] Remove unused variable
Eileen McNaughton [Mon, 13 Sep 2021 02:59:16 +0000 (14:59 +1200)]
[REF] Remove unused variable

This parameter is no longer used

3 years ago[REF] Extract code to load the contact in tokenCompat
Eileen McNaughton [Mon, 13 Sep 2021 02:06:59 +0000 (14:06 +1200)]
[REF] Extract code to load the contact in tokenCompat

3 years agoMerge pull request #21401 from eileenmcnaughton/mgd2
colemanw [Mon, 13 Sep 2021 00:38:14 +0000 (20:38 -0400)]
Merge pull request #21401 from eileenmcnaughton/mgd2

dev/core#2823 Restructure determination of required actions.

3 years ago[REF] Remove unused parameter
Eileen McNaughton [Sun, 12 Sep 2021 23:46:07 +0000 (11:46 +1200)]
[REF] Remove unused parameter

There are no longer any cases in git universe that pass this parameter

3 years agoMerge pull request #20807 from davidjosephhayes/wordpress-profile-signon-2
Seamus Lee [Sun, 12 Sep 2021 23:42:00 +0000 (09:42 +1000)]
Merge pull request #20807 from davidjosephhayes/wordpress-profile-signon-2

Wordpress Profile User Creation Sign On (v2)

3 years agoMove loadDeclartions to reconcile
Eileen McNaughton [Sun, 12 Sep 2021 22:28:10 +0000 (10:28 +1200)]
Move loadDeclartions to reconcile

I'm getting a loop

3 years agoMake managed entities functions protected
Eileen McNaughton [Sun, 12 Sep 2021 20:48:26 +0000 (08:48 +1200)]
Make managed entities functions protected

The only affected universe place I found was
https://github.com/veda-consulting-company/uk.co.vedaconsulting.gdpr/pull/294

Since putting the 'information gathering & storing' function on
the constructor is tricky due to the singleton
caching this means we are always working with a consistent entry point

3 years agodev/core#2823 Restructure determination of required actions.
Eileen McNaughton [Wed, 8 Sep 2021 05:08:34 +0000 (17:08 +1200)]
dev/core#2823 Restructure determination of required actions.

The expected actions are now calculated at the start of reconcile.
and retrievable by function.

The code that calls the action-actions
is still pretty cludgey - but the intent is that
we would stop passing the dao object into those
action-action functions in the near future.

This PR punts any decisions about how outputs might look
(eg. making the array retrievable from outside of the function.

Note that there is pretty comprehensive
test cover in CRM_Core_ManagedEntitiesTest

3 years agoMerge pull request #21429 from eileenmcnaughton/tok_hook2
colemanw [Sun, 12 Sep 2021 21:40:20 +0000 (17:40 -0400)]
Merge pull request #21429 from eileenmcnaughton/tok_hook2

Consolidate building of contact token list

3 years agoMerge pull request #21383 from eileenmcnaughton/case_tokens
colemanw [Sun, 12 Sep 2021 21:38:27 +0000 (17:38 -0400)]
Merge pull request #21383 from eileenmcnaughton/case_tokens

dev/core#2817 Add CaseToken processor

3 years agoMerge pull request #21441 from demeritcowboy/dashboard-fail2
Eileen McNaughton [Sun, 12 Sep 2021 21:25:21 +0000 (09:25 +1200)]
Merge pull request #21441 from demeritcowboy/dashboard-fail2

dev/core#2829 - "Trying to access array offset on value of type null" on dashboard

3 years agoSearchKit - Fix deleting search displays
Coleman Watts [Sun, 12 Sep 2021 21:22:01 +0000 (17:22 -0400)]
SearchKit - Fix deleting search displays

3 years agoMerge pull request #21443 from demeritcowboy/test-fix-2
Eileen McNaughton [Sun, 12 Sep 2021 21:17:29 +0000 (09:17 +1200)]
Merge pull request #21443 from demeritcowboy/test-fix-2

Alternate to https://github.com/civicrm/civicrm-core/pull/21442

3 years agoMerge pull request #21428 from totten/master-tp-filter
colemanw [Sun, 12 Sep 2021 20:05:50 +0000 (16:05 -0400)]
Merge pull request #21428 from totten/master-tp-filter

TokenProcessor - Allow basic filter/modifier expressions

3 years agoMerge pull request #21440 from eileenmcnaughton/mgd_test
colemanw [Sun, 12 Sep 2021 20:00:15 +0000 (16:00 -0400)]
Merge pull request #21440 from eileenmcnaughton/mgd_test

dev/core#2823 fix test to be more like real function usage

3 years agocontact with email might not exist
demeritcowboy [Sun, 12 Sep 2021 13:45:11 +0000 (09:45 -0400)]
contact with email might not exist

3 years agodashboard has no bridge
demeritcowboy [Sun, 12 Sep 2021 12:02:19 +0000 (08:02 -0400)]
dashboard has no bridge

3 years agodev/core#2823 fix test to be more like real function usage
Eileen McNaughton [Sun, 12 Sep 2021 05:42:24 +0000 (17:42 +1200)]
dev/core#2823 fix test to be more like real function usage

3 years agoMerge pull request #21437 from demeritcowboy/dashboard-fail
Eileen McNaughton [Sat, 11 Sep 2021 23:46:42 +0000 (11:46 +1200)]
Merge pull request #21437 from demeritcowboy/dashboard-fail

dev/core#2829 - unit test for nonempty dashboard

3 years agoAuthx: README: add note about CMS permissions
Mathieu Lutfy [Sat, 11 Sep 2021 21:47:48 +0000 (17:47 -0400)]
Authx: README: add note about CMS permissions

3 years agotest for nonempty dashboard
demeritcowboy [Sat, 11 Sep 2021 18:51:39 +0000 (14:51 -0400)]
test for nonempty dashboard

3 years agoAfform - gracefully handle missing html files
Coleman Watts [Sat, 11 Sep 2021 16:12:12 +0000 (12:12 -0400)]
Afform - gracefully handle missing html files

3 years agoMerge pull request #21399 from eileenmcnaughton/mgd
colemanw [Sat, 11 Sep 2021 15:14:54 +0000 (11:14 -0400)]
Merge pull request #21399 from eileenmcnaughton/mgd

dev/core#2823 Extract code to load the declarations and call from the constructor

3 years agoMerge pull request #21400 from eileenmcnaughton/val
colemanw [Sat, 11 Sep 2021 15:10:48 +0000 (11:10 -0400)]
Merge pull request #21400 from eileenmcnaughton/val

dev/core#2823 Move validation into validation function

3 years agoMerge pull request #21434 from demeritcowboy/upgrade-text
Eileen McNaughton [Sat, 11 Sep 2021 03:06:05 +0000 (15:06 +1200)]
Merge pull request #21434 from demeritcowboy/upgrade-text

dev/core#2828 - Make up for message template text version update from 5.20 that never happened

3 years agoMerge pull request #21211 from colemanw/onDeletePrimary
Eileen McNaughton [Sat, 11 Sep 2021 00:46:39 +0000 (12:46 +1200)]
Merge pull request #21211 from colemanw/onDeletePrimary

[REF] Move Email, Address, etc. is_primary handling on delete to a hook (dev/core#2757)

3 years agobetter late than never
demeritcowboy [Sat, 11 Sep 2021 00:15:41 +0000 (20:15 -0400)]
better late than never

3 years agoMerge pull request #21424 from colemanw/apiJoinBridgeCustomFields
Eileen McNaughton [Fri, 10 Sep 2021 23:13:42 +0000 (11:13 +1200)]
Merge pull request #21424 from colemanw/apiJoinBridgeCustomFields

SearchKit - Support custom fields in bridge join entities

3 years agoMerge pull request #21431 from colemanw/searchTableAlign
Eileen McNaughton [Fri, 10 Sep 2021 21:57:39 +0000 (09:57 +1200)]
Merge pull request #21431 from colemanw/searchTableAlign

SearchKit - Fix alignment in table headers

3 years agoMerge pull request #21198 from colemanw/fkConstraint
Eileen McNaughton [Fri, 10 Sep 2021 21:02:19 +0000 (09:02 +1200)]
Merge pull request #21198 from colemanw/fkConstraint

[REF] Mapping - Check FK on delete with SQL instead of PHP (dev/core#2757)

3 years agoSearchKit - Fix alignment in table headers
Coleman Watts [Fri, 10 Sep 2021 14:28:19 +0000 (10:28 -0400)]
SearchKit - Fix alignment in table headers

3 years agoMapping - Check FK on delete with SQL instead of with PHP
Coleman Watts [Fri, 20 Aug 2021 17:24:48 +0000 (13:24 -0400)]
Mapping - Check FK on delete with SQL instead of with PHP

3 years agoMove Email, Address, etc. is_primary handling on delete to a hook
Coleman Watts [Sun, 22 Aug 2021 00:00:32 +0000 (20:00 -0400)]
Move Email, Address, etc. is_primary handling on delete to a hook

Previously this was all done in a delegated function.
This moves that logic to a hook listener.

3 years agoMerge pull request #21426 from eileenmcnaughton/api4
Seamus Lee [Fri, 10 Sep 2021 07:55:54 +0000 (17:55 +1000)]
Merge pull request #21426 from eileenmcnaughton/api4

Replace expensive query with cheaper one

3 years agoTokenProcessor - Allow basic filter/modifier expressions
Tim Otten [Thu, 9 Sep 2021 23:26:08 +0000 (16:26 -0700)]
TokenProcessor - Allow basic filter/modifier expressions

Before
------

`Hello {foo.bar}`

After
-----

`Hello {foo.bar|upper}` and `Hello {foo.bar|lower}`

Technical Details
-----------------

This only supports tokens that supply values through `civi.token.eval`.  At the time of
this commit, most `{contact.*}` tokens still use `TokenCompatSubscriber::onRender()` to
hack-in their values and won't work until they switch over.

The regex which recognizes the filter is pretty tight (`\w+`).  This can be relaxed
somewhat by a subsequent change, but I'd say such a change has a burden to demonstrate
safety/interoparbility when running in Token-Smarty format.  (e.g.  demonstrate that
matching of open/close symbols works correctly).