Coleman Watts [Wed, 13 Oct 2021 01:51:59 +0000 (21:51 -0400)]
REF - Fix loop in APIv4 Entity.get to only load ad-hoc entities once
Eileen McNaughton [Wed, 13 Oct 2021 01:19:38 +0000 (14:19 +1300)]
Merge pull request #21803 from colemanw/APIv4EntityEvent
[REF] APIv4 - Dispatch event during Entity.get
demeritcowboy [Wed, 13 Oct 2021 00:03:05 +0000 (20:03 -0400)]
Merge pull request #21801 from eileenmcnaughton/case1
dev/core#2895 handle case ids passed via url
Eileen McNaughton [Tue, 12 Oct 2021 22:37:13 +0000 (11:37 +1300)]
Merge pull request #21806 from totten/5.43-as-ctx
EntityTokens - Normalize data-loading via myEntityId (eg activityId)
Coleman Watts [Tue, 12 Oct 2021 02:32:28 +0000 (22:32 -0400)]
APIv4 - Dispatch event during Entity.get
This allows extensions to modify the list of entities,
enabling "virtual" entities not based on php files.
Eileen McNaughton [Tue, 12 Oct 2021 01:24:49 +0000 (14:24 +1300)]
dev/core#2895 handle case ids passed via url
Tim Otten [Tue, 12 Oct 2021 08:56:14 +0000 (01:56 -0700)]
(NFC) MailingQueryEvent - Update docblock
Tim Otten [Tue, 12 Oct 2021 07:51:15 +0000 (00:51 -0700)]
EntityTokens - getFieldValue() does not need to support actionSearchResult
Tim Otten [Tue, 12 Oct 2021 07:43:17 +0000 (00:43 -0700)]
EntityTokens - Normalize data-loading via `myEntityId` (eg `activityId`)
Before
======
EntityTokens has two protocols for fetching data:
1. For scheduled-reminders, hook into the main query. Add N-ary columns to select
any fields used by tokens.
2. For everything else, expect a parameter `$row->context['activityId']`. Collect
the `activityId`s and fetch the needful via APIv4.
This poses a few challenges, but TLDR it's duplicate functionality. That
means that listeners who consume the `activityId` must check multiple
places. It means that the data-loading could return slightly different data
(ie based on SQL query vs API data-loader).
After
=====
* EntityTokens has one protocol for fetching data: it must receive `activityId`s and then
call APIv4 for the batch.
* For scheduled-reminders, EntityTokens uses a small adapter to ensure that `activityId`s
are available.
Tim Otten [Tue, 12 Oct 2021 05:11:00 +0000 (22:11 -0700)]
Merge pull request #21783 from eileenmcnaughton/money
Use money formatting for currency in templates
Seamus Lee [Tue, 12 Oct 2021 04:35:30 +0000 (15:35 +1100)]
Merge pull request #21796 from eileenmcnaughton/543
dev/core#2904 ensure skipStatusCal not passed from the order api
Seamus Lee [Tue, 12 Oct 2021 03:46:15 +0000 (14:46 +1100)]
Merge pull request #21784 from eileenmcnaughton/api3
dev/core#2902 revert apiv3 handling of membership
Francis Whittle [Tue, 12 Oct 2021 02:17:26 +0000 (13:17 +1100)]
dev/core#2904 Add tests for automatic date calculation for Memberships in Order API.
Eileen McNaughton [Mon, 11 Oct 2021 20:23:27 +0000 (09:23 +1300)]
dev/core#2904 ensure skipStatusCal not passed from the order api
Seamus Lee [Tue, 12 Oct 2021 00:24:54 +0000 (11:24 +1100)]
Merge pull request #21797 from agh1/5.43.0-releasenotes-initial
5.43.0 release notes initial run
Andie Hunt [Mon, 11 Oct 2021 20:36:17 +0000 (16:36 -0400)]
5.43.0 release notes: oops forgot the synopsis
Andie Hunt [Mon, 11 Oct 2021 20:34:21 +0000 (16:34 -0400)]
5.43.0 release notes: added boilerplate
Andie Hunt [Mon, 11 Oct 2021 20:31:08 +0000 (16:31 -0400)]
5.43.0 release notes: raw from script
Eileen McNaughton [Sun, 10 Oct 2021 22:25:58 +0000 (11:25 +1300)]
Use money formatting for currency
colemanw [Mon, 11 Oct 2021 17:35:36 +0000 (13:35 -0400)]
Merge pull request #21792 from colemanw/afformLoadFix
Afform - fix loading custom fields for search displays
Coleman Watts [Mon, 11 Oct 2021 15:34:57 +0000 (11:34 -0400)]
Afform - fix loading custom fields for search displays
CiviCRM [Mon, 11 Oct 2021 07:11:51 +0000 (07:11 +0000)]
Set version to 5.43.beta1
Eileen McNaughton [Mon, 11 Oct 2021 00:06:11 +0000 (13:06 +1300)]
dev/core#2902 revert apiv3 handling of membership
This reverts changes that were making api v3 date handling change if skipStatusCalc were set.
Tim Otten [Mon, 11 Oct 2021 06:39:56 +0000 (23:39 -0700)]
Merge pull request #21787 from eileenmcnaughton/case_email
Remove case token listing from contact email task
Tim Otten [Mon, 11 Oct 2021 06:38:13 +0000 (23:38 -0700)]
Merge pull request #21788 from eileenmcnaughton/selfsvc
Fix another instance of double token rendering
Eileen McNaughton [Mon, 11 Oct 2021 03:56:35 +0000 (16:56 +1300)]
Merge pull request #21786 from eileenmcnaughton/pdf_etails
Remove call to legacy getTokenDetails
Tim Otten [Mon, 11 Oct 2021 03:45:34 +0000 (20:45 -0700)]
Merge pull request #21785 from eileenmcnaughton/sms
Remove extraneous call to legacy token processing in sms task
Eileen McNaughton [Mon, 11 Oct 2021 02:34:16 +0000 (15:34 +1300)]
Fix another instance of double token rendering
Eileen McNaughton [Mon, 11 Oct 2021 02:06:52 +0000 (15:06 +1300)]
Remove case token listing from contact email task
Eileen McNaughton [Mon, 11 Oct 2021 01:24:24 +0000 (14:24 +1300)]
Remove call to legacy getTokenDetails
In this case it is just being used as a v3 api call
Eileen McNaughton [Mon, 11 Oct 2021 00:29:35 +0000 (13:29 +1300)]
Remove extraneous call to legacy token processing in sms task
Tim Otten [Sun, 10 Oct 2021 19:57:52 +0000 (12:57 -0700)]
Merge pull request #21761 from eileenmcnaughton/contact
Contact tokens - use metadata & standardised rendering
demeritcowboy [Sun, 10 Oct 2021 12:35:27 +0000 (08:35 -0400)]
Merge pull request #21781 from eileenmcnaughton/activity_email
dev/core#2901 Fix send email regression
Eileen McNaughton [Sun, 10 Oct 2021 07:06:18 +0000 (20:06 +1300)]
Merge pull request #21782 from eileenmcnaughton/notice
Enotice fix
Eileen McNaughton [Fri, 8 Oct 2021 02:56:26 +0000 (15:56 +1300)]
Fix contact tokens to use apiv4, new style tokens
Seamus Lee [Sun, 10 Oct 2021 03:22:18 +0000 (14:22 +1100)]
Merge pull request #21780 from eileenmcnaughton/api4load
Fix contact tokens class to load using apiv4
Eileen McNaughton [Sun, 10 Oct 2021 02:01:20 +0000 (15:01 +1300)]
Enotice fix
Eileen McNaughton [Sun, 10 Oct 2021 00:59:58 +0000 (13:59 +1300)]
dev/core#2901 Fix send email regression
Eileen McNaughton [Sat, 9 Oct 2021 22:24:05 +0000 (11:24 +1300)]
Fix contact tokens class to load using apiv4
Eileen McNaughton [Sat, 9 Oct 2021 04:29:57 +0000 (17:29 +1300)]
[Ref] Extract getCacheKey
Seamus Lee [Sat, 9 Oct 2021 20:44:55 +0000 (07:44 +1100)]
Merge pull request #21778 from eileenmcnaughton/extract
[REF] Extract function for re-use
Eileen McNaughton [Sat, 9 Oct 2021 07:39:23 +0000 (20:39 +1300)]
[REF] Extract function for re-use
Eileen McNaughton [Sat, 9 Oct 2021 07:41:08 +0000 (20:41 +1300)]
Merge pull request #21772 from totten/master-preview-dialog
(dev/mail#83) message_admin - Cleanup "Preview" dialogs (properly)
colemanw [Sat, 9 Oct 2021 01:15:52 +0000 (21:15 -0400)]
Merge pull request #21775 from colemanw/api4CreateRequestEvent2
APIv4 - Minor code cleanup to improve efficiency in CreateApi4RequestSubscriber
colemanw [Sat, 9 Oct 2021 01:15:30 +0000 (21:15 -0400)]
Merge pull request #21773 from totten/master-preview-locale
(dev/mail#83) message_admin - When using "Preview", use the 'locale' from the editing UI
Eileen McNaughton [Sat, 9 Oct 2021 01:06:27 +0000 (14:06 +1300)]
Merge pull request #21774 from totten/master-draft-save
(dev/mail#83) message_admin - Save automatically when adding/removing drafts
Eileen McNaughton [Sat, 9 Oct 2021 00:26:07 +0000 (13:26 +1300)]
Merge pull request #21764 from colemanw/afformLinkIcon
Afform Admin add link icon & template cleanup
Coleman Watts [Fri, 8 Oct 2021 23:37:46 +0000 (19:37 -0400)]
APIv4 - Minor code cleanup to improve efficiency in CreateApi4RequestSubscriber
There is no need to check if class_exists() for custom entities.
Tim Otten [Fri, 8 Oct 2021 22:52:19 +0000 (15:52 -0700)]
(dev/mail#83) message_admin - Save automatically when adding/removing drafts
Tim Otten [Fri, 8 Oct 2021 22:34:53 +0000 (15:34 -0700)]
Merge pull request #21763 from eileenmcnaughton/trait
Remove stray token code
Tim Otten [Fri, 8 Oct 2021 21:54:46 +0000 (14:54 -0700)]
message_admin - Properly cleanup the `onPreview` listener
Use-case:
1. Open the editor a message template (eg `#/edit?id=17&lang=fr_FR`). This renders the edit screen.
2. Click on the "Preview" icon.
3. Close the "Preview" dialog.
4. Change the URL to navigate internally to another template (eg `#/edit?id=17&lang=de_DE`). This renders the edit screen again.
5. Click on the "Preview" icon.
Before:
* It subsequently opens two copies of the "Preview" dialog (each with
slightly different options). Initially, you see one dialog. When that
close, you will see the other dialog.
* As you proceed through closing the dialogs, you may get console warnings
because the dialogs have the same name -- and they consequently trip-up
each other.
After:
* It only opens one copy of the "Preview" dialog.
Technical Details:
* When rendering the setup screen (`#1`/`#4`), it registers a listener which
will handle the "Preview" clicks. But the listener is not properly
unregistered. Consequently, old listeners hang around. So the click at
step `#5` calls both the old+new listeners, creating two dialogs.
Seamus Lee [Fri, 8 Oct 2021 21:35:59 +0000 (08:35 +1100)]
Merge pull request #21771 from colemanw/api4CreateRequestEvent
[REF] APIv4 - Use event instead of hardcoded list to resolve entityName to className
Tim Otten [Fri, 8 Oct 2021 21:27:42 +0000 (14:27 -0700)]
message_admin - When using "Preview", use the 'locale' from the editing UI
Tim Otten [Fri, 8 Oct 2021 21:01:08 +0000 (14:01 -0700)]
(NFC) Edit.js - Remove old comment
Tim Otten [Fri, 8 Oct 2021 20:53:41 +0000 (13:53 -0700)]
(REF) message_admin - Split the steps of loading data and rendering
This will make it easier to inject different values while editing
Tim Otten [Thu, 7 Oct 2021 23:34:59 +0000 (16:34 -0700)]
GenericWorkflowMessage - Document `$tokenContext[locale]`
Coleman Watts [Fri, 8 Oct 2021 19:23:59 +0000 (15:23 -0400)]
APIv4 - Use event instead of hardcoded list to resolve entityName to className
Typically an APIv4 entity name and class name are the same,
e.g. the "Contact" entity has the class `Civi\Api4\Contact`.
However, there are a few oddballs (CiviCase, CustomValue) and other extensions
may introduce their own oddball entities; this event allows them to do so.
Eileen McNaughton [Fri, 8 Oct 2021 10:24:18 +0000 (23:24 +1300)]
Merge pull request #21756 from eileenmcnaughton/tt
Fix token regression - re-add support for empty tokens
Eileen McNaughton [Fri, 8 Oct 2021 06:06:56 +0000 (19:06 +1300)]
Merge pull request #21768 from demeritcowboy/remove-wombats
[NFC/Unit Test] Remove wombats and bananas from sites/default/files/civicrm/custom
Tim Otten [Fri, 8 Oct 2021 05:54:51 +0000 (22:54 -0700)]
(NFC) TokenConsistencyTest - Small tweaks
1. You don't need to call evaluate() twice. It should be once after filling both rows+messages.
2. Add messages to clarify assertions
Tim Otten [Fri, 8 Oct 2021 05:12:17 +0000 (22:12 -0700)]
Merge pull request #21522 from eileenmcnaughton/flex
dev/core#2836 install flexmailer by default on new installs [token]
Eileen McNaughton [Thu, 7 Oct 2021 09:31:08 +0000 (22:31 +1300)]
Remove token code from not-adopted pattern
colemanw [Fri, 8 Oct 2021 02:47:59 +0000 (22:47 -0400)]
Merge pull request #21767 from eileenmcnaughton/meta
Reference token metadata internally fix custom tokens label bug
Eileen McNaughton [Fri, 8 Oct 2021 02:35:58 +0000 (15:35 +1300)]
Merge pull request #21766 from demeritcowboy/test-case-email
[NFC] Add test for new case email url
Tim Otten [Thu, 7 Oct 2021 23:45:23 +0000 (16:45 -0700)]
sql/civicrm_generated.mysql - Regen
Eileen McNaughton [Fri, 8 Oct 2021 00:01:50 +0000 (17:01 -0700)]
dev/core#2836 install flexmailer by default on new installs
Tim Otten [Thu, 7 Oct 2021 23:59:47 +0000 (16:59 -0700)]
(REF) MailingTest - Relax assertions around `{action.*}`
* Only check for http://{action.*}` on legacy mailer
* Split assertions to be more readable
* Accept `h=` or `h=fakehash`
demeritcowboy [Fri, 8 Oct 2021 00:12:09 +0000 (20:12 -0400)]
remove wombats and bananas
Tim Otten [Mon, 4 Oct 2021 21:29:45 +0000 (14:29 -0700)]
MailingTest - Slightly relax assertion about failure-message
In this error scenario, both BAO and Flexmailer complain. Flexmailer is slightly more specific in that its error reports
the actual field names (`body_text`, `body_html`) rather than a phony field `body`.
Eileen McNaughton [Sat, 18 Sep 2021 00:00:45 +0000 (12:00 +1200)]
(NFC) MailingTest - Swap quotes. Switch assertFoos(). Declare return types.
demeritcowboy [Thu, 7 Oct 2021 23:26:40 +0000 (19:26 -0400)]
Merge pull request #21717 from jmcclelland/notedatefield
ensure blank note date in UI defaults to current date.
demeritcowboy [Thu, 7 Oct 2021 18:37:33 +0000 (14:37 -0400)]
add test
Eileen McNaughton [Thu, 7 Oct 2021 19:30:47 +0000 (08:30 +1300)]
Reference token metadata internally
This references the token metadata rather than the metadata retrieved from the api
call. Since the former is cached it should save a look up -
albeit not when prefetch is happening, at this stage
Eileen McNaughton [Thu, 7 Oct 2021 22:01:30 +0000 (11:01 +1300)]
Merge pull request #21660 from eileenmcnaughton/dep
[REF] Move getCustomFieldTokens to the tokens class, annotate more deprecations
demeritcowboy [Thu, 7 Oct 2021 21:35:50 +0000 (17:35 -0400)]
Merge pull request #21669 from MegaphoneJon/event-64
fixes event#64: Send event confirmation to submitted email address
Tim Otten [Thu, 7 Oct 2021 21:30:27 +0000 (14:30 -0700)]
Merge pull request #21704 from eileenmcnaughton/date_regression
Master only regression - fix empty token date
Jamie McClelland [Mon, 4 Oct 2021 13:44:02 +0000 (09:44 -0400)]
ensure blank note date in UI defaults to current date.
See https://lab.civicrm.org/dev/core/-/issues/2884
Eileen McNaughton [Wed, 29 Sep 2021 04:44:32 +0000 (17:44 +1300)]
Move getCustomFieldTokens to the tokens class
This deprecates (quietly) another function on CRM_Utils_Token. It's a pretty small function -
the sort you'd just copy & paste if you wanted to use outside of core but
I didn't add noise. The only core place that calls this is the tokenTrait
- which is 'used' by activity tokens - but only for the handling of _N_
which I think was actually not supposed to have been included in the merge.
Anyway - I'm leaving that question for later because I'm not sure if the token
trait is used outside of core or how our final interface will look
Eileen McNaughton [Thu, 7 Oct 2021 19:04:18 +0000 (08:04 +1300)]
Merge pull request #21765 from colemanw/arrayShapes
[NFC] Afform - Add array shape annotations to FormDataModel
Coleman Watts [Thu, 7 Oct 2021 17:22:06 +0000 (13:22 -0400)]
Afform - Add array shape annotations to FormDataModel
colemanw [Thu, 7 Oct 2021 17:19:44 +0000 (13:19 -0400)]
Merge pull request #21759 from colemanw/afformApiFixes
Afform - Fix chainSelect to work with anonymous users
colemanw [Thu, 7 Oct 2021 16:33:58 +0000 (12:33 -0400)]
Merge pull request #21705 from eileenmcnaughton/prefix
dev/core#2650 switch contact.individual_prefix tokens to contact.prefix_id:label (former still works)
colemanw [Thu, 7 Oct 2021 16:19:56 +0000 (12:19 -0400)]
Merge pull request #21745 from eileenmcnaughton/e_build
Support participant & membership tokens in send-email tasks
Coleman Watts [Thu, 7 Oct 2021 16:03:35 +0000 (12:03 -0400)]
Afform - Add title to GUI editor page
Coleman Watts [Thu, 7 Oct 2021 15:55:55 +0000 (11:55 -0400)]
Afform Admin add link icon && template cleanup
Yashodha Chaku [Thu, 7 Oct 2021 15:55:15 +0000 (21:25 +0530)]
Merge pull request #21758 from eileenmcnaughton/contactv4
Remove function duplicated in error
colemanw [Thu, 7 Oct 2021 14:14:37 +0000 (10:14 -0400)]
Merge pull request #21760 from eileenmcnaughton/pseudo
Remove now-obsolete getPseudoTokens
Coleman Watts [Thu, 7 Oct 2021 04:24:07 +0000 (00:24 -0400)]
Afform - Fix chainSelect to work with anonymous users
Eileen McNaughton [Thu, 7 Oct 2021 11:40:22 +0000 (00:40 +1300)]
Remove static caching in deprecated function that seems to break tests
Eileen McNaughton [Thu, 7 Oct 2021 11:38:24 +0000 (00:38 +1300)]
Merge pull request #21646 from MegaphoneJon/core-2874
fixes core#2874 - Search Builder on State/Province with Primary and IN
Eileen McNaughton [Thu, 7 Oct 2021 04:38:32 +0000 (17:38 +1300)]
Remove now-obsolete getPseudoTokens
This is now only called from legacy code. The buildContributionArray path
is still a little used :-( but is tested
from CRM_Contribute_Form_Task_PDFLetterCommonTest
and hard-coding the array now it is settled is appropriate
to that code path's life expectancy
This code is no longer used in the Tokens classes and the functions that used it
from outside of there are now 'settled into their final state & waiting to die'
so a hard-coded list will see out their lives. They are marked now as deprecated
Eileen McNaughton [Thu, 7 Oct 2021 02:06:59 +0000 (15:06 +1300)]
Clean up tests to call full postProcess for tasks
Coleman Watts [Wed, 6 Oct 2021 21:26:41 +0000 (17:26 -0400)]
Afform - Rename submitFile param from entityName to modelName
$entityName is already a private property of APIv4 and has its own getter
which conflicted with a getter for a param named $entityName.
Better to just rename it.
Eileen McNaughton [Thu, 7 Oct 2021 04:11:59 +0000 (17:11 +1300)]
Remove function duplicated in error
This function lives on & is called on the
Eileen McNaughton [Thu, 7 Oct 2021 03:58:58 +0000 (16:58 +1300)]
Test & align empty token handling
Eileen McNaughton [Wed, 6 Oct 2021 11:01:03 +0000 (00:01 +1300)]
Add token support for participant & membership tasks
Eileen McNaughton [Wed, 6 Oct 2021 09:22:30 +0000 (22:22 +1300)]
Adjust getRows result to have schema as a key
It becomes too complex to handle in email trait otherwise
Eileen McNaughton [Wed, 6 Oct 2021 04:28:17 +0000 (17:28 +1300)]
Move crazy submit pre-processing out of buildForm
Eileen McNaughton [Wed, 6 Oct 2021 08:01:40 +0000 (21:01 +1300)]
Simplify getSubject
colemanw [Thu, 7 Oct 2021 00:38:21 +0000 (20:38 -0400)]
Merge pull request #21706 from eileenmcnaughton/token_metadata
Tokens - Hide more sophisticated tokens. Refactor to use "$this->tokenMetadata".