CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2024-02-21T17:59:01Zhttps://lab.civicrm.org/dev/core/-/issues/5023Add aria-label to CheckBox, Radio and EntityRef in FormBuilder2024-02-21T17:59:01ZJoeMurrayAdd aria-label to CheckBox, Radio and EntityRef in FormBuilderModify
- [ ] CheckBox.html,
- [ ] Radio.html and
- [ ] EntityRef.html
in ext/afform/ang/af/fields/ to add aria-label="{{$ctrl.defn.label}} {{opt.label}}" to the input element's definition.
AGH tested these successfully with VoiceOve...Modify
- [ ] CheckBox.html,
- [ ] Radio.html and
- [ ] EntityRef.html
in ext/afform/ang/af/fields/ to add aria-label="{{$ctrl.defn.label}} {{opt.label}}" to the input element's definition.
AGH tested these successfully with VoiceOver on Safari on a Mac.
See Accessibility notes discussion of https://chat.civicrm.org/civicrm/pl/un7ajre7mbyc3fis4qebnczpse .JoeMurrayJoeMurrayhttps://lab.civicrm.org/dev/core/-/issues/5022MailingEventSubscribe Error2024-02-28T12:46:24ZjmargrafMailingEventSubscribe ErrorOverview
----------------------------------------
MailingEventSubscribe does result in an error message
Reproduction steps
----------------------------------------
1. Check the ID of an existing mailing list group (eg. 60)
2. Open AP...Overview
----------------------------------------
MailingEventSubscribe does result in an error message
Reproduction steps
----------------------------------------
1. Check the ID of an existing mailing list group (eg. 60)
2. Open API-Explorer
3. Send API-Request:
```
$result = civicrm_api3('MailingEventSubscribe', 'create', [
'group_id' => 60,
'email' => "test@example.com",
]);
```
4. Got Error Message:
```
{
"error_code": 0,
"entity": "MailingEventSubscribe",
"action": "create",
"is_error": 1,
"error_message": "Failed to find key by ID or tag (I2s19RqQP0fDuuRcyoyhUhRQiAY)"
}
```
Current behaviour
----------------------------------------
Error Message: "error_message": "Failed to find key by ID or tag (I2s19RqQP0fDuuRcyoyhUhRQiAY)"
Expected behaviour
----------------------------------------
Subscribe to Mailing-List
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __Browser:__ _Firefox 59.0.1/Chrome 78.0.3904/Safari 13_
* __CiviCRM:__ 5.69.5
* __PHP:__ 8.1
* __CMS:__ Drupal 10.2.3
* __Database:__ MariaDB
* __Web Server:__ Apachehttps://lab.civicrm.org/dev/core/-/issues/5020Provide support for the Peppol standard to send invoices from CiviCRM to othe...2024-03-18T15:29:58Zjustinfreeman (Agileware)Provide support for the Peppol standard to send invoices from CiviCRM to other organisationsThis is just a placeholder to see if there is any interest in providing support for the Peppol standard. Did some searching and couldn't find any mentions about this in Lab.
Basically, the idea is to provide support for the Peppol stand...This is just a placeholder to see if there is any interest in providing support for the Peppol standard. Did some searching and couldn't find any mentions about this in Lab.
Basically, the idea is to provide support for the Peppol standard to send invoices from CiviCRM to other organisations. See https://peppol.org/ and participating organisations will be listed here, https://directory.peppol.eu/publichttps://lab.civicrm.org/dev/core/-/issues/5017Fatal Error with Angular Manager.php after upgrading to CiviCRM 5.69.52024-02-23T15:18:48ZLKuttnerFatal Error with Angular Manager.php after upgrading to CiviCRM 5.69.5After upgrading to CiviCRM 5.69.5 from 5.64.4 we get a WSOD.
`Parse error: syntax error, unexpected '=' in .../modules/civicrm/Civi/Angular/Manager.php on line 98`
`Fatal error: Exception thrown without a stack frame in Unknown on line...After upgrading to CiviCRM 5.69.5 from 5.64.4 we get a WSOD.
`Parse error: syntax error, unexpected '=' in .../modules/civicrm/Civi/Angular/Manager.php on line 98`
`Fatal error: Exception thrown without a stack frame in Unknown on line 0
`
I have not been able to identify what is causing this.
I have disabled all the non-standard CiviCRM extensions, with no change.
This is on Drupal 7.99 with PHP 7.3.33. Thank you for any help you can offer.https://lab.civicrm.org/dev/core/-/issues/5015'Clean-up Temporary Data and Files' doesn't empty the tplCache by default2024-02-23T15:18:23ZAndrew West'Clean-up Temporary Data and Files' doesn't empty the tplCache by defaultThe 'Clean-up temporary data and files' scheduled job [doesn't clean the tpl directory by default](https://github.com/civicrm/civicrm-core/blob/06540d39dc2cedcadb19be5c351ef831a9133534/api/v3/Job.php#L631). Should it? We see this balloon...The 'Clean-up temporary data and files' scheduled job [doesn't clean the tpl directory by default](https://github.com/civicrm/civicrm-core/blob/06540d39dc2cedcadb19be5c351ef831a9133534/api/v3/Job.php#L631). Should it? We see this ballooning to tens of gigabytes when sending large mailings.
Workaround is to add the parameter, but it seems like this might catch some people out.
![image](/uploads/85b4275fb08070a8995fe094e32d466e/image.png)https://lab.civicrm.org/dev/core/-/issues/5009SearchKit table display: some pager settings doesn't stick2024-02-14T10:09:42ZnoahSearchKit table display: some pager settings doesn't stick![hidepager](/uploads/df0e16539b7cc4b283b277aa7b036fd6/hidepager.gif)
The screen recording shows that the "Adjustable Page Size" setting doesn't save. This is also true for "Hide Pager if One Page" and most if not all other pager settings.![hidepager](/uploads/df0e16539b7cc4b283b277aa7b036fd6/hidepager.gif)
The screen recording shows that the "Adjustable Page Size" setting doesn't save. This is also true for "Hide Pager if One Page" and most if not all other pager settings.https://lab.civicrm.org/dev/core/-/issues/5004Wrong Contribution ID passed to TokenValueEvent and Duplicate Invoice Numbers...2024-02-22T04:18:48Zginkgomzdginkgomzd@fastmail.comWrong Contribution ID passed to TokenValueEvent and Duplicate Invoice Numbers for Contributions created around same timeNew description after diagnosis:
Code was setting invoice number to a predicted next ContributionID instead of waiting for the Contribution ID to be set.
----
Overview
----------------------------------------
When two contributions are ...New description after diagnosis:
Code was setting invoice number to a predicted next ContributionID instead of waiting for the Contribution ID to be set.
----
Overview
----------------------------------------
When two contributions are made at the same time (same datetime to the second), one of the contributions is assigned a duplicate invoice_number. The invoice number is assigned based on a Contribution ID, therefore, we infer that the Contribution ID is corrected later in the request handling, but the invoice ID is not updated and is therefore a duplicate of another existing contribution.
There is no token for invoice number and we are not using the System Workflow messages that make it available as a variable in Smarty processing.
Our custom token sets it from the Contribution ID passed to TokenValueEvent. Perhaps this is a better framing of the bug over-all... the incorrect Contribution ID is passed to the TokenValueEvent. This is probably inconsequential for most cases since Contribution ID is not a likely token or token dependency.
Reproduction steps
----------------------------------------
It has been observed multiple times in our high-volume event registrations. Reproduction would require submitting simultaneous requests. This might involve some luck, but maybe an appropriately high load compared to the system configuration would trigger the condition reliably.
We are using the payflowpro payment processor extension.
Current behaviour
----------------------------------------
Two contributions, with different but sequential Contribution ID's, share the same invoice_number and are both returned in a search by invoice number.
Expected behaviour
----------------------------------------
The invoice_number should be unique and is expected to be derived from Contribution ID and invoice prefix.https://lab.civicrm.org/dev/core/-/issues/5002Number field input validation does not respect decimal separator (member cust...2024-03-07T12:13:16ZCésarNumber field input validation does not respect decimal separator (member custom field)## Overview
Hello I think its related to: https://lab.civicrm.org/dev/core/-/issues/4941 and https://lab.civicrm.org/dev/core/-/issues/4154
## Reproduction steps
1. Under Administer > Localization > Languages, Currency, Locations, set...## Overview
Hello I think its related to: https://lab.civicrm.org/dev/core/-/issues/4941 and https://lab.civicrm.org/dev/core/-/issues/4154
## Reproduction steps
1. Under Administer > Localization > Languages, Currency, Locations, set "Thousands Separator" to "." (dot) and "Decimal Delimiter" to "," (comma).
2. Create a custom field extending Memberships. Data type: Number. (money works)
3. Edit an existing member (or: add a new member). In the number field, enter a number that includes a comma, such as "1,5".
## Current behaviour
Validation fails with the error message "**Error One of parameters (value: 1,5) is not of the type Float**"
## Environment information
Tested on https://dmaster.demo.civicrm.org/ 5.72.alpha1https://lab.civicrm.org/dev/core/-/issues/5000SearchKit: Allow formatting of the totals in the footer2024-02-14T10:06:39Zsimon.hermannSearchKit: Allow formatting of the totals in the footerSearchKit allows to create a footer row, where the total of a column can be displayed. However, this total does not allow for any formatting or reproduces the formatting of the columns it sums.
It would be great if there would be either ...SearchKit allows to create a footer row, where the total of a column can be displayed. However, this total does not allow for any formatting or reproduces the formatting of the columns it sums.
It would be great if there would be either an option to choose a formatting (decimal separators, thousand separators, currencies if applicable etc) or if the total would reflect the formatting of the column it sums.https://lab.civicrm.org/dev/core/-/issues/4998[PHP 8] Undefined properties @ ext/Standaloneusers DAO2024-02-14T10:05:35Zjofranzfranz@systopia.de[PHP 8] Undefined properties @ ext/Standaloneusers DAOPhpStan is reporting some Undefined properties on current master @ eacd1f4206fab41f0cf14bcbd80b5f7187b42bea
```
➜ standaloneusers (master) phpstan analyse -c ~/repositories/ext/phpstan.d11.neon.dist -l 0 . ...PhpStan is reporting some Undefined properties on current master @ eacd1f4206fab41f0cf14bcbd80b5f7187b42bea
```
➜ standaloneusers (master) phpstan analyse -c ~/repositories/ext/phpstan.d11.neon.dist -l 0 . ✭ ✈
50/50 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
------ --------------------------------------------------------------------------------------
Line CRM/Standaloneusers/DAO/Role.php
------ --------------------------------------------------------------------------------------
100 Access to an undefined property CRM_Standaloneusers_DAO_Role::$__table.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
------ --------------------------------------------------------------------------------------
------ --------------------------------------------------------------------------------------
Line CRM/Standaloneusers/DAO/Session.php
------ --------------------------------------------------------------------------------------
74 Access to an undefined property CRM_Standaloneusers_DAO_Session::$__table.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
------ --------------------------------------------------------------------------------------
------ --------------------------------------------------------------------------------------
Line CRM/Standaloneusers/DAO/User.php
------ --------------------------------------------------------------------------------------
171 Access to an undefined property CRM_Standaloneusers_DAO_User::$__table.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
------ --------------------------------------------------------------------------------------
------ --------------------------------------------------------------------------------------
Line CRM/Standaloneusers/DAO/UserRole.php
------ --------------------------------------------------------------------------------------
65 Access to an undefined property CRM_Standaloneusers_DAO_UserRole::$__table.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
------ --------------------------------------------------------------------------------------
------ ---------------------------------------------------------------------
Line Civi/Api4/Action/User/PasswordReset.php
------ ---------------------------------------------------------------------
36 Instantiated class API_Exception not found.
💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
45 Instantiated class API_Exception not found.
💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
------ ---------------------------------------------------------------------
------ ---------------------------------------------------------------------
Line Civi/Api4/Action/User/SendPasswordReset.php
------ ---------------------------------------------------------------------
40 Instantiated class API_Exception not found.
💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
------ ---------------------------------------------------------------------
------ -----------------------------------------------------------------------------------------
Line Civi/Api4/Action/User/WriteTrait.php (in context of class Civi\Api4\Action\User\Create)
------ -----------------------------------------------------------------------------------------
56 Instantiated class API_Exception not found.
💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
59 Instantiated class API_Exception not found.
💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
------ -----------------------------------------------------------------------------------------
------ ---------------------------------------------------------------------------------------
Line Civi/Api4/Action/User/WriteTrait.php (in context of class Civi\Api4\Action\User\Save)
------ ---------------------------------------------------------------------------------------
56 Instantiated class API_Exception not found.
💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
59 Instantiated class API_Exception not found.
💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
------ ---------------------------------------------------------------------------------------
------ -----------------------------------------------------------------------------------------
Line Civi/Api4/Action/User/WriteTrait.php (in context of class Civi\Api4\Action\User\Update)
------ -----------------------------------------------------------------------------------------
56 Instantiated class API_Exception not found.
💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
59 Instantiated class API_Exception not found.
💡 Learn more at https://phpstan.org/user-guide/discovering-symbols
------ -----------------------------------------------------------------------------------------
------ ------------------------------------------------------------------------------------------------------------
Line Civi/Standalone/Security.php
------ ------------------------------------------------------------------------------------------------------------
24 Unsafe usage of new static().
💡 See: https://phpstan.org/blog/solving-phpstan-error-unsafe-usage-of-new-static
328 Regex pattern is invalid: Unknown modifier '+' in pattern: /
^
\$([a-z0-9-]{1,32}) # Match 1 algorithm identifier
(\$v=[0-9+])? # Match 2 optional version
(\$[a-z0-9-]{1,32}=[a-zA-Z0-9/+.-]*(?:,[a-z0-9-]{1,32}=[a-zA-Z0-9/+.-]*)*)? # 3: optional parameters
\$([a-zA-Z0-9/+.-]+) # Match 4 salt
\$([a-zA-Z0-9/+]+) # Match 5 B64 encoded hash
$/x
------ ------------------------------------------------------------------------------------------------------------
[ERROR] Found 15 errors
```
Touches #4072
Config used: https://github.com/jofranz/civicrm-code-scanshttps://lab.civicrm.org/dev/core/-/issues/4996Standalone - user documentation for user management functionality2024-02-23T16:54:58ZufundoStandalone - user documentation for user management functionalityWould be good to write some user documentation for how to use the standaloneusers user management screen.
I think this belongs somewhere here: https://docs.civicrm.org/sysadmin/en/latest/setup/ ?Would be good to write some user documentation for how to use the standaloneusers user management screen.
I think this belongs somewhere here: https://docs.civicrm.org/sysadmin/en/latest/setup/ ?https://lab.civicrm.org/dev/core/-/issues/4994Standalone - issues with haveibeenpwned on password setting screen?2024-03-26T11:33:19ZufundoStandalone - issues with haveibeenpwned on password setting screen?RichRichhttps://lab.civicrm.org/dev/core/-/issues/4992Standalone - front-end theming2024-02-14T10:01:23ZufundoStandalone - front-end theming@artfulrobot suggests: provide a template for front facing pages. People can edit that file
(manually) to suit. It should not get overwritten on upgrade.@artfulrobot suggests: provide a template for front facing pages. People can edit that file
(manually) to suit. It should not get overwritten on upgrade.RichRichhttps://lab.civicrm.org/dev/core/-/issues/4986Montreal Sprint Topics2024-02-28T23:28:14ZcolemanwMontreal Sprint TopicsBrainstorming ideas for the Montreal Sprint
- Afform testing. Build on [Dave D's extension](https://lab.civicrm.org/extensions/afformminktests)
- Accessibility improvements: priorities may include
- accordion overhaul (#3294 / [dev/...Brainstorming ideas for the Montreal Sprint
- Afform testing. Build on [Dave D's extension](https://lab.civicrm.org/extensions/afformminktests)
- Accessibility improvements: priorities may include
- accordion overhaul (#3294 / [dev/user-interface#67](https://lab.civicrm.org/dev/user-interface/-/issues/67))
- accordions: review [#29533](https://github.com/civicrm/civicrm-core/pull/29533)
- accordions: JS fixes for [#29448](https://github.com/civicrm/civicrm-core/pull/29448)
- select2 upgrade/replacement (#3292)
- ensure all fields have labels (see [testing by mthompson](https://chat.civicrm.org/civicrm/pl/un7ajre7mbyc3fis4qebnczpse) on MM)
- ensure tabs are accessible
- ensure pop-ups (dialogs, notifications) are accessible
- ensure date fields are accessible
- ensure [validation errors](https://chat.civicrm.org/civicrm/pl/seqg55bm4fn58eaybqaz5e7kcr) use best practices
- Improve loading of SK/FormBuilder content client-side (bundle requests to minimize Civi bootstrap cycles)
- Placing fields in a form that are not saved to Civi (but are recorded in `civicrm_afform_submission`)
- UX improvements to FormBuilder
- Keyboard navigation of edit-in-place SK displays (and other afforms?) -- and accessibility more broadly?
- Making FormBuilder field placement more flexible (independent of container)
- Use the Queue system for SearchKit exports
- [Open AdminUI PRs](https://github.com/civicrm/civicrm-core/pulls?q=adminui+OR+admin_ui+OR+%22admin+ui%22+is%3Apr+is%3Aopen)
- [Open Afform/SK/FB PRs](https://github.com/civicrm/civicrm-core/pulls?q=afform+OR+searchkit+OR%22search+kit%22+OR+formbuilder+OR+%22form+builder%22+is%3Apr+is%3Aopen+)https://lab.civicrm.org/dev/core/-/issues/4985Custom radio/checkbox fields - maximum options per line - alignment lost2024-03-29T00:28:52ZsamuelsovCustom radio/checkbox fields - maximum options per line - alignment lostRegression following on #1821.
This is what we used to have (html table so everything is aligned):
![screen1](/uploads/afc5f71950f200da120187746e43f222/screen1.png)
This is what we have now:
![screen2](/uploads/c202f5aa0fccf732d96090...Regression following on #1821.
This is what we used to have (html table so everything is aligned):
![screen1](/uploads/afc5f71950f200da120187746e43f222/screen1.png)
This is what we have now:
![screen2](/uploads/c202f5aa0fccf732d96090fd2d385138/screen2.png)
Currently, it's almost impossible to fix it using css.https://lab.civicrm.org/dev/core/-/issues/4984Display issue on membership view for relationships2024-02-14T09:55:26ZyashodhaDisplay issue on membership view for relationships## Steps to replicate :
* Create a membership type configured with a relationship in both directions.
![Screenshot 2024-02-08 204424.png](/uploads/d4e47bd30b2673291f1e8c5bfe4346aa/Screenshot_2024-02-08_204424.png)
* Create a relations...## Steps to replicate :
* Create a membership type configured with a relationship in both directions.
![Screenshot 2024-02-08 204424.png](/uploads/d4e47bd30b2673291f1e8c5bfe4346aa/Screenshot_2024-02-08_204424.png)
* Create a relationship between contacts that have this relationship "Shares home"
* Create a primary membership on one of them.
* On membership view screen, we can't see the related contact
![Screenshot 2024-02-08 205130.png](/uploads/63407ba8348abd8a2259ad59702c608b/Screenshot_2024-02-08_205130.png)
This should show like (fixed)
![Screenshot 2024-02-08 205008.png](/uploads/fde582a5808cf50f49f8d3fa80cf865c/Screenshot_2024-02-08_205008.png)
I can confirm this is not working on dmaster as well.yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4983FormBuilder - allow injection of js files to afform forms2024-02-14T09:54:42ZseamusleeFormBuilder - allow injection of js files to afform formsAs part of JMA's geotargeted petition extension we have some javascript that we inject on the front end https://lab.jmaconsulting.biz/extensions/geotargetedpetitions/-/blob/main/geotargetedpetitions.php?ref_type=heads#L58. The purpose of...As part of JMA's geotargeted petition extension we have some javascript that we inject on the front end https://lab.jmaconsulting.biz/extensions/geotargetedpetitions/-/blob/main/geotargetedpetitions.php?ref_type=heads#L58. The purpose of the Javascript is to do a dynamic lookup based on address information entered and then add checkboxes onto the form of "your local representatives that we will be contacting"
Is there a way to be able to do this within the GUI of form builder or similar to make it easier to always ensure that the js is loaded rather than just based on a specific block being on the form
@JoeMurray @Edselopez @colemanwhttps://lab.civicrm.org/dev/core/-/issues/4982Form builder - Extension provided entity settings2024-02-14T09:53:44ZseamusleeForm builder - Extension provided entity settingsJMA is in the progress of working on a geographically targeted petition extension
At the moment we have some additional settings that we get a user to set when creating the petition page in Form Builder. These get injected by the alter ...JMA is in the progress of working on a geographically targeted petition extension
At the moment we have some additional settings that we get a user to set when creating the petition page in Form Builder. These get injected by the alter angular hook https://lab.jmaconsulting.biz/extensions/geotargetedpetitions/-/blob/main/geotargetedpetitions.php?ref_type=heads#L76 however this means that even on non petition related form builder forms they will show up.
This is about seeing if there is a better way to achieve this and or see if we can get them put onto the specific settings page for say GeotargetedPetition Entity.
@JoeMurray @Edselopez @colemanwhttps://lab.civicrm.org/dev/core/-/issues/4979Should `die()` be called when a DB Query fails?2024-02-14T09:49:16ZhaystackShould `die()` be called when a DB Query fails?Overview
----------------------------------------
As the title says, when a DB Query fails, `CRM_Utils_File::runSqlQuery()` [calls](https://github.com/civicrm/civicrm-core/blob/fd4913060d8e944a99abe30c22ba670ed0e51a9a/CRM/Utils/File.php#...Overview
----------------------------------------
As the title says, when a DB Query fails, `CRM_Utils_File::runSqlQuery()` [calls](https://github.com/civicrm/civicrm-core/blob/fd4913060d8e944a99abe30c22ba670ed0e51a9a/CRM/Utils/File.php#L327) `die()` and all script execution stop *ahem* dead. Is this intentional?
Reproduction steps
----------------------------------------
1. Install the "Deduper" Extension (v1.7) via the API (sorry @eileen :dove:)
1. See the unrecoverable error "**Cannot execute INSERT INTO civicrm_contact_name_pair_family (id, name_a, name_b, is_most_common_form, is_active) VALUES (65, 'Takahashi', '髙𣘺', 0, 1)**".
Current behaviour
----------------------------------------
There's no way to trap this and continue with a script that installs Extensions via the API.
Edit: apparently there [is a way](https://stackoverflow.com/a/16925225) but this seems a less than sensible way to go about trapping the error.
Expected behaviour
----------------------------------------
A script that installs Extensions via the API should be able to trap the error as an `Exception` with `try/catch` and act accordingly.https://lab.civicrm.org/dev/core/-/issues/4978Creating a user was not succesful2024-02-14T09:48:02ZBetty DolfingCreating a user was not succesfulI wanted to add a user to civistandalone, but had to try 5 times, before I was succesful.
I tried in FF first and after 5 times I switched to Chrome. Then a user was created.
I have the impression that not so much the browser caused th...I wanted to add a user to civistandalone, but had to try 5 times, before I was succesful.
I tried in FF first and after 5 times I switched to Chrome. Then a user was created.
I have the impression that not so much the browser caused the problem, but some kind of error.
However, I only saw for a split second an error message in the right hand corner, so am not aware of the _type_ of error.
For now I am ok and when I add users, I will just keep on trying till I am succesful.
But when Civi stand alone is beyond the beta version, this needs to be fixed.