Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-03-31T05:03:22Zhttps://lab.civicrm.org/dev/core/-/issues/1765Windows $civicrm_paths['civicrm.root']['url'] incorrect2023-03-31T05:03:22ZAlanDixonWindows $civicrm_paths['civicrm.root']['url'] incorrectOn a functioning windows install of D7/CiviCRM 5.19, an upgrade to 5.24 and 5.25 resulted in a very broken install and inability to run the upgrade url.
Fixed by setting $civicrm_paths['civicrm.root']['url'] in my civicrm.settings.php f...On a functioning windows install of D7/CiviCRM 5.19, an upgrade to 5.24 and 5.25 resulted in a very broken install and inability to run the upgrade url.
Fixed by setting $civicrm_paths['civicrm.root']['url'] in my civicrm.settings.php file.
Setting $civicrm_setting['URL Preferences']['userFrameworkResourceURL'] did not work.
All css/js urls appeared to have been generated by using CIVICRM_UF_BASEURL.$civicrm_root (i.e. the path was prefixed by C:/).https://lab.civicrm.org/dev/core/-/issues/3804Civicase dashboard not displaying recently performed activities2023-03-30T09:37:49ZKurund JalmiCivicase dashboard not displaying recently performed activitiesCiviCase Dashboard does not display 'Recently Performed Activities` when there are no `Upcoming Activities`.CiviCase Dashboard does not display 'Recently Performed Activities` when there are no `Upcoming Activities`.5.61.0Kurund JalmiKurund Jalmihttps://lab.civicrm.org/dev/core/-/issues/1471Smart groups with deleted/disabled custom fields throw fatal error on its usage.2023-03-30T05:03:42ZjitendraSmart groups with deleted/disabled custom fields throw fatal error on its usage.To replicate -
- Create a smart group with custom date as one of the filter.
- Disable the custom field after the smart group creation.
- The update smart group count `/civicrm/group?reset=1&update_smart_groups=1` functionality returns ...To replicate -
- Create a smart group with custom date as one of the filter.
- Disable the custom field after the smart group creation.
- The update smart group count `/civicrm/group?reset=1&update_smart_groups=1` functionality returns a DB error.
![image](/uploads/5482a85c55b162c84d2e5cfc7c1857b5/image.png)
- Usage of this group in mailings does not calculate the recipient -
![image](/uploads/ede5567e4cd0b68db9c9a1ae80fef133/image.png)
**Possible Solutions**
- Fix the code to ignore the disabled custom field criteria while fetching the formvalues for the smart group.
This calculates the count and retrieves all the contacts correctly but is not following the exact filter condition setup by the user while creating this group.
- Produce a warning on the custom field delete page that this field is being used by a smart group. And avoid deletion?
- System Status warning with an indication that there are some smart groups configured on your site that uses disabled custom fields as a filter.
- Probably 1 and 3 both?
ping @petednz @eileenjitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/890Multiple line item shown on view contribution if participant is transferred t...2023-03-30T05:03:41ZjitendraMultiple line item shown on view contribution if participant is transferred to another contact.To replicate -
- Create a priceset for an event with `Text / Numeric Quantity` field type. Amount = $10.
- Register contact A to the event using the above price option.
- Transfer the event participation to another contact B.
- View con...To replicate -
- Create a priceset for an event with `Text / Numeric Quantity` field type. Amount = $10.
- Register contact A to the event using the above price option.
- Transfer the event participation to another contact B.
- View contribution on the main contact, it displays double line items for the participation.
![image](/uploads/86637f21b6b327fc15888b92e8a86bac/image.png)
I think the older participant status is set to "transferred" so it should remove the contribution link from the line item table.jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/4149User editable Message Templates, the Contact Action: Send an Email and the Co...2023-03-29T21:09:22Zjustinfreeman (Agileware)User editable Message Templates, the Contact Action: Send an Email and the Contact Action: Print Merge/Document cannot use any Smarty Tokens with the crmDate function because CKEditor 4 unnecessarily HTML encodes single quotes (') and double quotes (")User editable Message Templates, the Contact Action: Send an Email and the Contact Action: Print Merge/Document cannot use any Smarty Tokens with the crmDate function because CKEditor 4 unnecessarily HTML encodes single quotes (') and do...User editable Message Templates, the Contact Action: Send an Email and the Contact Action: Print Merge/Document cannot use any Smarty Tokens with the crmDate function because CKEditor 4 unnecessarily HTML encodes single quotes (') and double quotes (").
So if you use a Smarty Token like:
```{contribution.receive_date|crmDate:"%E%f %B %Y"}```
```{contribution.receive_date|crmDate:'%E%f %B %Y'}```
When CKEditor 4 parses the HTML it converts this into:
```{contribution.receive_date|crmDate:"%E%f %B %Y"}```
```{contribution.receive_date|crmDate:'%E%f %B %Y'}```
Effectively rendering the crmDate function unusable in these situations.
Using CKEditor 5 does solve this specific problem, however CKEditor 5 introduces new problems such as the inability for users to resize images, loss of some formatting controls and importantly prevents the ability to view/edit the source HTML.
Agileware Ref: CIVICRM-21035.61.0https://lab.civicrm.org/dev/core/-/issues/4200Countable error when creating a membership batch (if org ID is not 1)2023-03-29T19:20:15ZherbdoolCountable error when creating a membership batch (if org ID is not 1)Overview
----------------------------------------
When a client creates a batch to add memberships, they get this error:
Warning: Undefined array key 1 in CRM_Core_BAO_UFGroup::buildProfile() (line 1934 of /app/sites/all/modules/civicr...Overview
----------------------------------------
When a client creates a batch to add memberships, they get this error:
Warning: Undefined array key 1 in CRM_Core_BAO_UFGroup::buildProfile() (line 1934 of /app/sites/all/modules/civicrm/CRM/Core/BAO/UFGroup.php).
TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in CRM_Core_BAO_UFGroup::buildProfile() (line 1934 of /app/sites/all/modules/civicrm/CRM/Core/BAO/UFGroup.php).
The relevant code:
```
if (isset($types[1]) && count($types[1]) > 1) {
$types[1] = $select + $types[1];
}
```
They're on CiviCRM 5.59.1 with PHP 8+.
It's checking for membership types that are related to an organization contact but only if the contact ID is 1. If contact ID is not 1 then it's trying to count on an empty array. We can either check if it's an array before counting or maybe make it smarter: check for membership types regardless of contact ID.5.61.0https://lab.civicrm.org/dev/core/-/issues/3428SearchKit display results does not seem to respect the contribution currency2023-03-29T15:26:43ZErikHommelSearchKit display results does not seem to respect the contribution currencyOverview
----------------------------------------
When I create a searchkit search for soft credits and contribution and then click on View Results I get a display with the dollar sign against the amount while the contribution currency i...Overview
----------------------------------------
When I create a searchkit search for soft credits and contribution and then click on View Results I get a display with the dollar sign against the amount while the contribution currency is euro. This is probably because my default currency is set to USD. Once I change my default currency to Euro it is fine.
Reproduction steps
----------------------------------------
1. Create a contribution with euro as currency.
1. Create a searchkit search with amount and currency.
1. Click on **View Results**.
Current behaviour
----------------------------------------
Results display with dollar sign even if currency is euro (see attached print)
![afbeelding](/uploads/1cb4853e4dc4085fdbf687d221eb32ec/afbeelding.png)
Expected behaviour
----------------------------------------
Currency should show with the appropriate currency symbol even if the default currency is different than the contribution currency.
Environment information
----------------------------------------
* __CiviCRM:__ 5.48.2colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/1839Notice error Contribution Aggregate by Relationship report2023-03-29T05:03:21ZJoeMurrayNotice error Contribution Aggregate by Relationship reportOn dmaster just now (5.28.alpha1):
Notice: Undefined variable: entryFound in CRM_Report_Form_Contribute_History->alterDisplay() (line 842 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Report/Form/Contribute/History.php).On dmaster just now (5.28.alpha1):
Notice: Undefined variable: entryFound in CRM_Report_Form_Contribute_History->alterDisplay() (line 842 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Report/Form/Contribute/History.php).https://lab.civicrm.org/dev/core/-/issues/1837Civicrm settings still require group for mandatory overrides???2023-03-29T05:03:21ZeileenCivicrm settings still require group for mandatory overrides???Our docs say group & groupname are fully deprecated here
https://docs.civicrm.org/dev/en/latest/framework/setting/
but they are still documented as being required for overrides in civicrm.settings.php & I *think* they are still needed ...Our docs say group & groupname are fully deprecated here
https://docs.civicrm.org/dev/en/latest/framework/setting/
but they are still documented as being required for overrides in civicrm.settings.php & I *think* they are still needed if doing an override here
https://docs.civicrm.org/sysadmin/en/latest/customize/settings/
@totten you can probably confirm....
Perhaps it's just
```
$civicrm_setting['antyhing works here ']['customFileUploadDir'] = '/var/www/testing/sites/default/files/civicrm/upload';
```
@ejegghttps://lab.civicrm.org/dev/core/-/issues/1835Export preview not showing data that exists2023-03-28T05:03:44ZStoobExport preview not showing data that existsIn both of these attached cases, the data exists in CiviCRM, and the data is contained in the CSV downloaded upon export. But it is blank in the preview.
![preview](/uploads/82c5b38bb88effd5bb67b6842470111c/preview.png)
![export](/upl...In both of these attached cases, the data exists in CiviCRM, and the data is contained in the CSV downloaded upon export. But it is blank in the preview.
![preview](/uploads/82c5b38bb88effd5bb67b6842470111c/preview.png)
![export](/uploads/a2e1ee8affbeaff3d1377572b080b7f2/export.png)https://lab.civicrm.org/dev/core/-/issues/1810Can't blank out help_pre2023-03-28T05:03:43ZJoeMurrayCan't blank out help_preOverview
----------------------------------------
_On multilingual site (eg dmaster with ca_FR enabled), it is not possible to blank out help_pre or help_post in the browser for a profile field._
I reported this years ago but never got ...Overview
----------------------------------------
_On multilingual site (eg dmaster with ca_FR enabled), it is not possible to blank out help_pre or help_post in the browser for a profile field._
I reported this years ago but never got around to fixing it.
Reproduction steps
----------------------------------------
1. Enable an additional language.
2. Go to a profile field, edit it, and add some help_pre and help_post text. Save.
3. Re-edit the field, delete the help_pre and help_post text. Save.
4. Re-edit the field, and observe that the help_pre and help_post text has not been deleted.
Current behaviour
----------------------------------------
_help_pre and help_post for profile fields on multilingual sites cannot be set to nothing._
Expected behaviour
----------------------------------------
_help_pre and help_post for profile fields on multilingual sites can be set to nothing._
Comments
----------------------------------------
_Works fine when multilingual not enabled._Monish DebMonish Deb2020-06-13https://lab.civicrm.org/dev/core/-/issues/4205Can't create new events from a template using the API2023-03-27T21:44:02ZufundoCan't create new events from a template using the API
Reproduction steps
----------------------------------------
1. Create an event template and note its ID
2. Attempt to create a new event using the API, by adding the `template_id` parameter with the ID from 1.
Expected behaviour
-----...
Reproduction steps
----------------------------------------
1. Create an event template and note its ID
2. Attempt to create a new event using the API, by adding the `template_id` parameter with the ID from 1.
Expected behaviour
----------------------------------------
A new event is created with the values populated from the template. Works up to 5.58
Current behaviour
----------------------------------------
From 5.59 the newly created event is itself a template, rather than a fully fledged event.
Comments
----------------------------------------
I think this bugfix went too far -- that code needed moving rather than replacing. MR incoming :smile:
Edit: _this_ bugfix https://github.com/civicrm/civicrm-core/commit/4bb246b6d43dfd5b3cf2a7e2b1f6b41368d85e595.59.4https://lab.civicrm.org/dev/core/-/issues/1815Use of the word disable in CiviCRM user screens2023-03-27T05:03:29ZgibsonoliverUse of the word disable in CiviCRM user screensI've been thinking recently about the use of the word 'disable' in Civi. It's used quite a lot in the custom data screens/ relationship screens/ options screens etc.
One suggestion is that this is replaced with activate / deactivate.
Ra...I've been thinking recently about the use of the word 'disable' in Civi. It's used quite a lot in the custom data screens/ relationship screens/ options screens etc.
One suggestion is that this is replaced with activate / deactivate.
Rather than enable / disable.
Although it may be the right use of the word according to a dictionary definition I don't think its appropriate. Twice before this has been pointed out to me directly by training attendees that they are uncomfortable with its use.https://lab.civicrm.org/dev/core/-/issues/1828Generate Geo Codes for Specific Contact Type only2023-03-27T05:03:28ZsunilGenerate Geo Codes for Specific Contact Type onlyOverview
----------------------------------------
When civicrm address have millions of address record without geo codes, We don't want geo code for all contacts because of free api quota per day/month, for that we want to restrict geo c...Overview
----------------------------------------
When civicrm address have millions of address record without geo codes, We don't want geo code for all contacts because of free api quota per day/month, for that we want to restrict geo code for certain contact type, e.g Organization.
Currently We don't have control on choosing specific type of Contact Type of Geo code.
Current available options
----------------------------------------
geocoding=[1 or 0] required
parse=[1 or 0] required
start=[contact ID] optional-begin with this contact ID
end=[contact ID] optional-process contacts with IDs less than this
throttle=[1 or 0] optional-1 adds five second sleep
Proposed New option along with existing options
----------------------------------------
ct=[Individual or Household or Organization] optional-process contacts with these type
----------------------------------------
https://github.com/civicrm/civicrm-core/pull/17658https://lab.civicrm.org/dev/core/-/issues/1648Determine how to provide parity for apiv4 vs v3 Contact.delete2023-03-26T05:03:15ZeileenDetermine how to provide parity for apiv4 vs v3 Contact.deleteThere are 4 types of Contact.delete in CiviCRM
1) soft-delete - updates is_deleted to true, deletes uf match entries
2) hard delete, - deletes contact record, aborts if related entities exist that block delete, cleans up various entries...There are 4 types of Contact.delete in CiviCRM
1) soft-delete - updates is_deleted to true, deletes uf match entries
2) hard delete, - deletes contact record, aborts if related entities exist that block delete, cleans up various entries that an FK delete will not do
3) contact.update to is_deleted = 1 does 1 without the cleanup
4) contact.delete - does 2 without the cleanup or protection
Currently apiv3 does 1 or 2 depending on the site configuration. It can be 'pushed' to do 2 but will still only do that dependent on user permissions if check_permissions is on.
apiv4 does 3 and 4
I know @colemanw is reluctant to replicate v3 behaviour but I don't think current v4 is an acceptable alternative. Nor do I think the calling function should need to check site delete confighttps://lab.civicrm.org/dev/core/-/issues/1566CustomValue.GetTree API Does Not Return Display Value for Money Select/Radio ...2023-03-26T05:03:14Ztunbola@compucorp.co.ukCustomValue.GetTree API Does Not Return Display Value for Money Select/Radio Custom fieldOverview
----------------------------------------
The CustomValue.gettree API returns custom fields and its values for an entity. When the custom field is of data type Money and the field type is Select/Radio. The CustomValue.gettree doe...Overview
----------------------------------------
The CustomValue.gettree API returns custom fields and its values for an entity. When the custom field is of data type Money and the field type is Select/Radio. The CustomValue.gettree does not return any value for the display field for the custom field even though there is data in the field.
Reproduction steps
----------------------------------------
Take for example a Case that has a custom group that has a Money select field with options
Field Label: Two Dollars, Field Value : 2.
If the select option of Two Dollars is selected when creating the case and the API is invoked after creation:
```php
$result = civicrm_api3('CustomValue', 'gettree', [
'entity_id' => 29,
'entity_type' => "Case",
]);
//Result
{
"is_error": 0,
"version": 3,
"count": 2,
"values": {
"Apha_Num": {
"id": "11",
"name": "Apha_Num",
"table_name": "civicrm_value_apha_num_11",
"title": "Apha Num",
"extends": "Case",
"is_public": "1",
"fields": {
"Money_Select": {
"value": {
"id": "9",
"data": "2.00",
"display": "" // THE DISPLAY FIELD IS EMPTY
},
"id": "40",
"name": "Money_Select",
"label": "Money Select",
"column_name": "money_select_40",
"data_type": "Money",
"html_type": "Select",
"option_group_id": "119",
"in_selector": "0"
}
}
}
}
}
```
Current behaviour
----------------------------------------
I did a bit of investigation about this. For Money fields that are select or radio, the values are stored in a DECIMAL column type in the database. These value stored in this field is formatted as decimal. So for the example given above. The value of 2.00 was stored in the column for the Case.
![_MySQL_5.7.28-0ubuntu0.16.04.2-log__case-award.localcivicrmcivicrm_value_apha_num_11_2020-01-30_12-06-27](/uploads/6010bc9f7a8ae207b01def6ba2340e2e/_MySQL_5.7.28-0ubuntu0.16.04.2-log__case-award.localcivicrmcivicrm_value_apha_num_11_2020-01-30_12-06-27.png)
While the option group created for the Select option values has a value of 2.
![Apha_Num_-_Custom_Fields__CiviAwards_2020-01-30_12-13-57](/uploads/a55347fc5ebf40a75718468c3170b7d0/Apha_Num_-_Custom_Fields__CiviAwards_2020-01-30_12-13-57.png)
When the display for the Money field select type is being fetched here: https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/BAO/CustomField.php#L1120. The value set is an empty string because the options contain something similar to this
```php
array (
2 => 'Two Dollars',
)
```
While the `$value = 2.00`, So the value can not be found in the array and `''` is returned.
Expected behaviour
----------------------------------------
Ideally, I think the label for the option value (in this case Two Dollars) should be returned when the CustomValue.gettree API. Although the Money field is a bit different and not sure if it is the value (2.00) that should be returned in this case as the display field.https://lab.civicrm.org/dev/core/-/issues/1789Grants export renders grant type option ID's rather than option labels - on d...2023-03-25T05:03:33ZmarshGrants export renders grant type option ID's rather than option labels - on dmasterThis is very similar to [Grant export shows IDs instead of labels.](https://lab.civicrm.org/dev/core/-/issues/356), so that may be a good reference point for a way forward.
I'm having this issue on 5.24.4 with the grant_type field i.e.:...This is very similar to [Grant export shows IDs instead of labels.](https://lab.civicrm.org/dev/core/-/issues/356), so that may be a good reference point for a way forward.
I'm having this issue on 5.24.4 with the grant_type field i.e.:
| report export type | grant type field shows |
|
If export grant_type when exporting grants the grant_type column renders the option ID for the grant type (incorrect). When exporting primary fields, it exports the label (correct)
so, **in summary**:
when exporting grants...
| Export type | grant_type displays as |
|----------------|-------------------------|
| primary fields | grant_type option label |
| choose fields | grant_type option ID |
**workflow to reproduce**:
- ensure grants exist on system [grants > find grants](https://dmaster.demo.civicrm.org/civicrm/grant/search?_qf_Search_display=true)
- select all results
- action > export to csv
- select fields for export
- add field: Grant Type
- download file
notice the export show the option id.https://lab.civicrm.org/dev/core/-/issues/1811Search Builder statements not being built correctly when using Contact Id2023-03-25T05:03:32ZguyiacSearch Builder statements not being built correctly when using Contact IdIn running a training on search, I built a search builder statement and it wasn't constructed correctly. I then tested this on dmaster and this is what I get:
This:
![image](/uploads/737455a958d44e175ea08d96bef4a709/image.png)
Builds t...In running a training on search, I built a search builder statement and it wasn't constructed correctly. I then tested this on dmaster and this is what I get:
This:
![image](/uploads/737455a958d44e175ea08d96bef4a709/image.png)
Builds this:
![image](/uploads/67db383ee38ec9b0feef15f3ab914481/image.png)
It should build this:
Contact ID < 100 ...AND... Total Amount > 50
OR
Contact ID > 200 ...AND... Total Amount > 50
On a hunch, as I was submitting this, I tried another field:
![image](/uploads/c6fb3be7a4aa92c33b872cc6ad9dae8a/image.png)
and it built this:
![image](/uploads/2cbd121049f4c300299bbbc8ce118189/image.png)
which is correct. I tried a few other combinations, which worked correctly, so it appears that it only happens when you search on Contact id, or at least that's the only one I could find it happening on.https://lab.civicrm.org/dev/core/-/issues/4189Contribution Confirm incorrectly debit card information even if using credit ...2023-03-25T00:47:40ZbgmContribution Confirm incorrectly debit card information even if using credit cardTo reproduce:
- Create normal Contribution Page
- Enable dummy credit card
- Enable the Confirmation Page
Then go to the test page, enter test card (`4111111111111111`) and submit to go to the confirmation page:
![image](/uploads/ce70...To reproduce:
- Create normal Contribution Page
- Enable dummy credit card
- Enable the Confirmation Page
Then go to the test page, enter test card (`4111111111111111`) and submit to go to the confirmation page:
![image](/uploads/ce70684ddada9932e4da72bff3dcacfa/image.png)
The bug was introduced somewhere between 5.57 and 5.60. I suspect it's related to this PR: https://github.com/civicrm/civicrm-core/pull/25239
Those changes have not been applied to `ThankYou.tpl`.
When debugging, the `$contributeMode` was set to 'debit'. It seems to be the default value in the parent class. The code also has a code comment from 2016 saying that "The concept of contributeMode is deprecated."5.60.0https://lab.civicrm.org/dev/core/-/issues/4176Allow to search on participant id2023-03-24T17:21:16ZyashodhaAllow to search on participant idOverview
---------
Allow to search on participant id.
The participant search doesn't have an option to quickly search on ID, this should fix that.
This is already available for contribution and membership search.Overview
---------
Allow to search on participant id.
The participant search doesn't have an option to quickly search on ID, this should fix that.
This is already available for contribution and membership search.5.61.0yashodhayashodha