Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-07-05T22:19:53Zhttps://lab.civicrm.org/dev/core/-/issues/4107Disabling an extension should not remove associated permissions from the CMS2023-07-05T22:19:53ZlarsssandergreenDisabling an extension should not remove associated permissions from the CMSDisabling an extension doesn't erase any settings for the extension, except if there is an associated permission in the CMS, which is removed on disabling the extension. When you later re-enable the extension, no one has the permission w...Disabling an extension doesn't erase any settings for the extension, except if there is an associated permission in the CMS, which is removed on disabling the extension. When you later re-enable the extension, no one has the permission which is re-added. This is inconsistent with how all the other settings work and confusing for users and admins (who will wonder why they can't do what they used to be able to do). This came up for me with CDN Tax Receipts, but testing shows it seems to happen with other extensions too.
Is there any reason we couldn't just leave permissions in place on extension disable and remove them instead on uninstall?
Tested on 5.59 on D7.https://lab.civicrm.org/dev/civicrm-asset-plugin/-/issues/4kcfinder libraries is missing files2023-07-05T05:41:48Zkarunadevkcfinder libraries is missing filesI notice there are far more files and directories for kcfinder ./vendor/civicrm/civicrm-packages/kcfinder/ compared to ./web/libraries/civicrm/packages/kcfinder. For example the browse.php file is not present in libraries path, which exp...I notice there are far more files and directories for kcfinder ./vendor/civicrm/civicrm-packages/kcfinder/ compared to ./web/libraries/civicrm/packages/kcfinder. For example the browse.php file is not present in libraries path, which explains why the functionality to find and upload images in CiviMail or CiviEvent does not work and produces a 'page not found' error in the logs
`/libraries/civicrm/packages/kcfinder/browse.php?cms=civicrm&type=images&CKEditor=crmUiId_1&CKEditorFuncNum=0&langCode=en-ca. `
Copying the kcfinder contents from /vendor path to the /libraries path does not help, so there is more to this.
BTW, test case summary is:
#installed with
`
composer create-project drupal/recommended-project <path>
composer require civicrm/civicrm-asset-plugin civicrm/civicrm-drupal-8 civicrm/civicrm-packages
`
Also occurs with
`
composer create-project roundearth/drupal-civicrm-project:8.x-dev www-cmnty-drupal --no-interaction
`
#set permissions (Cpanel machine) run with root
`
cd ./web
chown -R user:nobody .
find . -type d -exec chmod u=rwx,g=rx,o= '{}' \;
find . -type f -exec chmod u=rw,g=r,o= '{}' \;
cd /sites
find . -type d -name files -exec chmod ug=rwx,o= '{}' \;
for d in ./*/files
do
find $d -type d -exec chmod ug=rwx,o= '{}' \;
find $d -type f -exec chmod ug=rw,o= '{}' \;
done
`
#enable
`chmod +w web/sites/default
vendor/drush/drush/drush pm-enable -y civicrm`https://lab.civicrm.org/dev/core/-/issues/2448Possible bug: authenticated user with ACL Edit Right for a group of contacts ...2023-07-05T05:03:19ZalmeidamPossible bug: authenticated user with ACL Edit Right for a group of contacts can "Record Activity, Tag Contact and Add to Group" on ALL contactsOverview
----------------------------------------
I have an ACL role that has Edit right over a group of contacts (group A). When I list all my contacts this user is able perform some actions it shouldn't on the other contacts (not in g...Overview
----------------------------------------
I have an ACL role that has Edit right over a group of contacts (group A). When I list all my contacts this user is able perform some actions it shouldn't on the other contacts (not in group A).
Actions: "Record Activity", "Tag Contact" and "Add to group"
Reproduction steps
----------------------------------------
1. Create ACL with Edit Permission over a group of contacts (i.e. European Manager has Edit Access over European Contacts)
![image](/uploads/33e2bf2f5eadca89c6742b49072991f8/image.png)
2. Give "View All" permission to authenticated users in CMS
OR
Do not give "View All Contacts" permission to authenticated users in CMS AND create a group "All Contacts", add all contacts to that group and give ACL View permission to authenticated users
(Note: the only other CMS permissions set for this role are "CiviCRM: access CiviCRM backend and API and CiviCRM: access AJAX API).
3. List All Contacts
Current behaviour
----------------------------------------
You'll see that this user can perform actions "Record Activity", "Tag Contact" and "Add to Group" on all contacts.
![image](/uploads/7cbd921841b091cf276de03e0b47202d/image.png)
Expected behaviour
----------------------------------------
This user should only be allowed these actions (Record activity, etc) on the contacts it has Edit rights over. For the ones it has only View access, it should only be allowed to "View" and "Send Email".
Environment information
----------------------------------------
* __CiviCRM:__ 5.33.2
* __PHP:__ 7.4
* __CMS:__ Drupal 7
* __Database:__ MySQL 5.7
Comments
----------------------------------------
I am unsure if this is a bug or just a bad configuration on my part, but the inconsistency brought me to create this issue.
I have found a counter example that further exposes this inconsistency:
* When we don't have "View All Contacts" for authenticated users and we an ACL View Permissions on "All Groups" (instead of an ACL View permission over a group of all contacts) .
With this configuration we don't get "Record Activity", "Tag Contact" or "Add to Group" on any of the contacts:
![image](/uploads/6f28d4906016223ffc130e9228c89e19/image.png)
![image](/uploads/1e34b4040254cbfa90d31867b4052772/image.png)
This may actually be the expected result, since my user does not have "Manage Groups" permission.
However, what I would actually like to achieve is:
* All authenticated user can View All contacts
* Users with Edit ACLs can edit specific contacts
* Users with ACL's can Add to groups (and created groups) of contacts ONLY over which they have Edit Permission.
Which seems impossible at the moment.https://lab.civicrm.org/dev/core/-/issues/2445Soft Credit Type does not display in Contribution Detail report2023-07-05T05:03:18ZyashodhaSoft Credit Type does not display in Contribution Detail reportThe value for _Soft Credit Type_ is missing in _Contribution Detail_ report.
![missing_soft_credit_type](/uploads/3b85264817fa79fe1c993ec4a0de80eb/missing_soft_credit_type.png)The value for _Soft Credit Type_ is missing in _Contribution Detail_ report.
![missing_soft_credit_type](/uploads/3b85264817fa79fe1c993ec4a0de80eb/missing_soft_credit_type.png)yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4403SK / API 4 Explorer: event_queue_id, job id, bounce id, etc autocompletes don...2023-07-05T04:30:05ZlarsssandergreenSK / API 4 Explorer: event_queue_id, job id, bounce id, etc autocompletes don't workEdited as this issue is more general than I thought. Fairly minor issue, but:
In SK or API 4 Explorer, for mailing event id fields (event queue id, job id, bounce id, etc), the autocomplete fields don't work. No matter what you input, i...Edited as this issue is more general than I thought. Fairly minor issue, but:
In SK or API 4 Explorer, for mailing event id fields (event queue id, job id, bounce id, etc), the autocomplete fields don't work. No matter what you input, it shows `Loading failed` and you can't make a selection.
To replicate: Choose MailingEventBounce or similar, Where event_queue_id and =.https://lab.civicrm.org/dev/core/-/issues/4408Case Detail Report Template Missing City Field2023-07-05T03:43:28ZLKuttnerCase Detail Report Template Missing City FieldThe Case Detail report template is missing {contact.city} while all the other address fields are available. I do not know how long this has been like this, since we just began using this report. One thought I had was that this might be ...The Case Detail report template is missing {contact.city} while all the other address fields are available. I do not know how long this has been like this, since we just began using this report. One thought I had was that this might be caused by our using the Word replacement feature for City > Town, but disabling it did not help. This is with 59.5.4.
![Missing-City-Field](/uploads/d206a1e64547bdf40a778cd71f19a8c4/Missing-City-Field.PNG)https://lab.civicrm.org/dev/core/-/issues/4407SearchKit: Option to apply style to whole row2023-07-04T23:49:12Zaydunsaidan.saunders@squiffle.ukSearchKit: Option to apply style to whole rowThe most common use of `Style` conditionals for me is setting the `Style` to `Disabled` based on the `Enabled` field.
Currently this requires adding the same conditional to every field in the display.
Suggestion: allow a style to be ap...The most common use of `Style` conditionals for me is setting the `Style` to `Disabled` based on the `Enabled` field.
Currently this requires adding the same conditional to every field in the display.
Suggestion: allow a style to be applied to the whole row.colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4405SearchKit: prevent Smarty parsing content in 'rewrite text'2023-07-04T21:43:41Zaydunsaidan.saunders@squiffle.ukSearchKit: prevent Smarty parsing content in 'rewrite text'Overview
----------------------------------------
The 'Rewrite Text' option in SearchKit tables allows use of Smarty, but Smarty attempts to parse the content of the tokens sometimes resulting in Smarty errors and no results being shown....Overview
----------------------------------------
The 'Rewrite Text' option in SearchKit tables allows use of Smarty, but Smarty attempts to parse the content of the tokens sometimes resulting in Smarty errors and no results being shown.
Reproduction steps
----------------------------------------
1. Create a SearchKit for Job Logs
1. Add `Description` and `Extended data`
1. Add a table with default fields
Check you have data!
1. Enable 'Rewrite Text' on `Description` or `Extended Data` - leave the tokens as provided.
Current behaviour
----------------------------------------
Depending on your job log content there may be no results showing.
My data included a description of `Finished execution of Civirules cron with result: Success (a:0:{}) `
The webserver log shows:
```
[Tue Jul 04 17:14:10.938281 2023] [php7:error] [pid 1081743] [client 127.0.0.1:42138] PHP Fatal error: Smarty error: [in string:Finished execution of Civirules cron with result: Success (a:0:{}) line 1]: syntax error: unrecognized tag: (Smarty_Compiler.class.php, line 440) in /opt/buildkit/build/adminui/web/wp-content/plugins/civicrm/civicrm/packages/Smarty/Smarty.class.php on line 1100, referer: http://adminui.localhost/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fsearch
```
Expected behaviour
----------------------------------------
The tokens should be displayed without Smarty attempting to parse the content.
And relatedly, if using 'Rewrite Text' to combine multiple fields, you may want to enable HTML (eg to add bold or line breaks) without having the token content itself rendered as HTML.
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. -->
* __CiviCRM:__ _Master_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
Comments
----------------------------------------https://lab.civicrm.org/dev/core/-/issues/2195Custom fields of type money and drop-down list with round numbers don't updat...2023-07-04T12:55:04ZDaveDCustom fields of type money and drop-down list with round numbers don't update existing values when you change the option valueCame up reviewing https://github.com/civicrm/civicrm-core/pull/18959
For example:
1. Edit or create a custom field group for contacts.
1. Add a custom field of type money and make it a drop-down select list.
1. For the values, make cho...Came up reviewing https://github.com/civicrm/civicrm-core/pull/18959
For example:
1. Edit or create a custom field group for contacts.
1. Add a custom field of type money and make it a drop-down select list.
1. For the values, make choice 1 have value 10 and choice 2 have value 20.
1. Create a contact and pick one of the choices. Save.
1. Note that in the database in the civicrm_value_XX table this has been stored as 10.00, with the decimals. Note that in civicrm_option_value that the choice is stored as 10, without the decimals.
1. Go and edit the option value and change the value to anything else.
1. What's supposed to happen is that the contact's custom field values should be updated to match. But because of the mismatch above it doesn't change it in civicrm_value_XX and it now appears blank when viewing the contact.
I don't think this is recent.https://lab.civicrm.org/dev/core/-/issues/2437figure out a way to warn about potentially bad sums2023-07-04T05:03:26Zeileenfigure out a way to warn about potentially bad sumsThis is the left join problem - let's assume the search wants to get a list of dad's along with their total contributions - you would construct a search like the one below. However if the dad has 2 children the contribution amount will b...This is the left join problem - let's assume the search wants to get a list of dad's along with their total contributions - you would construct a search like the one below. However if the dad has 2 children the contribution amount will be doubled.
There is no easy answer but potentially we could at least find some way of making them aware there COULD be a problem
![image](/uploads/442277cfb87e21c8e01b4cdc1c3d353c/image.png)
https://dmaster.localhost:32353/civicrm/admin/search#/create/Contact?params=%7B%22version%22:4,%22select%22:%5B%22id%22,%22display_name%22,%22GROUP_CONCAT(Contact_RelationshipCache_Contact_01.display_name)%20AS%20GROUP_CONCAT_Contact_RelationshipCache_Contact_01_display_name%22,%22GROUP_CONCAT(Contact_RelationshipCache_Contact_01.birth_date)%20AS%20GROUP_CONCAT_Contact_RelationshipCache_Contact_01_birth_date%22,%22gender_id:label%22,%22SUM(Contact_Contribution_contact_id_01.total_amount)%20AS%20SUM_Contact_Contribution_contact_id_01_total_amount%22%5D,%22orderBy%22:%7B%7D,%22where%22:%5B%5D,%22groupBy%22:%5B%22id%22%5D,%22join%22:%5B%5B%22Contact%20AS%20Contact_RelationshipCache_Contact_01%22,true,%22RelationshipCache%22,%5B%22id%22,%22%3D%22,%22Contact_RelationshipCache_Contact_01.far_contact_id%22%5D,%5B%22Contact_RelationshipCache_Contact_01.near_relation:name%22,%22%3D%22,%22%5C%22Child%20of%5C%22%22%5D%5D,%5B%22Contribution%20AS%20Contact_Contribution_contact_id_01%22,false,%5B%22id%22,%22%3D%22,%22Contact_Contribution_contact_id_01.contact_id%22%5D%5D%5D,%22having%22:%5B%5D%7Dhttps://lab.civicrm.org/dev/core/-/issues/4382Admin UI causes search builder (not form builder) to crash2023-07-04T01:29:55ZDaveDAdmin UI causes search builder (not form builder) to crashI think it's from here: https://github.com/civicrm/civicrm-core/commit/db712b3108970b3560488928c85d8f0343016603#diff-191c3573321ff5ab86bbe647462fbdbfbf3779611ec18a4aef86ec1a638d0043R5, which conflicts with the url `civicrm/contact/search...I think it's from here: https://github.com/civicrm/civicrm-core/commit/db712b3108970b3560488928c85d8f0343016603#diff-191c3573321ff5ab86bbe647462fbdbfbf3779611ec18a4aef86ec1a638d0043R5, which conflicts with the url `civicrm/contact/search/builder?reset=1`
While technically a regression, given that it's been stated search builder is not officially supported and was removed from the menu for new sites, I think the todo is to give a heads up somehow that in 5.64 search builder will stop working if you enable admin UI.5.64.0https://lab.civicrm.org/dev/core/-/issues/4384AdminUI: Advanced Search not accessible2023-07-04T01:29:21ZlarsssandergreenAdminUI: Advanced Search not accessibleIf you try to access Advanced Search from the menu with AdminUI enabled on dmaster, you get:
![image](/uploads/13cf9f00ac28eb95b4a3f4489c0ddb8d/image.png)
This is due to [PR #26381](https://github.com/civicrm/civicrm-core/pull/26381) an...If you try to access Advanced Search from the menu with AdminUI enabled on dmaster, you get:
![image](/uploads/13cf9f00ac28eb95b4a3f4489c0ddb8d/image.png)
This is due to [PR #26381](https://github.com/civicrm/civicrm-core/pull/26381) and may be related to issue #4360, but I'm not sure so putting this up as a separate issue.
Requires cache clearing while testing.5.64.0https://lab.civicrm.org/dev/core/-/issues/1948Print Report from Manage Case shows relationships from client's other cases2023-07-03T18:38:08ZDaveDPrint Report from Manage Case shows relationships from client's other casesNot sure yet when it started.
1. Create two cases for a client with different case managers assigned.
2. Click on Print Report on Manage Case for either case.
3. It lists the case manager from the other case in the Client Relationships ...Not sure yet when it started.
1. Create two cases for a client with different case managers assigned.
2. Click on Print Report on Manage Case for either case.
3. It lists the case manager from the other case in the Client Relationships section.https://lab.civicrm.org/dev/core/-/issues/4066Can the `CRM_Event_Badge` classes be deprecated and removed?2023-07-03T14:20:54ZBradley TaylorCan the `CRM_Event_Badge` classes be deprecated and removed?I recently came across these classes:
- `CRM_Event_Badge`
- `CRM_Event_Badge_Logo`
- `CRM_Event_Badge_Logo5395`
- `CRM_Event_Badge_NameTent`
- `CRM_Event_Badge_Simple`
Stylistically they're not great, and I noticed they don't seem to b...I recently came across these classes:
- `CRM_Event_Badge`
- `CRM_Event_Badge_Logo`
- `CRM_Event_Badge_Logo5395`
- `CRM_Event_Badge_NameTent`
- `CRM_Event_Badge_Simple`
Stylistically they're not great, and I noticed they don't seem to be in use.
The last 4 of these classes extend `CRM_Event_Badge`, and are referenced in the `eventBadge` option group. However, I can't see any scenario where this `eventBadge` option group is actually used.
The `Event Name Badge Layouts` configuration screen gets stored in the `civicrm_print_label` table, and `CRM_Badge_BAO_Badge` is what actually get's used when you print a selection of badges for an event. `CRM_Badge_BAO_Badge` does not use `CRM_Event_Badge` (although they are very similar. I suspect one started as a copy of the other.)
I think it would make sense to:
1. Check nobody is using the 5 classes listed above through a universe search.
2. Noisily deprecated the 5 classes, specifying `CRM_Badge_BAO_Badge` should be used instead.
3. After a period of time remove the 5 classes.
4. Tidy up (remove all trace of) the `event_badge` option group.
Of these, the last step is the one I'm most unsure of the process for. I guess it'd be removed through an upgrade step.https://lab.civicrm.org/dev/core/-/issues/2432Amount field at a contribution has a max length of 14 characters2023-07-03T05:03:17ZjaapjansmaAmount field at a contribution has a max length of 14 charactersWith the default localization settings (. as a decimal separator and , as a thousand separator) it is not possible to enter an amount such as 654,321.987654321
The amount field has a max length of 14 characters so 654,321.987654321 beco...With the default localization settings (. as a decimal separator and , as a thousand separator) it is not possible to enter an amount such as 654,321.987654321
The amount field has a max length of 14 characters so 654,321.987654321 becomes 654,321.987654
**How to reproduce**
1. First check your localization settings
2. Go to a contact and click under actions --> Add Contribution
3. Enter the amount of 654,321.987654321
**Proposed solution**
Remove the max length constraint on the input element and rather validate the input on whether it is a correct amount.
**Also on**
On the edit/add membership type screen the minimum fee is also limited to 14 characters.
**Environment**
_dmaster.demo.civicrm.org_
Drupal 7
CiviCRM version 5.36.alpha1https://lab.civicrm.org/dev/core/-/issues/441Proposal - Add Timezone support for all Date/Time fields in CiviCRM2023-07-02T19:22:33Zjustinfreeman (Agileware)Proposal - Add Timezone support for all Date/Time fields in CiviCRMAdd Timezone support for all Date/Time fields in CiviCRM. Currently, CiviCRM does not have any timezone handling for date/time fields - timezone is not stored with the value.
The first change is to start storing a timezone with the date...Add Timezone support for all Date/Time fields in CiviCRM. Currently, CiviCRM does not have any timezone handling for date/time fields - timezone is not stored with the value.
The first change is to start storing a timezone with the date/time field. After this is implemented then other changes can follow which deal with the display of the date/time field in the local time zone or showing the timezone for the value.
**Proposed Change**
Have ability to set the timezone for a date/time field and store that value with the field.
Default timezone should set using the CMS timezone default and/or a new setting on the Localisation Settings page.
Agileware Ref: CIVICRM-995https://lab.civicrm.org/dev/core/-/issues/2433Changing participant to another event fee hangs2023-07-02T05:03:21ZjaapjansmaChanging participant to another event fee hangsChanging a selection on an event registration sometimes hangs.
After changing the selection a few times the wrong amount is displayed in the contact card Event tab and on in the screen on view participant.
**How to reproduce**
1. Creat...Changing a selection on an event registration sometimes hangs.
After changing the selection a few times the wrong amount is displayed in the contact card Event tab and on in the screen on view participant.
**How to reproduce**
1. Create an event with online registration and a fee of $ 12.90 (called Min), $ 200 (called Family) and $ 897,654,321.99 (called Max). Also add a dummy payment processor.
2. Register via online registration and select Max and pay with the dummy payment processor.
3. Now go to the contact card and click Event and click on Edit behind the registration.
4. In the next screen click on Change Selection and change Max to Family.
**Environment**
- _dmaster.demo.civicrm.org_
- Drupal 7
- CiviCRM: 5.36.aplha1https://lab.civicrm.org/dev/core/-/issues/2417Proposal add support for latin American preferred language2023-07-02T05:03:20ZeileenProposal add support for latin American preferred languageCurrently when editing the preferred language for a contact we have these 3 spanish options
![image](/uploads/123b26710174bc10869c2cc79d2b17c2/image.png)
Our standard appears to be the IETF language tag
https://en.wikipedia.org/wiki/La...Currently when editing the preferred language for a contact we have these 3 spanish options
![image](/uploads/123b26710174bc10869c2cc79d2b17c2/image.png)
Our standard appears to be the IETF language tag
https://en.wikipedia.org/wiki/Language_code
![image](/uploads/e630095633c71b8de1194a4008452681/image.png)
However, we don't offer es-419 "Spanish appropriate for the Latin America and Caribbean region, using the UN M.49 region code"
This ommission is not just at the option value level - but at the schema level. In order to support this language variant we need to alter the schema to accept 6 rather than 5 characters for the preferred_language field
```
<field>
<name>preferred_language</name>
<title>Preferred Language</title>
<type>varchar</type>
<length>5</length>
```
@bgmhttps://lab.civicrm.org/dev/core/-/issues/2386Support chain-select elements in .setting.php files2023-07-01T05:03:24ZJonGoldSupport chain-select elements in .setting.php filesOverview
----------------------------------------
As we move to metadata-based settings, we need to support existing use cases such as chain-select.
Example use-case
----------------------------------------
1. Go to **Administer » Local...Overview
----------------------------------------
As we move to metadata-based settings, we need to support existing use cases such as chain-select.
Example use-case
----------------------------------------
1. Go to **Administer » Localization » Languages, Currencies, Locations**.
1. The `defaultContactStateProvince` setting can't be represented accurately via metadata.
Current behaviour
----------------------------------------
No way to define either an `onclick` value or a chain-select.
Proposed behaviour
----------------------------------------
A new property `chain_select_settings` contains properties that are passed to the `addChainSelect` method.
Comments
----------------------------------------
There's partial support, and I suspect work on this stopped because `addChainSelect` has a syntax that's tangled up in Smarty. I'll submit a PR to be a conversation piece.
This will also need documentation.JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/4206FormBuilder: Enable/disable "Add to Contact Summary Page" causes form to be v...2023-06-30T19:27:09Zmattwiremjw@mjwconsult.co.ukFormBuilder: Enable/disable "Add to Contact Summary Page" causes form to be visible in contactlayout when disabled.1. Observe that formname.aff.json has `"contact_summary: null"`
2. Enable "Add to Contact Summary Page" - save.
3. Disable "Add to Contact Summary Page" - save.
4. Observe that formname.aff.json has `"contact_summary: 0"`
If `contact_su...1. Observe that formname.aff.json has `"contact_summary: null"`
2. Enable "Add to Contact Summary Page" - save.
3. Disable "Add to Contact Summary Page" - save.
4. Observe that formname.aff.json has `"contact_summary: 0"`
If `contact_summary` = 0 contact layout editor extension displays the tab on "Individual" contact layout. Not sure if this needs fixing in formbuilder or contactlayout? But formbuilder should be saving the value consistently at least I would think? ie. 0 or null not both.5.62.0