Jens Schuppe [Fri, 15 Oct 2021 10:00:08 +0000 (12:00 +0200)]
Fix possible recursion during Entity::get()
Use plain SQL instead of APIv4 in a function that is called by APIv4 Entity.get
to avoid an infinite loop.
Eileen McNaughton [Fri, 15 Oct 2021 08:51:17 +0000 (21:51 +1300)]
Merge pull request #21837 from totten/5.43-nfc-escape
(NFC) TokenConsistencyTest - Add some examples of HTML escaping
Tim Otten [Fri, 15 Oct 2021 06:00:35 +0000 (23:00 -0700)]
(NFC) TokenConsistencyTest - More aggressive test cleanup
Tim Otten [Fri, 15 Oct 2021 00:53:04 +0000 (17:53 -0700)]
(NFC) TokenConsistencyTest - Add some examples of HTML escaping
Tim Otten [Thu, 14 Oct 2021 08:03:15 +0000 (01:03 -0700)]
Merge pull request #21830 from totten/5.43-regen
(dev/core#2836) regen.sh - Fix incorrect reference to "flexmailer". Update data file.
Seamus Lee [Thu, 14 Oct 2021 06:08:16 +0000 (17:08 +1100)]
Merge pull request #21828 from colemanw/api4RecursionFix
APIv4 - Fix possible recursion during Entity::get()
Seamus Lee [Thu, 14 Oct 2021 06:06:15 +0000 (17:06 +1100)]
Merge pull request #21831 from seamuslee001/5.43
Add release-notes/5.42.1.md
Tim Otten [Thu, 14 Oct 2021 04:03:27 +0000 (21:03 -0700)]
Add release-notes/5.42.1.md
Tim Otten [Thu, 14 Oct 2021 05:52:28 +0000 (22:52 -0700)]
Merge pull request #21826 from eileenmcnaughton/cancellabel
Fix translation regression in recurring edit workflow template
Tim Otten [Thu, 14 Oct 2021 04:27:33 +0000 (21:27 -0700)]
Regenerate `sql/civicrm_generated.mysql`
Tim Otten [Thu, 14 Oct 2021 04:22:19 +0000 (21:22 -0700)]
bin/regen.sh - Fix misnamed extension
The script tries to filter the list of extensions that wind up in the sample data-set.
The filter list targets `full_name` (ie long name), but some of the values are inaccurate.
Coleman Watts [Thu, 14 Oct 2021 02:45:29 +0000 (22:45 -0400)]
APIv4 - Fix possible recursion during Entity::get()
Eileen McNaughton [Wed, 13 Oct 2021 23:28:32 +0000 (12:28 +1300)]
Fix translation regression in recurring edit workflow template
Eileen McNaughton [Wed, 13 Oct 2021 22:50:20 +0000 (11:50 +1300)]
Merge pull request #21824 from eileenmcnaughton/getfields
Use preferred entity name (Website not website)
Eileen McNaughton [Wed, 13 Oct 2021 20:03:16 +0000 (09:03 +1300)]
Use preferred entity name (Website not website)
Eileen McNaughton [Wed, 13 Oct 2021 19:18:42 +0000 (08:18 +1300)]
Merge pull request #21821 from totten/5.43-event-actres
(REF) Tokens - Populate "Event"/"Participant" without direct access to actionSearchResult
Eileen McNaughton [Wed, 13 Oct 2021 04:52:49 +0000 (17:52 +1300)]
Merge pull request #21818 from alifrumin/rn5.43
[NFC] First Pass Release notes 5.43
Eileen McNaughton [Wed, 13 Oct 2021 04:52:32 +0000 (17:52 +1300)]
Merge pull request #21819 from colemanw/APIv4EntityEvent2
REF - Fix loop in APIv4 Entity.get to only load ad-hoc entities once
Eileen McNaughton [Wed, 13 Oct 2021 03:49:10 +0000 (16:49 +1300)]
Merge pull request #21812 from eileenmcnaughton/gdpr_tokens
dev/core#2907 fix for gdpr clobering contact tokens
Tim Otten [Wed, 13 Oct 2021 03:06:25 +0000 (20:06 -0700)]
(REF) ParticipantTokens - Simplify
The previous commit passes `eventId` through the front-door of `$context`,
so we shouldn't need as much special effort to bring it in the side-door.
Tim Otten [Wed, 13 Oct 2021 03:02:51 +0000 (20:02 -0700)]
(REF) Tokens - Populate "Event"/"Participant" without direct access to actionSearchResult
Overview
--------
When sending a scheduled remidner for a `civicrm_participant` record, it supports
tokens for both `{participant.*}` (`$context['participantId']`) and `{event.*}`
(`$context['eventId']`). This creates a special requirement to load the `eventId`
in addition to the `participantId`.
This patch changes the way in which `eventId` is loaded.
Before
------
In `ParticipantToken`, the token-evaluation-step for `{participant.*}`
tokens has a side-effect of copying `$context['eventId']` based on reading
`actionSearchResult` (although this appears indirect).
After
-----
The action-search returns `tokenContext_eventId`, which automatically maps
to `$context['eventId']`.
This means that the `eventId` will be set before evaluation begins.
Alice Frumin [Tue, 12 Oct 2021 17:32:59 +0000 (13:32 -0400)]
[NFC] first pass at 5.43 release notes
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 [Tue, 12 Oct 2021 19:46:39 +0000 (08:46 +1300)]
dev/core#2907 fix for gdpr clobering contact tokens
This is a fix for contact tokens not rendering when gdpr tokens is installed.
Gdpr declares some addtional tokens with the namespace 'contact'. I am inclined to
agree this counts as 'naughty' and so while I have fixed the clobbering by
not processing contact-metadata tokens I have not fixed the enotices.
If we think it is non-naughty I can kill those - but I've already loosened
some strictness that I think had benefits in order to facilitate this
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