dev/core#2834 Use event tokens for participant badges
authorEileen McNaughton <emcnaughton@wikimedia.org>
Thu, 23 Sep 2021 09:55:20 +0000 (21:55 +1200)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Tue, 28 Sep 2021 20:44:18 +0000 (09:44 +1300)
commit873bfeb503caa413f17460dbe450b74fac3d6dbf
tree190a8a02661570119e5de5fe1f02477fd098bf60
parent358dde976b57e53552acb8f6e7506250ff18c4d6
dev/core#2834 Use event tokens for participant badges

Overview
----------------------------------------
Convert the rest of event badge token replacement to use
the token processor

Before
----------------------------------------
Testing and conversion had been done for contact
and participant tokens within the event badges - but
for the event tokens tests had been added but
the conversion was pending solving date formatting

After
----------------------------------------
Event badges use the token processor for event tokens

At this point all token processing in core for
participant or event tokens is done in the token
processor & attention can switch to cleaning that up

Technical Details
----------------------------------------
The challenge switching over event tokens was that badges used
a custom date format and we needed to figure out how to support
that first.

This also standardises the event.event_id token to participant.event_id
and updates it in the db for scheduled reminders (badges were using
'event.id' format & reminders the event.event_id format).

There are still some tokens on the scheduled reminders to
standarsise and a loading challenge to fix - but this
concludes the badge portion of fixing up event tokens

Note that the tokenConsistencyTest is the main test cover
for event tokens and it turns out we are not quite there
on the dates based on https://github.com/civicrm/civicrm-core/pull/21584
CRM/Badge/BAO/Badge.php
CRM/Badge/Form/Layout.php
CRM/Event/Tokens.php
CRM/Upgrade/Incremental/php/FiveFortyThree.php
sql/civicrm_generated.mysql
tests/phpunit/CRM/Event/Form/Task/BadgeTest.php
tests/phpunit/CRM/Utils/TokenConsistencyTest.php
xml/templates/civicrm_navigation.tpl