Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-03-01T00:00:50Zhttps://lab.civicrm.org/dev/core/-/issues/5041Make Font Awesome icons more accessible2024-03-01T00:00:50ZnicolMake Font Awesome icons more accessibleIcon fonts aren't accessible by default as, unlike images, they don't have an alt description.
Updating this issue following feedback from @mthompson in the [accessibility channel](https://chat.civicrm.org/civicrm/pl/pa1hs9qsnty75bhb9qy...Icon fonts aren't accessible by default as, unlike images, they don't have an alt description.
Updating this issue following feedback from @mthompson in the [accessibility channel](https://chat.civicrm.org/civicrm/pl/pa1hs9qsnty75bhb9qy54j715w).
We started looking at [Font Awesome's recommendation](https://fontawesome.com/docs/web/dig-deeper/accessibility) to distinguish between icons that are 'decorative', ie not useful and screen readers can ignore, hidden with `aria-hidden="true"`; vs 'semantic', this is meaningful and important, e.g. a bookmark icon.
However, @mthompson said "icons are not really decorative elements (which are commonly excluded). They are functional... Even with decorative it requires a good understanding of what needs to be included and what should be hidden, depending on context and purpose of the decorations. A good rule of thumb is to question why a particular graphic is there and would hiding it be discriminatory or helpful."
I turned then to the [WCAG guidelines on icons](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA24) (should have started there) and they don't recommend using `aria-hidden="true"`. They instead suggest `role="img"`with `aria-label`, e.g. `<span class="icon icon-email" role="img" aria-label="Email"></span>`.
This isn't what Civi docs or help icon classes do. So this issue has three steps:
- [ ] update the docs, to suggest best practice for icons: https://docs.civicrm.org/dev/en/latest/framework/ui/#icons
- [ ] update the [icon helper functions](https://docs.civicrm.org/dev/en/latest/framework/ui/#icon-helper-functions) that auto-generate icon markup
- [ ] bulk update icons in the Civi UI. It may be that the font-awesome name is helpful in most instances so this could be done by script… e.g. turning `<i class="crm-i fa-birthday-cake" aria-hidden="true"></i>` into `<span class="crm-i fa-birthday-cake" role="img" aria-label="birthday cake"></span>` (emphasis isn't supported for aria-label).https://lab.civicrm.org/dev/core/-/issues/5040Events - Registration Confirmation and Receipt (on-line) template fails to co...2024-03-12T00:54:25ZspalmstromEvents - Registration Confirmation and Receipt (on-line) template fails to compileOverview
----------------------------------------
The default `Events - Registration Confirmation and Receipt (on-line)` fails to compile, giving this error:
`"Syntax error in template "eval:{crmScope extensionKey=""}<!DOCTYPE html..."...Overview
----------------------------------------
The default `Events - Registration Confirmation and Receipt (on-line)` fails to compile, giving this error:
`"Syntax error in template "eval:{crmScope extensionKey=""}<!DOCTYPE html..." on line 471 "{capture assign=selfservice_preposition}{if 0 && > 0}{ts}before{/ts}{else}{ts}after{/ts}{/if}{/capture}" - Unexpected "> ""`
|----------------------------------------------------------|
Reproduction steps
----------------------------------------
1. Attempt to register for an event.
1. Enter details.
1. Click on Review.
1. Click on Register.
1. You get an error message.
Current behaviour
----------------------------------------
This error message is generated internally, but was only visible when debugging because of [Call to SmartyCompilerException fails in <drupal root>/vendor/civicrm/civicrm-packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on template compiler error.
](https://lab.civicrm.org/dev/core/-/issues/5039)
```
"Syntax error in template "eval:{crmScope extensionKey=""}<!DOCTYPE html..." on line 471 "{capture assign=selfservice_preposition}{if 0 && > 0}{ts}before{/ts}{else}{ts}after{/ts}{/if}{/capture}" - Unexpected "> ""
```
Expected behaviour
----------------------------------------
You get a registration confirmation page.
Environment information
----------------------------------------
* __Browser:__ _MS Edge_ but probably irrelevant
* __CiviCRM:__ _5.70.1_
* __PHP:__ _8.3.1__
* __CMS:__ _Drupal 10.2.3_
* __Database:__ _MySQL 8.0.36_ but probably irrelevant.
* __Web Server:__ _IIS_ but probably irrelevant.
Comments
----------------------------------------
The 'offending' code is somewhere here, I suspect (lines 461 - 471) but I haven't been able to discover it.
```
{if {event.allow_selfcancelxfer|boolean}}
<tr>
<td colspan="2" {$valueStyle}>
{capture assign=selfservice_preposition}{if {event.selfcancelxfer_time|boolean} && {event.selfcancelxfer_time} > 0}{ts}before{/ts}{else}{ts}after{/ts}{/if}{/capture}
{ts 1="{event.selfcancelxfer_time}" 2="$selfservice_preposition"}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts}
{if {contribution.paid_amount|boolean}}{ts}Cancellations are not refundable.{/ts}{/if}<br/>
{capture assign=selfService}{crmURL p='civicrm/event/selfsvcupdate' q="reset=1&pid={participant.id}&{contact.checksum}" h=0 a=1 fe=1}{/capture}
<a href="{$selfService}">{ts}Click here to transfer or cancel your registration.{/ts}</a>
</td>
</tr>
{/if}
```5.71.0https://lab.civicrm.org/dev/core/-/issues/5039Call to SmartyCompilerException fails in <drupal root>/vendor/civicrm/civicrm...2024-03-07T13:30:53ZspalmstromCall to SmartyCompilerException fails in <drupal root>/vendor/civicrm/civicrm-packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on template compiler error.Overview
----------------------------------------
When `<drupal root>/vendor/civicrm/civicrm-packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php` fails to compile a template, it attempts to cre...Overview
----------------------------------------
When `<drupal root>/vendor/civicrm/civicrm-packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php` fails to compile a template, it attempts to create a `SmartyCompilerException` by calling this code:
```
$e = new SmartyCompilerException($error_text);
$e->line = $line;
$e->source = trim(preg_replace('![\t\r\n]+!', ' ', $match[ $line - 1 ]));
$e->desc = $args;
$e->template = $this->template->source->filepath;
throw $e;
```
It crashes on the first line giving this message instead.
```
PHP Fatal error: Type of SmartyCompilerException::$line must be int (as in class Exception) in D:\CiviCRM_Custom.git\drupal_test\vendor\civicrm\civicrm-packages\smarty3\vendor\smarty\smarty\libs\sysplugins\smartycompilerexception.php on line 8
```
Reproduction steps
----------------------------------------
1. Attempt to register for an event on line.
1. Enter details.
1. Click Review.
1. Click Register.
Current behaviour
----------------------------------------
With the current (5.70.1) `Events - Registration Confirmation and Receipt (on-line)` template, you get the above error.
|----------------------------------------------------------
Expected behaviour
----------------------------------------
You get a successful registration.
Environment information
----------------------------------------
* __Browser:__ _MS Edge_ but probably irrelevant
* __CiviCRM:__ _5.70.1_
* __PHP:__ _8.3.1__
* __CMS:__ _Drupal 10.2.3_
* __Database:__ _MySQL 8.0._
* __Web Server:__ _IIS_
Comments
----------------------------------------
The fatal error occurs in the first line of the code snippet (line 1153) before the line number is entered. I have been unable to determine which Exception is being extended. This will, of course, only be an issue if there is a problem compiling a template.https://lab.civicrm.org/dev/core/-/issues/5038Default admin when installing2024-03-07T21:36:59ZErikHommelDefault admin when installingWhen installing standalone a user name and password can be entered. These fields have defaults, which led to confusions by 2 installers. They did not notice this and left the default values, and later on could not log in as they did not ...When installing standalone a user name and password can be entered. These fields have defaults, which led to confusions by 2 installers. They did not notice this and left the default values, and later on could not log in as they did not know user nor passwords. Defaults should be removed and fields mandatory.
Also I need to be able to add an email address. If I now did not notice the user and password and then click on the "forgot password" link an email will be sent to a localdomain e-mail address which is not very helpful.https://lab.civicrm.org/dev/core/-/issues/5037Standalone: installation of CiviCRM in another language2024-03-12T13:23:06ZjaapjansmaStandalone: installation of CiviCRM in another languageThe installer for CiviCRM standalone gives an error message when you select another language then English.
The installer is capable of downloading the translation files however this is not implemented yet in the standalone installer.The installer for CiviCRM standalone gives an error message when you select another language then English.
The installer is capable of downloading the translation files however this is not implemented yet in the standalone installer.jaapjansmajaapjansmahttps://lab.civicrm.org/dev/core/-/issues/5036Database Error Using Include/Exclude Search With Long Group Names2024-03-02T03:28:20ZLKuttnerDatabase Error Using Include/Exclude Search With Long Group NamesA database error occurs when attempting to do an Include/Exclude search with a group name over 64 characters in length.
[error]
$Fatal Error Details = array:3 [
"message" => "DB Error: unknown error"
"code" => null
"exception...A database error occurs when attempting to do an Include/Exclude search with a group name over 64 characters in length.
[error]
$Fatal Error Details = array:3 [
"message" => "DB Error: unknown error"
"code" => null
"exception" => Civi\Core\Exception\DBQueryException {
-errorData: array:2 [
"exception" => DB_Error {
+error_message_prefix: ""
+mode: 16
+level: 1024
+code: -1
+message: "DB Error: unknown error"
+userinfo: """
INSERT INTO civicrm_tmp_e_iggroup_1d303da385fcd81408e677514935ea99 (contact_id, group_names)
SELECT civicrm_contact.id as contact_id, civicrm_group.title as group_name
FROM civicrm_contact
INNER JOIN civicrm_group_contact
ON civicrm_group_contact.contact_id = civicrm_contact.id
LEFT JOIN civicrm_group
ON civicrm_group_contact.group_id = civicrm_group.id WHERE
civicrm_group_contact.status = 'Added' AND
civicrm_group_contact.group_id IN(3058) [nativecode=1406 ** **Data too long for column** 'group_names' at row 1]
"""
+backtrace: array:29 [
0 => array:6 [
"file" => ".../modules/civicrm/vendor/pear/db/DB.php"
"line" => 997
"function" => "__construct"
"class" => "PEAR_Error"
"type" => "->"
"args" => array:5 [
0 => "DB Error: unknown error"
1 => -1
2 => 16
3 => array:2 [
0 => "CRM_Core_Error"
1 => "exceptionHandler"
]
4 => """
INSERT INTO civicrm_tmp_e_iggroup_1d303da385fcd81408e677514935ea99 (contact_id, group_names)
SELECT civicrm_contact.id as contact_id, civicrm_group.title as group_name
FROM civicrm_contact
INNER JOIN civicrm_group_contact
ON civicrm_group_contact.contact_id = civicrm_contact.id
LEFT JOIN civicrm_group
ON civicrm_group_contact.group_id = civicrm_group.id WHERE
civicrm_group_contact.status = 'Added' AND
civicrm_group_contact.group_id IN(3058) [nativecode=1406 ** **Data too long for column** 'group_names' at row 1]
"""
]
]https://lab.civicrm.org/dev/user-interface/-/issues/67Tracker for making CiviCRM's accordions accessible2024-03-06T20:54:20ZnicolTracker for making CiviCRM's accordions accessibleIn #60 at least eight accordion markup patterns were identified, demonstrated in ThemeTest. This issue is to track progress on updating all Civi accordion markup to being accessible.
The table below tracks the progress of all of these p...In #60 at least eight accordion markup patterns were identified, demonstrated in ThemeTest. This issue is to track progress on updating all Civi accordion markup to being accessible.
The table below tracks the progress of all of these patterns: bundling pattern 1 and 8 which use the same JS, then there's just three patterns left to make accessible (four, if another instance of an accordion fieldset can be found).
Statuses are either:
- Recommended - a new/agreed pattern, themes should support
- Supported - old pattern but it's still being used, so themes need to support
- Deprecated - old pattern, not being used, so themes can drop support
| Pattern | Status | Initial PR | Current PR |
|---------|--------|------------|------------|
| 1\. crm-accordion-wrapper & crm-accordion-master-wrapper | Supported | [28415](https://github.com/civicrm/civicrm-core/pull/28415) | 64 instances - [29448](https://github.com/civicrm/civicrm-core/pull/29448) |
| 2\. crm-dashlet | Supported | [29613](https://github.com/civicrm/civicrm-core/pull/29613) | (only instance, so same) |
| 3\. crm-collapsible | Supported | [28430](https://github.com/civicrm/civicrm-core/pull/28430) | 9 instances - 8 fixed in [29533](https://github.com/civicrm/civicrm-core/pull/29533) |
| 4\. fieldset | Deprecated (?) | [28441](https://github.com/civicrm/civicrm-core/pull/28441) | That PR might have been only instance |
| 5\. Extensions table | Deprecated | [28473](https://github.com/civicrm/civicrm-core/pull/28473) | Was only instance |
| 6\. Angular directive | Deprecated | [28467](https://github.com/civicrm/civicrm-core/pull/28467) | Was only instance |
| 7\. FormBuilder generated accordion | Deprecated | [28449](https://github.com/civicrm/civicrm-core/pull/28449) | Was only instance |
| 8\. crm-accordion-master-wrapper | Supported | [28421](https://github.com/civicrm/civicrm-core/pull/28421) | Bundled with pattern 1 |
Testing of new patterns should be on all CMSs with their default admin theme (e.g. Claro on Drupal 9+) and Civi's Greenwich (default) theme.
### Testing [29533](https://github.com/civicrm/civicrm-core/pull/29533)
| File | Testing URL | UI works? | likely related JS? | status | notes |
|------|-------------|-----------|--------------------|--------|-------|
| templates/CRM/Admin/Form/ScheduleReminders.tpl | civicrm/admin/scheduleReminders?reset=1 & click 'add reminder' | yes: d7+d10+sa+wp | none | functional | tested with and without an sms provider enabled |
| templates/CRM/Admin/Page/APIExplorer.tpl | civicrm/api3 & then select an Entity, such as ACLRole | breaks: d7+d10+sa+wp | yes, [APIExplorer.js](https://github.com/civicrm/civicrm-core/blob/735b4e27d76f8cc9f0da3c573217eb35a6250720/templates/CRM/Admin/Page/APIExplorer.js), broken | broken | documentation tab content appears below explorer tab content; entity dropdowns don't have intended behavior |
| templates/CRM/Case/Form/ActivityTab.tpl | civicrm/contact/view/case?reset=1 under Activities/SearchFilters | yes: d7 | none that controls the accordion | functional | some extra borders appear around the details |
### Testing [29448](https://github.com/civicrm/civicrm-core/pull/29448)
Would remove all instances of pattern 1 and pattern 8 (the majority of Civi's accordions).
- [x] CRMAccordionToggle - Contact/Import/Form/Preview.tpl - civicrm/import/contact \> page 3
- [x] CRMAccordionToggle - Financial/Form/BatchTransaction.tpl - civicrm/batchtransaction?reset=1&bid=1 (after creating a batch)
- [x] Contact dashboard issues - Contact/Form/Contact.tpl
- [x] Contact dashboard issues - Contact/Form/Edit/Address.tpl
- [x] Contact dashboard issues - Contact/Form/Edit/CommunicationPreferences.tpl
- [x] Contact dashboard issues - Contact/Form/Edit/CustomData.tpl
- [x] Contact dashboard issues - Contact/Form/Edit/Demographics.tpl
- [x] Contact dashboard issues - Contact/Form/Edit/Notes.tpl
- [x] Contact dashboard issues - Contact/Form/Edit/TagsAndGroups.tpl
- [x] Doesn't open on validation error - Activity/Form/FollowUp.tpl - civicrm/activity?reset=1&action=add&context=standalone
- [x] Doesn't open on validation error - Core/Form/RecurringEntity.tpl - civicrm/activity?reset=1&action=add&context=standalone
- [x] Doesn't open on validation error - Form/attachment.tpl - civicrm/activity?reset=1&action=add&context=standalone, civicrm/activity/email/add
- [x] Other issue - common/fatal.tpl - make an error, ie civicrm/payment
- [x] Other markup issue - Contribute/Form/AdditionalPayment.tpl - civicrm/payment?action=add&reset=1&id=1
- [x] Other markup issue - Custom/Page/CustomDataView.tpl - tested by @shaneonabike and requesting feedback (seems ok)
- [x] Other markup issue - Contribute/Form/Contribution.tpl - civicrm/contribute/add
- [x] Other UX issue - Case/Form/Activity.tpl - civicrm/contact/view/case (add activity modal)
- [x] Other tiny issue - Pledge/Form/Search.tpl - civicrm/pledge/search?reset=1 - tested by @shaneonabike and requesting feedback (seems ok)
- [x] Ajax issue - Contact/Page/View/GroupContact.tpl - civicrm/contact/view -\> Groups
- [x] Ajax issue - Pledge/Form/Pledge.tpl - civicrm/pledge/add?reset=1&action=add&context=standalone
- [x] Remove from PR - Case/Form/ActivityTab.tpl - civicrm/contact/view/case
- [ ] ~~This shouldn't be accordion - Financial/Form/FinancialAccount.tpl - civicrm/admin/financial/financialAccount?reset=1 + add~~ see #68
- [ ] ~~Does this need to be an accordion? - Case/Form/CaseFilter.tpl - civicrm/case~~ see #68
- [ ] ~~Does this need to be an accordion? - Contribute/Form/ContributionPage/Premium.tpl - civicrm/admin/contribute/custom?action=update&reset=1&id=1&selectedChild=premium~~ see #68
- [ ] ~~Does this need to be an accordion? - SMS/Form/Group.tpl - civicrm/sms/send?reset=1 (install & config SMS dummy ext)~~ see #68
- [ ] ~~Does this need to be an accordion? - SMS/Form/Schedule.tpl - civicrm/sms/send?reset=1~~ see #68
- [x] Custom/Form/Search.tpl (e.g. civicrm/activity/search?reset=1)
- [ ] ~~Cannot find to test - Mailing/Form/Approve.tpl~~ (there is a path but class isn't called anywhere, does it do anything? New issue https://lab.civicrm.org/dev/core/-/issues/5055)
- [x] Create membership, and then click Edit/View and see the Related Contributions - Member/Form/Membership.tpl
- [x] Create report, click a report like Constituent Summary, and view Custom fields in Field selection- Report/Form/Tabs/FieldSelection.tpl
- [x] Create report, click a report like Constituent Summary, and view fields in Filter - Report/Form/Tabs/Filters.tpl
Edit: moved review summary to a comment.
#### Related class issues
These files are not affected by [29448](https://github.com/civicrm/civicrm-core/pull/29448) but have references to `.crm-accordion-wrapper`, `.crm-accordion-header` or `.crm-master-accordion-header` and need attention to eliminate those classes.
- Activity/Form/Search.tpl
- Case/Form/CaseView.js
- Campaign/Form/Gotv.tpl
- Contact/Form/Search/AdvancedCriteria.tpl
- Contact/Page/View/CustomDataView.tpl
- Contact/Page/View/Summary.js
- Dashlet/Page/Blog.tpl
- Financial/Form/FinancialAccount.tpl - see above
We will need to merge [29563](https://github.com/civicrm/civicrm-core/pull/29563) as well for theming issue fix.Improve Civi's front-endnicolnicolhttps://lab.civicrm.org/dev/core/-/issues/5035Editing an unpaid event registration to add a partial payment crashes2024-02-26T22:27:11ZDaveDEditing an unpaid event registration to add a partial payment crashesI think this is at least semi-recent since I know one site that uses this workflow regularly.
1. Create a backend event registration.
2. Uncheck the record payment checkbox.
3. Save.
4. Edit the registration.
5. Check the record payment...I think this is at least semi-recent since I know one site that uses this workflow regularly.
1. Create a backend event registration.
2. Uncheck the record payment checkbox.
3. Save.
4. Edit the registration.
5. Check the record payment checkbox and put in a partial payment.
6. Crash - Mandatory key(s) missing from params array: trxn_date. Note that on edit the Contribution Date field in the payment section is blank, as opposed to when first creating it. But note also that entering a full payment does not crash.
`civicrm_api3('Payment', 'create', Array) at /CRM/Event/Form/Participant.php:1095`5.71.0https://lab.civicrm.org/dev/user-interface/-/issues/66Add a resets file / section to core CSS. List necessary resets here2024-03-01T23:42:31ZnicolAdd a resets file / section to core CSS. List necessary resets hereOpening this as an issue rather than PR in order to gather sufficient number of resets needed before creating a single place in the CSS folder to put them.
CMS admin themes sometimes clash with Civi's CSS. For e.g. Claro (default admin...Opening this as an issue rather than PR in order to gather sufficient number of resets needed before creating a single place in the CSS folder to put them.
CMS admin themes sometimes clash with Civi's CSS. For e.g. Claro (default admin theme in D9+) does this:
```
td {
height: 4rem;
}
```
which makes Civi tables look like this:
![image](/uploads/b38c89de3e97838a2fc94dd3314dd4d2/image.png)
Instead of
![image](/uploads/d44351e711abbe61b08279ed9f5b73cf/image.png)
(reset with `.crm-container td {height: inherit;}`). These resets will be needed in core and any Civi themes.
Some things are smaller, e.g. the new SearchKit UI on Claro looks like this:
![image](/uploads/b6f81108f635fd89300f1b5be10cde75/image.png)
because of the following non-namespaced CSS that ships in Claro:
```
.panel {
margin-block: 1em 3em;
…
```
which can be reset with putting at the top of Civi's css:
```
.crm-container .panel {
margin-block: 0;
…
```https://lab.civicrm.org/dev/core/-/issues/5034Schedule Reminders task for Events fail to complete when Event tokens used in...2024-02-28T12:49:12ZmarcusjwilsonSchedule Reminders task for Events fail to complete when Event tokens used in combination with "Also include" ContactsOverview
----------------------------------------
When Scheduled Reminders are set up for an Event in CiviCRM, and the content of that email includes Tokens relating to the Event (Event Title, Start Date, etc.) AND the user includes addi...Overview
----------------------------------------
When Scheduled Reminders are set up for an Event in CiviCRM, and the content of that email includes Tokens relating to the Event (Event Title, Start Date, etc.) AND the user includes additional Contacts to include in the Scheduled Reminder (in the "Also include" field), this breaks the Scheduled Reminder scheduled task, and it fails to complete.
Reproduction steps
----------------------------------------
1. From an event, set up a Scheduled Reminder to send based on the Event, i.e. 24 hours before the Start Date
2. In the body content of the Scheduled Reminder email, include one or more Tokens related to the Event (Event Title, Event Start Date)
3. In the "Limit or Add Recipients" field for the Scheduled Reminder "Also include" a Contact who is NOT registered as a Participant for the given event
Current behaviour
----------------------------------------
When the scenario above is in place, Scheduled Reminder task trigger by the CiviCRM Cron starts to fail and not complete.
Expected behaviour
----------------------------------------
Scheduled Reminder tasks should continue to run, complete and include the additional Contacts in the Reminder email as well as the Event Participants.
Environment information
----------------------------------------
* __CiviCRM:__ 5.64.4
* __PHP:__ _7.4/8.0__
* __CMS:__ _WordPress 6.4.3_
Comments
----------------------------------------
Tested and reproduced on production site and on a clean Civi+WP site using CiviBuild in test CiviCRM site.https://lab.civicrm.org/dev/core/-/issues/5033Fatal error visiting event registration page with a disabled pricefield2024-02-28T17:30:52Zmagnolia61Fatal error visiting event registration page with a disabled pricefieldOverview
----------------------------------------
Opening a registration page with a priceset with one of the pricefields disabled results in a fatal error.
TypeError: Argument 1 passed to CRM_Event_Form_Registration::getUsedSeatsCount(...Overview
----------------------------------------
Opening a registration page with a priceset with one of the pricefields disabled results in a fatal error.
TypeError: Argument 1 passed to CRM_Event_Form_Registration::getUsedSeatsCount() must be of the type int, null given, called in /var/www/vhosts/xyz/web/sites/all/modules/civicrm/CRM/Event/Form/Registration.php on line 956 in CRM_Event_Form_Registration->getUsedSeatsCount() (line 1040 of /var/www/vhosts/xyz/web/sites/all/modules/civicrm/CRM/Event/Form/Registration.php).
The problem for us is somewhere in the function isOptionFullID.
Something in our priceset does not resolve to valid value for $optId = $option['id'];
when from IsOptionFullID the function getUsedSeatsCount is called it results in an error because it expects an int value for priceFieldValueID
protected function getUsedSeatsCount(int $priceFieldValueID) : int {
Reproduction steps
----------------------------------------
1. An event has a priceset with one of the pricefields disabled
2. Opening the registration page results in a fatal error
Current behaviour
----------------------------------------
![image](/uploads/041bb8c19666fc3f99c3f5bec78606bb/image.png)
![image](/uploads/2ff1b9c96e300515694d0a6930409328/image.png)
Expected behaviour
----------------------------------------
The registration page would show, with the pricefield disabled
Environment information
----------------------------------------
Current master / sandbox
Comments
----------------------------------------
My limited detective and coding skills enable me to reach this far, I have no clue on where to search further and what piece of code is the root cause of this.5.71.0https://lab.civicrm.org/dev/core/-/issues/5032Disabled Event Name Badge Layouts Are Not Disabled2024-02-26T18:57:41ZLKuttnerDisabled Event Name Badge Layouts Are Not DisabledWhen an Event Name Badge Layout is disabled in Administer > CiviEvent > Event Name Badge Layouts, the event name badge layout is marked as Enabled: No.
However when you view the Make Name Badges > Name Badge Format select list, the disab...When an Event Name Badge Layout is disabled in Administer > CiviEvent > Event Name Badge Layouts, the event name badge layout is marked as Enabled: No.
However when you view the Make Name Badges > Name Badge Format select list, the disabled name badge layout still appears in the list and can still be used. This behavior exists in CiviCRM 5.69.5 and has been this way in previous versions for quite a while.5.72.0https://lab.civicrm.org/dev/core/-/issues/5031Standalone - multi-lingual fatals when accessing OptionValues2024-03-06T15:18:42ZufundoStandalone - multi-lingual fatals when accessing OptionValues@bgm :
> if we enable multi-lingual (tested on 5.72/master), it fatals because it tries to access Option Values before i18n dbLocale seems to have been set (i.e. I see it querying civicrm_option_value and not civicrm_option_value_en_US)...@bgm :
> if we enable multi-lingual (tested on 5.72/master), it fatals because it tries to access Option Values before i18n dbLocale seems to have been set (i.e. I see it querying civicrm_option_value and not civicrm_option_value_en_US).
> It happens immediately after enabling multi-lingual: ex: https://smaster.demo.civicrm.org/civicrm/admin/setting/localization?reset=1
>
> Go to Administer > Localization > Translation. Enable multi-lingual, fatals.
>
> I haven't dug into it, but part of me would be pretty happy to deprecate multi-lingual mode, and not support it in Standalone. I do use it, but there are other ways we could support config translation.https://lab.civicrm.org/dev/core/-/issues/5030Columns are misaligned on find participants results2024-02-24T22:10:31ZDaveDColumns are misaligned on find participants resultsI'm not sure if this is recent but seems like something I would have noticed before.
Columns to the right of Amount appear shifted to the right by one.
![untitled3](/uploads/c5254fe4deade1cc45002272980f4a6f/untitled3.png)I'm not sure if this is recent but seems like something I would have noticed before.
Columns to the right of Amount appear shifted to the right by one.
![untitled3](/uploads/c5254fe4deade1cc45002272980f4a6f/untitled3.png)5.72.0https://lab.civicrm.org/dev/core/-/issues/5029sms form missing tokens dropdown and save template section at bottom not hidd...2024-03-08T04:06:42ZDaveDsms form missing tokens dropdown and save template section at bottom not hidden properlyIn a "normal" environment the form isn't borked, but in my environment it seems to come from this change: https://github.com/civicrm/civicrm-core/pull/29429/commits/16b1692e4aebf478f39387ddabc08f1a2c2defae#diff-9a9c24bfd65521aa26fbb9fde3...In a "normal" environment the form isn't borked, but in my environment it seems to come from this change: https://github.com/civicrm/civicrm-core/pull/29429/commits/16b1692e4aebf478f39387ddabc08f1a2c2defae#diff-9a9c24bfd65521aa26fbb9fde3fd54d7a31331abebcb5e8e2a23b1a615bb500eL66
It works again if I put that line back.
The actual error seems to be `Undefined array key "templateSelected" in templates_c\en_US\%%C1\C1C\C1C61753%%InsertTokens.tpl.php on line 34`
This is when you choose the Send Outbound SMS action from the actions dropdown on a contact summary (who has a mobile phone).5.72.0https://lab.civicrm.org/dev/core/-/issues/5028Add CKEditor/WYSIWYG to the Event Confirmation Email Text Field2024-02-28T12:47:28ZpbarmakAdd CKEditor/WYSIWYG to the Event Confirmation Email Text FieldPer a discussion with Eileen, it would be great to finally get the Confirmation Email Text field of Event Online Registrations to use CKEditor. That will allow admins to create much nicer confirmation emails (with embedded graphics and b...Per a discussion with Eileen, it would be great to finally get the Confirmation Email Text field of Event Online Registrations to use CKEditor. That will allow admins to create much nicer confirmation emails (with embedded graphics and branding) without the need to learn HTML. Given the Registration Screen Introductory Text and Thank-you Screen text both have this option, it seems like a good idea to also have it for the confirmation email.https://lab.civicrm.org/dev/core/-/issues/5027Event Confirmation Email Text Token Should be Set as text/html2024-02-28T12:46:59ZpbarmakEvent Confirmation Email Text Token Should be Set as text/htmlPer a chat with Eileen and Seamus, adding a ticket here. The Event confirmation email text is currently not rendering any input HTML tags. It seems this is because the token is not set as "text/html".
Seamus recommended changing https:/...Per a chat with Eileen and Seamus, adding a ticket here. The Event confirmation email text is currently not rendering any input HTML tags. It seems this is because the token is not set as "text/html".
Seamus recommended changing https://github.com/civicrm/civicrm-core/blob/master/CRM/Event/Tokens.php#L239 from this:
```
else {
$tokens[$fieldName]['text/plain'] = $event[$fieldName];
}
```
to this:
```
else {
$type = ($fieldName === 'confirm_email_text' ? 'text/html' : 'text/plain');
$tokens[$fieldName][$type] = $event[$fieldName];
}
```
For my testing, I just added this line around line 227:
`$tokens['confirm_email_text']['text/html'] = $event['confirm_email_text'];`
Either of those seem to solve the issue, converting the value of that field to actual html code.https://lab.civicrm.org/dev/core/-/issues/5026Price Sets: total calculation wrong it decimal separator is different than "."2024-02-26T20:12:20ZmasettoPrice Sets: total calculation wrong it decimal separator is different than "."If I use price sets, when the decimal separator is "," and not "." the calculation of the total does not consider decimals.
Tested on dmaster:
![image](/uploads/beefe52fdfaeb4ff4ec06729528cfd25/image.png)
![image](/uploads/72de7f9df4...If I use price sets, when the decimal separator is "," and not "." the calculation of the total does not consider decimals.
Tested on dmaster:
![image](/uploads/beefe52fdfaeb4ff4ec06729528cfd25/image.png)
![image](/uploads/72de7f9df42afb6097e0e287c817c496/image.png)5.72.0https://lab.civicrm.org/dev/core/-/issues/5025Membership Receipt, online and offline no longer display the "Receipt Message...2024-03-01T00:05:44Zjustinfreeman (Agileware)Membership Receipt, online and offline no longer display the "Receipt Message" which was previously $receipt_text) in the Message Template. The default Message Templates now use $userText which is not being set at allMembership Receipt, online and offline no longer display the "Receipt Message" which was previously $receipt_text) in the Message Template. The default Message Templates now use $userText which is not being set at all.
Looks like the ne...Membership Receipt, online and offline no longer display the "Receipt Message" which was previously $receipt_text) in the Message Template. The default Message Templates now use $userText which is not being set at all.
Looks like the new variable should be $userEnteredText and not $userText from this commit. See https://github.com/civicrm/civicrm-core/commit/40bce8be4f6e64d7b4a3a5c65c361180d5fe197b#diff-a1c8943f991b49e1c885133fad3edc222523542e1ce97b89d7fbba222197000fR1840
I think this problem impacts the following Message Templates:
- membership_offline_receipt_text.tpl
- contribution_invoice_receipt_html.tpl
- contribution_online_receipt_html.tpl
- event_offline_receipt_html.tpl
- membership_online_receipt_html.tpl
Agileware Ref: CIVICRM-2217
Affects CiviCRM 5.69.3 to CiviCRM 5.70.05.71.0https://lab.civicrm.org/dev/core/-/issues/5024FormBuilder: "edit" and "clone" broken for Core Packaged forms2024-02-26T13:16:50ZnoahFormBuilder: "edit" and "clone" broken for Core Packaged formsTo reproduce:
1. Go to https://dmaster.demo.civicrm.org/civicrm/admin/afform
2. On the Submission Forms tab, click "Edit" or "Clone" next to afformQuickAddIndividual or afformQuickAddOrganization.
What happens:
A blank FormBuilder con...To reproduce:
1. Go to https://dmaster.demo.civicrm.org/civicrm/admin/afform
2. On the Submission Forms tab, click "Edit" or "Clone" next to afformQuickAddIndividual or afformQuickAddOrganization.
What happens:
A blank FormBuilder config screen appears.
What should happen:
The config & elements from the selected form should load.colemanwcolemanw