CiviCRM Core issues
https://lab.civicrm.org/dev/core/-/issues
2019-04-03T16:56:30Z
https://lab.civicrm.org/dev/core/-/issues/506
Advanced Search: There is an error when the user tries to display results as ...
2019-04-03T16:56:30Z
Pradeep Nayak
pradpnayak@gmail.com
Advanced Search: There is an error when the user tries to display results as Cases
Click "View contact record"
Click "Search" > "Advanced Search"
Choose the 'Cases' type in the 'Display Results As' drop-down.
Click 'Search'
Actual Result: DB:Error
Expected Result: 'Cases' should not be shown in drop down when CiviCa...
Click "View contact record"
Click "Search" > "Advanced Search"
Choose the 'Cases' type in the 'Display Results As' drop-down.
Click 'Search'
Actual Result: DB:Error
Expected Result: 'Cases' should not be shown in drop down when CiviCase component is disabled.
![Screen_Shot_2018-11-06_at_16.40.36](/uploads/b10e239e9f811d63000d76c6be83a3ba/Screen_Shot_2018-11-06_at_16.40.36.png)
https://lab.civicrm.org/dev/core/-/issues/507
Find Contacts: There is no possibility to add a tag to contacts from the sear...
2018-12-03T22:40:58Z
Pradeep Nayak
pradpnayak@gmail.com
Find Contacts: There is no possibility to add a tag to contacts from the search results window
Steps:
* Click "View contact record"
* Click "Search" > "Find Contacts"
* Find some contact
* Click 3 dots for choosing an action near the contact
* Click 'Tag Contact'
* Try to choose some tag
**Actual result:** There is no possibili...
Steps:
* Click "View contact record"
* Click "Search" > "Find Contacts"
* Find some contact
* Click 3 dots for choosing an action near the contact
* Click 'Tag Contact'
* Try to choose some tag
**Actual result:** There is no possibility to add a tag to contacts from the search results window.
![Screen_Shot_2018-11-06_at_17.11.21](/uploads/2e0f70bfc2ce2d5f29b044ac0208540b/Screen_Shot_2018-11-06_at_17.11.21.png)
**Expected result:** The user can add a tag to contacts from the search results window
5.7.1
https://lab.civicrm.org/dev/core/-/issues/510
unserialize(): Error, When duplicating site, database caused by userFramework...
2022-09-12T05:03:51Z
Mouath
unserialize(): Error, When duplicating site, database caused by userFrameworkResourceURL
Bug error
`PHP Notice: unserialize(): Error at offset 60 of 66 bytes in /home/*****/******/wp-content/plugins/civicrm/civicrm/Civi/Core/SettingsBag.php on line 153`
Steps to reproduce the bug:
1. Have a stable production site running...
Bug error
`PHP Notice: unserialize(): Error at offset 60 of 66 bytes in /home/*****/******/wp-content/plugins/civicrm/civicrm/Civi/Core/SettingsBag.php on line 153`
Steps to reproduce the bug:
1. Have a stable production site running CiviCRM 5.6.1 under WordPress 4.9.8 with url: https://*****.com
1. A defined variable for `userFrameworkResourceURL` in `wp-content/uploads/civicrm/civicrm.settings.php` and in the database under table `civicrm_setting` name: `userFrameworkResourceURL`
3. Create a duplicate/staging site (including new duplicated database) with a subdomain/url dev.*****.com and update `civicrm.settings.php` vars including `userFrameworkResourceURL`
1. Run upgrade database. everything is fine
1. On any page load
Receive error `unserialize(): Error at offset 60 of 66 bytes`
Workaround:
1. Delete the "value" from `userFrameworkResourceURL` in the database.
```SELECT * FROM `civicrm_setting` WHERE `name` = 'userFrameworkResourceURL' ```
1. Go to `Settings - Resource URLs` and hit save
1. Proper serialized value gets written in the database
Note: if `userFrameworkResourceURL` is defined in `civicrm.settings.php` (which is the default at least in WordPress install)
Saving through the web-end doesn't overwrite the database hence the "workaround"
https://lab.civicrm.org/dev/core/-/issues/511
Membership Dashboard shows incorrect month
2018-11-09T22:11:45Z
ayduns
aidan.saunders@squiffle.uk
Membership Dashboard shows incorrect month
![Screenshot_from_2018-11-08_11-56-38](/uploads/1778dee40d7c1e2aa1ecfdb9c80a362a/Screenshot_from_2018-11-08_11-56-38.png)
Last month = October - correct
This month = April - incorrect. Should be November
This problem was introduced i...
![Screenshot_from_2018-11-08_11-56-38](/uploads/1778dee40d7c1e2aa1ecfdb9c80a362a/Screenshot_from_2018-11-08_11-56-38.png)
Last month = October - correct
This month = April - incorrect. Should be November
This problem was introduced in 4.7.23-rc
5.9
ayduns
aidan.saunders@squiffle.uk
ayduns
aidan.saunders@squiffle.uk
https://lab.civicrm.org/dev/core/-/issues/513
Contribution Transact API - Use the payment processor payment method instead ...
2018-11-11T00:10:14Z
omar_compucorp
Contribution Transact API - Use the payment processor payment method instead of the payment_type field
## Problem
When using the Contribution.Transact API, CiviCRM will either change the payment instrument to "Credit Card" or "Debit Card" based on the the value of payment_type field.
## How should it work
This is wrong and the payment...
## Problem
When using the Contribution.Transact API, CiviCRM will either change the payment instrument to "Credit Card" or "Debit Card" based on the the value of payment_type field.
## How should it work
This is wrong and the payment instrument type should be taken form the used payment processor payment_instrument_id field.
5.9
https://lab.civicrm.org/dev/core/-/issues/522
Add case tokens to email activities
2021-09-13T00:04:33Z
eileen
Add case tokens to email activities
https://lab.civicrm.org/dev/core/-/issues/518
Lybunt performance improvement
2019-02-19T04:55:07Z
eileen
Lybunt performance improvement
A couple of years back I did some work on the performance of the Lybunt report https://issues.civicrm.org/jira/browse/CRM-17837 which succeeded in improving the query enough that it would run for prior years there is still an exponential...
A couple of years back I did some work on the performance of the Lybunt report https://issues.civicrm.org/jira/browse/CRM-17837 which succeeded in improving the query enough that it would run for prior years there is still an exponential inefficiency in the query which means that 2 years later & some large number of donations later we are back to it not running.
The current query is
```
CREATE TEMPORARY TABLE civicrm_tmp_e_rptlybunt_20181114_5beb5dc8d8e46 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
SELECT SQL_CALC_FOUND_ROWS contact_civireport.id as cid FROM civicrm_tmp_e_rptgrp_20181114_5beb5dc8d1b4b group_temp_table INNER JOIN civicrm_contact contact_civireport
ON group_temp_table.id = contact_civireport.id INNER JOIN civicrm_contribution contribution_civireport ON contribution_civireport.contact_id = contact_civireport.id
AND contribution_civireport.is_test = 0
AND contribution_civireport.receive_date BETWEEN '20170101000000' AND '20171231235959'
LEFT JOIN civicrm_contribution cont_exclude ON cont_exclude.contact_id = contact_civireport.id
AND cont_exclude.receive_date BETWEEN '2018-01-01' AND '20181231235959' WHERE cont_exclude.id IS NULL AND 1 AND 1
GROUP BY contact_civireport.id;
```
and it takes 394 seconds
to return only a few hundred rows (the group has only 730 contacts).
Playing around I was able to reduce this time to .24 second by re-writing the query as
```
SELECT SQL_CALC_FOUND_ROWS contact_civireport.id as cid
FROM civicrm_tmp_d_dflt_3b5e17ad9138b8cc56282f75b2967e9e group_temp_table INNER JOIN civicrm_contact contact_civireport
ON group_temp_table.id = contact_civireport.id
WHERE group_temp_table.id IN
(
SELECT group_temp_table.id FROM civicrm_tmp_d_dflt_3b5e17ad9138b8cc56282f75b2967e9e group_temp_table
INNER JOIN civicrm_contribution contribution_civireport ON contribution_civireport.contact_id = group_temp_table.id
AND contribution_civireport.is_test = 0
AND contribution_civireport.receive_date BETWEEN '20170101000000' AND '20171231235959'
)
AND group_temp_table.id IN
(
SELECT group_temp_table.id FROM civicrm_tmp_d_dflt_3b5e17ad9138b8cc56282f75b2967e9e group_temp_table LEFT JOIN
civicrm_contribution cont_exclude ON cont_exclude.contact_id = group_temp_table.id
AND cont_exclude.receive_date BETWEEN '2018-01-01' AND '20181231235959'
WHERE cont_exclude.id IS NULL
)
GROUP BY contact_civireport.id;
```
I experimented on our staging site on running the query on our WHOLE data base (ie. without the group constraint) and it completed in 720 seconds - which is outrageously good really since that legitimately queries a LOT of records.
I'm going to look at how to fix up the LYBUNT report to use the above query. There are already some tests from last time I worked on performance on this report.
5.9
https://lab.civicrm.org/dev/core/-/issues/524
Lybunt incorrect / misleading rowCount information
2022-09-14T05:03:42Z
eileen
Lybunt incorrect / misleading rowCount information
The Lybunt report declares a misleading number of rows because it includes the rollup row in the count.
So for example there are 9 matching contacts but we see the confusing message Rows Listed 9, Rows found 10. The 10th Row is a calcu...
The Lybunt report declares a misleading number of rows because it includes the rollup row in the count.
So for example there are 9 matching contacts but we see the confusing message Rows Listed 9, Rows found 10. The 10th Row is a calculation of the total rows.
![Screenshot_2018-11-15_14.20.45](/uploads/5933de1016a4fb8b9b1e4447206b07a7/Screenshot_2018-11-15_14.20.45.png)
When there is just one screen we can remove a row that is meant to help - but doesn't & the 'Total Rows' line goes away.
However, when there are multiple pages we have both the pager & the totals to deal with. If we remove the row from the totals count but not the pager it creates a confusing mismatch. If we remove from both the last row may become unreachable.
On the Lybunt report a maximum of one level of group by is in play. However, where reports support multiple levels of group by it's unknowable how many rows are rollup rows.
This might all be an argument against the use of Rollup - but not going there at this stage I think my best proposal is to add text to indicate the possible presence of calc rows in the Total Rows
![Screenshot_2018-11-15_14.11.37](/uploads/cd4c266eb5c49570815b130a809f26ec/Screenshot_2018-11-15_14.11.37.png)
https://lab.civicrm.org/dev/core/-/issues/529
Editing smart group removes search criteria unless criteria tabs are opened f...
2018-12-05T20:28:23Z
sudoman
Editing smart group removes search criteria unless criteria tabs are opened first
When editing the search terms in a smart group, If I click "Search" without first opening the drop down tabs that contain info about all of the search criteria, then those terms are removed from the search, returning a different number o...
When editing the search terms in a smart group, If I click "Search" without first opening the drop down tabs that contain info about all of the search criteria, then those terms are removed from the search, returning a different number of contacts.
For instance, if my search terms are: `Country = United Kingdom ...AND... Contribution Date - greater than or equal to "January 2nd, 2017 12:00 AM"`, then I need to open the Address Fields and Contributions tabs before clicking "Search", otherwise, I get a much larger set of contacts.
I'm using CiviCRM version 5.3.1 on Drupal 7. Thanks! : )
5.8
Monish Deb
Monish Deb
https://lab.civicrm.org/dev/core/-/issues/530
Make a_b relationships available as case roles
2019-12-02T19:31:10Z
alicefrumin
Make a_b relationships available as case roles
Currently one can only create case roles for CiviCRM Cases that are one direction (one only sees the options label_b_a). See screen shot below that shows the "New Case Type" Ui with the options for "add role" open (they are all label_b_a...
Currently one can only create case roles for CiviCRM Cases that are one direction (one only sees the options label_b_a). See screen shot below that shows the "New Case Type" Ui with the options for "add role" open (they are all label_b_a) as one can see by checking against the Relationship Type table next to it.
![relTypesNewCaseType](/uploads/193cce5a0e6d7c395b8003e3c4593241/relTypesNewCaseType.png)
We are proposing making it so users can choose from the full list of relationships (label_a_b and label_b_a).
Rationale:
---------
1. There could be scenarios where cases should be set up to have case roles in any direction. For example.. an intergenerational case where its children taking care of parents vs a school case where its parents taking care of kids.
2. Jira issue [CRM-19754](https://issues.civicrm.org/jira/browse/CRM-19754) suggests that the options available should be label_a_b. One pr to make this change was accepted [pr 9560](https://github.com/civicrm/civicrm-core/pull/9560) a second [pr 9975](https://github.com/civicrm/civicrm-core/pull/9975) was closed due to in action and incompleteness. Making the Case Types bidirectional would solve the bugs documented in [pr 9975](https://github.com/civicrm/civicrm-core/pull/9975) without a fix up script.
Bugs this change fixes:
----------------------
1) when creating a case type, you can only select B-to-A labels
![image_1_](/uploads/11c127df30b22761b5653353534484da/image_1_.png)
then after creating a case you see the B-to-A "Parent of" label
![image_2_](/uploads/01922f80d41cd2fe8bb227d73d5e36c0/image_2_.png)
after picking the contact, the label becomes the A-to-B "Child of"
![image_4_](/uploads/a29e1194dd5af9c0b64d5945bd1ccf4f/image_4_.png)
2) When viewing a case, the Roles drop-down, only shows the labels in the B to A direction, but when one assigns the case role in the B to A direction the label displayed is in the A to B direction.
3) When editing a Case Activity in the "Send a copy" the role is correct but the label is wrong.
4) Currently, all relationships are showing the B contact, regardless of who the client is
yet they all have the B-to-A label, regardless of who the client is for example:
![Screenshot_2019-03-29_Dr_Rebekah_Cooper_-_Housing_Support_grantdetailreport](/uploads/e00afec39078c45673ab2b7f1cc0c252/Screenshot_2019-03-29_Dr_Rebekah_Cooper_-_Housing_Support_grantdetailreport.png)
In this example Rebekah is the client, and the case has her as the parent of Kathleen and the child of Carylon. In the send a copy box, she's shown as parent of Carylon and her relationship w/ Kathleen is displayed as her being parent of herself.
5) when reassigning a case role that is B-to-A (where the client is on the B side of the relationship), the list of available contacts is the contact type of the B side
since households and organizations are frequently on the B side of a relationship, this makes it difficult-to-impossible to manage a case where the client is a household or organization
![reassign](/uploads/9d71615554a0e1a15a0b6776ab9aac45/reassign.png)
Places in the Code that would need to be adjusted:
-----------------------------------------------
+ CRM/Report/Form/Case/Summary.php
+ CRM/Report/Form/Case/Detail.php
+ CRM/Case/XMLProcessor/Process.php
+ CRM/Case/XMLProcessor.php
+ CRM/Case/ManagedEntities.php
+ CRM/Case/BAO/Query.php
+ CRM/Case/BAO/Case.php
+ ang/crmCaseType.js
5.16.0
https://lab.civicrm.org/dev/core/-/issues/531
Drop support for MySQL 5.1? Maybe more?
2020-09-09T05:24:02Z
JonGold
Drop support for MySQL 5.1? Maybe more?
While reviewing some PRs on the sysadmin docs, it came to my attention that we're currently saying we support MySQL 5.1.3+. MySQL 5.1 has been [EOL since 2013](https://www.fromdual.com/support-for-mysql-from-oracle). 5.5 went EOL at th...
While reviewing some PRs on the sysadmin docs, it came to my attention that we're currently saying we support MySQL 5.1.3+. MySQL 5.1 has been [EOL since 2013](https://www.fromdual.com/support-for-mysql-from-oracle). 5.5 went EOL at the end of 2015, with extended support ending this year.
While the impetus to drop support for MySQL isn't as strong as it is for PHP, I think we should consider dropping support before someone reports an issue on an untested configuration and points to the minimum requirements in the docs.
Whether this is just a matter of updating the docs or if we want to set up a check for `MIN_MYSQL_VERSION` and `MIN_RECOMMENDED_MYSQL_VERSION` is something we can discuss. Just updating the docs might be preferable so we don't need to navigate the MySQL/MariaDB/Percona business in code. That said, we should document whether MariaDB/Percona are supported, since we've certainly seen errors particular to one or another.
https://lab.civicrm.org/dev/core/-/issues/532
Multi-select field not respected in batch search
2018-12-10T17:15:43Z
Pradeep Nayak
pradpnayak@gmail.com
Multi-select field not respected in batch search
The "Search by Financial Type" is a multi-select, but if you try to search by multiple values it fails validation (see screenshot 653 attached).
![Selection_653](/uploads/a61c238371a509c511a625d116d56413/Selection_653.png)
PR:https://...
The "Search by Financial Type" is a multi-select, but if you try to search by multiple values it fails validation (see screenshot 653 attached).
![Selection_653](/uploads/a61c238371a509c511a625d116d56413/Selection_653.png)
PR:https://github.com/civicrm/civicrm-core/pull/13121
5.9
https://lab.civicrm.org/dev/core/-/issues/537
Owner notification email sending every time the contribution is resaved
2020-12-04T10:43:06Z
rita_compucorp
Owner notification email sending every time the contribution is resaved
When someone donates to a fundraising page, and then the site's staff member goes and edits the contribution that is related to the fundraising page, and saves the changes (even if there is no change just resaving the contribution) the f...
When someone donates to a fundraising page, and then the site's staff member goes and edits the contribution that is related to the fundraising page, and saves the changes (even if there is no change just resaving the contribution) the fundraiser will receive the same email notification again.
Steps:
- create a contribution page and enable fundraising pages to be created under it
- make the payment processor to be Sagepay or Paypal standard
- create a fundraising page
- then log out and start donating to the fundraising page
- after donation the fundraiser will receive an email
- then go to the civi backend, search for the contribution that was just created after donation
- click Edit at that contribution
- no need to change anything on the contribution, just click Save
--> the same owner notification will be sent to the owner again. Every time you update the contribution the owner receives a notification with the same details.
Expected:
- online contribution: the notification should only be sent once, after the successful donation
- offline contribution: the notification should only be sent once, after creating the new contribution from civi backend
Tested on Civi 5.4 and 5.7, same happening on both.
5.33.0
https://lab.civicrm.org/dev/core/-/issues/552
Contribution net amount not re-calculated when fee amount is changed
2018-12-05T20:27:27Z
ayduns
aidan.saunders@squiffle.uk
Contribution net amount not re-calculated when fee amount is changed
When a contribution is edited and the fee amount changed, the net amount is not being recalculated.
Scenario 1:
Go to a contact summary
Contributions > Record Contribution
Choose a financial type
Enter amount as 100
Expand Add...
When a contribution is edited and the fee amount changed, the net amount is not being recalculated.
Scenario 1:
Go to a contact summary
Contributions > Record Contribution
Choose a financial type
Enter amount as 100
Expand Additional Details section
(Incidentally note stray help text "Net value of the contribution (Total Amount minus Fee)")
Enter Fee Amount as 1.23
Save
View the Contribution just created and note Total amount = $100, Fee amount $1.23, Net amount $98.77 -> Correct
Scenario 2:
Go to a contact summary
Contributions > Record Contribution
Choose a financial type
Enter amount as 100
Save
View the Contribution just created and note Total amount = $100, Fee amount $0, Net amount $100 -> Correct
Now edit the contribution
Expand Additional Details section
Enter Fee Amount as 1.23
Save
View the Contribution just created a note Total amount = $100, Fee amount $1.23, **Net amount $100** -> Total and Fee amounts are correct, but the **Net amount is not recalculated**.
May be related to https://github.com/civicrm/civicrm-core/pull/12662
5.8
https://lab.civicrm.org/dev/core/-/issues/557
Prevent jump when revealing help sections on "Administer CiviCRM" screen
2021-01-03T05:22:23Z
haystack
Prevent jump when revealing help sections on "Administer CiviCRM" screen
At present, clicking the discovery tab on an item on the "Administer CiviCRM" screen causes the page to jump to the anchor. Adding the following code to the `onclick` attribute solves this:
```javascript
if(event.preventDefault) event.p...
At present, clicking the discovery tab on an item on the "Administer CiviCRM" screen causes the page to jump to the anchor. Adding the following code to the `onclick` attribute solves this:
```javascript
if(event.preventDefault) event.preventDefault(); else event.returnValue = false;
```
PR to follow.
https://lab.civicrm.org/dev/core/-/issues/558
Improve code quality
2022-09-18T05:03:38Z
eileen
Improve code quality
This is an intended parent issue for ongoing code cleanup initiatives - the specific ones will be linked from here.
This is an intended parent issue for ongoing code cleanup initiatives - the specific ones will be linked from here.
https://lab.civicrm.org/dev/core/-/issues/560
Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
2020-08-11T09:02:23Z
eileen
Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
We moved to an exception framework around 4.2 ish and have been removing instances of CRM_Core_Fatal in favour of throwing exceptions slowly ever since. Exceptions are better for testing, drush commands and code predictability.
So far w...
We moved to an exception framework around 4.2 ish and have been removing instances of CRM_Core_Fatal in favour of throwing exceptions slowly ever since. Exceptions are better for testing, drush commands and code predictability.
So far we have had no regressions over probably hundreds of changes on this - perhaps we should get a bit more aggressive / pro-active on this
https://lab.civicrm.org/dev/core/-/issues/562
Remove instances of $dao->free
2019-08-08T21:13:29Z
eileen
Remove instances of $dao->free
The DAO object since ? 4.7.x? has been freed on _destruct. Using the $dao->free action has been demonstrated to create some rare bugs - ie. because query sets from the outer loop can be lost. There is no benefit in calling it any more an...
The DAO object since ? 4.7.x? has been freed on _destruct. Using the $dao->free action has been demonstrated to create some rare bugs - ie. because query sets from the outer loop can be lost. There is no benefit in calling it any more and some harm
https://lab.civicrm.org/dev/core/-/issues/563
Duplicate Case manager role
2018-12-05T10:41:12Z
Monish Deb
Duplicate Case manager role
Steps to replicate:
1. Create case
2. Go to 'Manage case' and change case manager to someone else
3. Change case manager back to original contact: error - duplicate relationship
4. From the contact's relationship tab, enable a relationsh...
Steps to replicate:
1. Create case
2. Go to 'Manage case' and change case manager to someone else
3. Change case manager back to original contact: error - duplicate relationship
4. From the contact's relationship tab, enable a relationship
-- note that the end date is preserved, which may mean that the newly re-enabled relationship is still considered inactive
-- note that in the manage case roles panel the newly re-enabled relationship is not listed as the case manager
5. From the manage case roles panel, add a new role with the same case manager type, to one of the existing contacts: error, duplicate relationship
-- so if you change the case manager, there's currently no way to go back and set the original contact as case manager again
5.9
Monish Deb
Monish Deb
https://lab.civicrm.org/dev/core/-/issues/565
Make subject field of Note, inline editable in contact summary page
2022-09-19T05:03:39Z
Monish Deb
Make subject field of Note, inline editable in contact summary page
This is a minor style change, which adds the ability of the user to edit note field in contact summary page editable.
This is a minor style change, which adds the ability of the user to edit note field in contact summary page editable.
Monish Deb
Monish Deb
https://lab.civicrm.org/dev/core/-/issues/569
Advanced Search: DB Error: no such field when the user tries to search by the...
2022-12-21T05:03:17Z
Pradeep Nayak
pradpnayak@gmail.com
Advanced Search: DB Error: no such field when the user tries to search by the 'Address Location' field
To Replicate:
![SearchViewError](/uploads/79aacb28527281d2c12b77ca16cdf7c2/SearchViewError.gif)
To Replicate:
![SearchViewError](/uploads/79aacb28527281d2c12b77ca16cdf7c2/SearchViewError.gif)
https://lab.civicrm.org/dev/core/-/issues/572
Regression: Custom Note fields on Events do not work with CKEditor since 5.7
2018-12-13T08:48:47Z
Agileware
Regression: Custom Note fields on Events do not work with CKEditor since 5.7
Agileware ref: CIVICRM-1118
Overview
========
Custom Note fields on Events no longer work with CKEditor.
Was working in 5.6.2.
Verified this still an issue on `dmaster.demo.civicrm.org`:
![rich_text_field_event](/uploads/b636e035977...
Agileware ref: CIVICRM-1118
Overview
========
Custom Note fields on Events no longer work with CKEditor.
Was working in 5.6.2.
Verified this still an issue on `dmaster.demo.civicrm.org`:
![rich_text_field_event](/uploads/b636e035977d0b5d100a6229c83e5200/rich_text_field_event.png)
Steps to Reproduce
==================
1. Create a custom data group for Events
2. Add a "Note" field using the "Rich Text Editor" Input Field Type
3. Create an event. Rich text editor is working here.
4. Edit the event Info and Configuration.
5. The custom field doesn't load CKEditor, complaining that `a.ui.spaces` is undefined or null.
6. Sometimes CKEditor doesn't load for the "Complete Description" field either, but it fails less reliably.
5.8
https://lab.civicrm.org/dev/core/-/issues/573
State field displays too small
2018-12-04T18:41:12Z
Ghost User
State field displays too small
The state field on contribution pages displays too small to display the full text of the field including defaults.
Screenshot: https://i.imgur.com/0yTqQas.png
Not sure if this is a WordPress specific bug or core as I do not have any Dr...
The state field on contribution pages displays too small to display the full text of the field including defaults.
Screenshot: https://i.imgur.com/0yTqQas.png
Not sure if this is a WordPress specific bug or core as I do not have any Drupal installs to check it on.
https://lab.civicrm.org/dev/core/-/issues/576
Fix issue where fields are dropped from XML files because version comparison ...
2018-12-06T19:58:51Z
seamuslee
Fix issue where fields are dropped from XML files because version comparison between the add key and the build version fails
On master we are seeing build failures in the matrix tests at the moment because doing `if (5.3 <= 5.10)` effectively is proving to be false so DAO files are being re-generated to exclude specific fields causing errors.
On master we are seeing build failures in the matrix tests at the moment because doing `if (5.3 <= 5.10)` effectively is proving to be false so DAO files are being re-generated to exclude specific fields causing errors.
5.10
https://lab.civicrm.org/dev/core/-/issues/581
api profile.submit does not add contact to group specified by the profile
2019-03-22T14:38:22Z
jamie
api profile.submit does not add contact to group specified by the profile
This was raised in the contact of [remoteform](https://github.com/progressivetech/net.ourpowerbase.remoteform/issues/9). I suspect it doesn't trigger the email notification either and perhaps other things that it should do.
I think that...
This was raised in the contact of [remoteform](https://github.com/progressivetech/net.ourpowerbase.remoteform/issues/9). I suspect it doesn't trigger the email notification either and perhaps other things that it should do.
I think that's because the api method calls `civicrm_api3('contact', 'create', $profileParams);` to create the contact specified, rather than `CRM_Contact_BAO_Contact::createProfileContact` which seems to happen when a profile is submitted via the normal web usage.
Any opinions on what to do? I think our options are:
* Do nothing. The profile.submit api action could remain a simple action to just get the data in and I could write a wrapper in remoteform and handle the other pieces
* Keep profile.submit the same, but tack on some addtional code that tries to handle the extra steps that need to be taken when a profile is submitted.
* Fix profile.submit to use `CRM_Contact_BAO_Contact::createProfileContact` instead of contact.create
I suspect the last option is the best option, but curious to get feedback before I start.
https://lab.civicrm.org/dev/core/-/issues/583
Irregular display of custom fields when editing contributions
2022-09-22T02:55:32Z
luke.stewart
Irregular display of custom fields when editing contributions
When editing a contribution (in a new page) sometimes the custom field data will not display.
Present on both 5.3.1 and dmaster (5.10.alpha1)
To reproduce:
Create a custom field set for contributions - and specify it to be for a speci...
When editing a contribution (in a new page) sometimes the custom field data will not display.
Present on both 5.3.1 and dmaster (5.10.alpha1)
To reproduce:
Create a custom field set for contributions - and specify it to be for a specific type:
![image](/uploads/d4157eed58eac83c7d1ef902ce5d77cc/image.png)
Add a field (or two)
Find a contribution of that specific type and load a number of times. Sometimes the custom field type will show and other times it will not.
![image](/uploads/78f18f2e29514d252760682612fde821/image.png)
https://lab.civicrm.org/dev/core/-/issues/585
client is not getting assigned as target contact
2018-12-29T22:09:50Z
Stoob
client is not getting assigned as target contact
This behavior started in 5.6 and persists in 5.8.0 whereby when editing the next scheduled activity in the Case sequence, it looks like the target contact is set, but it actually isn't. This appears to be that because when the next sche...
This behavior started in 5.6 and persists in 5.8.0 whereby when editing the next scheduled activity in the Case sequence, it looks like the target contact is set, but it actually isn't. This appears to be that because when the next scheduled activity is created in the sequence, the target contact is blank to begin with.
But when the next scheduled activity is edited and saved, the source contact is set, the case id is set, but target contact remains unset. In other words, the activity target is not set to the client as it should be, nor as the screen implies that it is. The undesirable symptom is that activities without a target do not show up in Activity reports or Find Activities search.
![looks-good](/uploads/f8e63bf92cc7610eebf5463211d7af5e/looks-good.png)
![but-target-blank](/uploads/48b57aefca4d042303ab7f868b205523/but-target-blank.png)
5.8.2
https://lab.civicrm.org/dev/core/-/issues/586
PCP Report does not show accurate total amount and total donors
2019-01-07T23:07:12Z
jamie
PCP Report does not show accurate total amount and total donors
The "Personal Campaign Page Report" provides inaccurate numbers for the "Committed Amount" and the "Number of Donors" in the report rows. The numbers in the summary at the bottom are accurate.
Instead of the total "Committed Amount", it...
The "Personal Campaign Page Report" provides inaccurate numbers for the "Committed Amount" and the "Number of Donors" in the report rows. The numbers in the summary at the bottom are accurate.
Instead of the total "Committed Amount", it provides one of the committed amounts. Instead of a count of donors, it provides the id of one of the soft credit records.
5.11
jamie
jamie
https://lab.civicrm.org/dev/core/-/issues/587
Permissions on GroupContact API calls seem wrong
2023-09-24T16:09:28Z
JonGold
Permissions on GroupContact API calls seem wrong
I got a support request from a user who didn't have "Edit All Contacts" permissions stating that they couldn't remove someone from a group. Sure enough, [edit all contacts](https://lab.civicrm.org/dev/core/blob/master/CRM/Core/Permissio...
I got a support request from a user who didn't have "Edit All Contacts" permissions stating that they couldn't remove someone from a group. Sure enough, [edit all contacts](https://lab.civicrm.org/dev/core/blob/master/CRM/Core/Permission.php#L1229) is the necessary permission. However, editing/removing tags just requires "access CiviCRM".
Does this seem correct to folks? Is it to prevent someone escalating their ACL permissions? If so, it feels like we need a different permission, and predates more nuanced solutions such as [Group Protect](https://github.com/CiviCooP/org.civicoop.groupprotect). The only other entity that needs such high permissions is Relationship - that also seems wrong.
I propose that we add both GroupContact and Relationship entities to the `_civicrm_api3_check_edit_permissions()` function. If you can edit the contact, you can edit their groups/relationships. If someone gives this a "Concept: Approved" I'll work on the PR.
JonGold
JonGold
https://lab.civicrm.org/dev/core/-/issues/593
Quicksearch "Name/Email" doesn't search email
2018-12-18T03:19:39Z
JonGold
Quicksearch "Name/Email" doesn't search email
I'm seeing this on both 5.8.0 and master.
QuickSearch, when set to "Name/Email" searches on name but not email. Basic/Advanced search "Name/Email" fields both work normally.
I'm seeing this on both 5.8.0 and master.
QuickSearch, when set to "Name/Email" searches on name but not email. Basic/Advanced search "Name/Email" fields both work normally.
5.8.2
https://lab.civicrm.org/dev/core/-/issues/602
PHP 7 notice: Only variables should be assigned by reference in CRM/Member/Fo...
2018-12-18T01:04:04Z
Andrew Thompson
PHP 7 notice: Only variables should be assigned by reference in CRM/Member/Form/Task.php, also applicable to Event, Grant, Pledge, Core
I get this e-notice when creating a PDF letter from a membership search task:
```
Notice: Only variables should be assigned by reference in <path>/CRM/Member/Form/Task.php on line 134
```
The offending code - I think it's just a matter ...
I get this e-notice when creating a PDF letter from a membership search task:
```
Notice: Only variables should be assigned by reference in <path>/CRM/Member/Form/Task.php on line 134
```
The offending code - I think it's just a matter of removing the &
```php
public function setContactIDs() {
$this->_contactIds = &CRM_Core_DAO::getContactIDsFromComponent($this->_memberIds,
'civicrm_membership'
);
}
```
PR: https://github.com/civicrm/civicrm-core/pull/13295
https://lab.civicrm.org/dev/core/-/issues/603
DB error on Case Summary report
2018-12-30T09:13:53Z
mathavan
DB error on Case Summary report
On Case Summary report,
When run report without any changes are any filters then you would this warning message
![Warning_message](/uploads/d58a69dbbf72d9916ac87a3cde5c9583/Warning_message.png)
Then unselect the Staff Member Column and...
On Case Summary report,
When run report without any changes are any filters then you would this warning message
![Warning_message](/uploads/d58a69dbbf72d9916ac87a3cde5c9583/Warning_message.png)
Then unselect the Staff Member Column and Relationship column on Column tab and run the report would end up with DB Error unknown column.
![unselectRelationshipFields](/uploads/78f1e4e8e732f70a4a65a7f266249c7a/unselectRelationshipFields.png)
![DB_Error](/uploads/ce1803449623eb3d62c539cfa06aa8a1/DB_Error.png)
I think is because of filter "Active Relationship" is set to "Yes" by default.
![Filter](/uploads/92151f98651b2deec706a7c2c06ee6ea/Filter.png)
Because there is no relationship table has been added in from clause based on this condition
![FromClause](/uploads/3126c43f0ebc4905fe368085d0ad0df0/FromClause.png)
5.10
https://lab.civicrm.org/dev/core/-/issues/610
Page title displays twice if the activity type is set in Activity form
2018-12-29T22:59:37Z
yashodha
Page title displays twice if the activity type is set in Activity form
Steps to replicate :
* Go to https://dmaster.demo.civicrm.org/civicrm/activity?reset=1&action=add&context=standalone&atype=2
* Page title displays twice
![activity_bug](/uploads/dcb4e9453ef30a5352b0755a471443c9/activity_bug.png)
It show...
Steps to replicate :
* Go to https://dmaster.demo.civicrm.org/civicrm/activity?reset=1&action=add&context=standalone&atype=2
* Page title displays twice
![activity_bug](/uploads/dcb4e9453ef30a5352b0755a471443c9/activity_bug.png)
It shows properly if a new activity form doesn't have activity type set.
https://dmaster.demo.civicrm.org/civicrm/activity?reset=1&action=add&context=standalone
5.10
yashodha
yashodha
https://lab.civicrm.org/dev/core/-/issues/616
'Print/merge document for memberships' Preview creates activities
2022-09-23T05:03:37Z
Andrew Thompson
'Print/merge document for memberships' Preview creates activities
Unlike 'Print/merge document' for *contacts*, for *memberships* the 'Print/merge document for *memberships*' task the Preview button will create activities.
As defined in [CRM-16725](https://issues.civicrm.org/jira/browse/CRM-16725) the...
Unlike 'Print/merge document' for *contacts*, for *memberships* the 'Print/merge document for *memberships*' task the Preview button will create activities.
As defined in [CRM-16725](https://issues.civicrm.org/jira/browse/CRM-16725) the difference between Preview and Download Document should be that activities are not created for Preview.
Steps to reproduce:
1. Find Memberships, use any criteria
2. Select some memberships and select the 'Print/merge document for memberships'
3. Click Preview - PDF will be created
4. Find Activities, search using appropriate criteria (Today) - activities will be seen for this task.
*Preliminary investigation:*
In `CRM_Member_Form_Task_PDFLetterCommon::postProcessMembers()`, `self::createActivities()` is called unconditionally.
In contrast, for Contacts, in `CRM_Contact_Form_Task_PDFLetterCommon::postProcess()`, `self::createActivities()` is inside an if statement: `if ($isLiveMode)`.
https://lab.civicrm.org/dev/core/-/issues/623
civicrm_mailing_bounce_type.threshold = 30 for 'Away' is that correct?
2018-12-29T04:47:10Z
Stoob
civicrm_mailing_bounce_type.threshold = 30 for 'Away' is that correct?
I searched for "civicrm_mailing_bounce_type" and could find no issues. @seamuslee wanted confirmation that '30' is the correct number of civicrm_mailing_bounce_type.threshold for type=2 "Away".
I can confirm that 30 is the default valu...
I searched for "civicrm_mailing_bounce_type" and could find no issues. @seamuslee wanted confirmation that '30' is the correct number of civicrm_mailing_bounce_type.threshold for type=2 "Away".
I can confirm that 30 is the default value in 5.6+, if not older. This default was changed from 3 to 30 at some point, not sure when. 3 is listed in the documentation, and there is a PR to change that part of the documentation.
5.10
https://lab.civicrm.org/dev/core/-/issues/628
Rearrange quick search options
2019-06-06T12:54:25Z
shitijg
Rearrange quick search options
**Overview:**
Mostly all the organisations use the external ID field, some of the ones that we are working with want to rearrange the quick search options so that the External ID field is at the top of the search options or at times cha...
**Overview:**
Mostly all the organisations use the external ID field, some of the ones that we are working with want to rearrange the quick search options so that the External ID field is at the top of the search options or at times change the label of these fields.
**Existing:**
We can switch on/off any fields that are available to quicksearch from /civicrm/admin/setting/search?reset=1
Also, if a user selects a field from the quicksearch dropdown, that field is set as the default search option but this is just as a cookie ie local to every user.
**Proposed Implementation:**
Instead of just having a checkbox for enabling fields, we can have a table where:
- the user can rearrange the the fields which would dictate the order of the fields in the quicksearch
- the user can set a particular field as default which would be the default selection globally
- the user can change the label of any fields for eg the label of External ID can be changed to Membership ID
Screenshot attached.
![Quicksearch](/uploads/3c00f66affe93a9579001eae243f7e82/Quicksearch.png)
Thanks
https://lab.civicrm.org/dev/core/-/issues/635
Implement reconnect/replay-on-write for database connections
2020-09-09T05:24:30Z
totten
Implement reconnect/replay-on-write for database connections
Currently, CiviCRM always connects to a singular DSN. For epic:ro-db, we seek compatibility with a split DB architecture in which one routes MySQL requests to (a) read-only slave DBs and/or (b) read-write master DB. This issue specifical...
Currently, CiviCRM always connects to a singular DSN. For epic:ro-db, we seek compatibility with a split DB architecture in which one routes MySQL requests to (a) read-only slave DBs and/or (b) read-write master DB. This issue specifically proposes a "reconnect-on-write" or "replay-on-write" (RPOW) mechanism as a general, global baseline.
## Technical Overview
One possible technique is to sprinkle flags/hints into the application to indicate which use-cases should be served by slave/rodb or by master/rwdb. *Some* of this sprinkling is likely happen, but we have a large, open-ended application (with several built-in subsystems and several third-party extensions/addons). Auditing all of these is somewhat daunting task.
RPOW aims to provide a *generic baseline* that relies primarily on MySQL semantics (and doesn't require auditing every use-case carefully). The general idea is:
1. Connect optimistically to the read-only slave (expecting a read-only use-case). We can continue using the RODB as long as requests are read-oriented (e.g. `SELECT`).
2. If there is an actual write operation (e.g. `UPDATE`), then reconnect to the read-write master.
Dynamically switching to the read-write master is not quite as simple as it sounds:
* Some SQL statements (eg `SET @foo` and `CREATE TEMPORARY TABLE`) can be legitimately used in a read-oriented operation (e.g. advanced querying/reporting) -- but they may also be prelude to a write-operation (e.g. building a temp-table with a list of targets and then updating each one). We allow these to execute on the RODB -- but, when/if we reconnect to RWDB, then we *replay* those statements.
* To support replay, we must be able to classify any SQL statement into one of three buckets:
* `READ` (Ex: `SELECT * FROM foo`): The SQL statement has no side-effects; it simply reads data.
* `BUFFER` (Ex: `SET @user_id = 123`): The SQL statement has no long-term, persistent side-effects; it can, however, have temporary side-effects during the present MySQL session.
* `WRITE` (Ex: `TRUNCATE foo`): The SQL statement has long-term, persistent side-effects and must be executed on the master. (Generally, if we can't demonstrate that something is `READ` or `BUFFER`, then we assume it is `WRITE`.)
* The MySQL query language has interesting edge-cases (e.g. `SELECT @foo := id FROM bar FOR UPDATE`) that should be handled correctly.
* We don't know anything about the delay in sync'ing between RODB and RWDB. After making a write, we'll continue sending all requests (reads or writes) to RWDB for some *period of time*. (Ex: After updating a contact in RWDB, the user's browser gets a cookie -- and, for the next 60 seconds, any additional reads should hit RWDB.)
## Limitations and Assumptions
* RPOW makes sense if user's are primarily reading from MySQL. Stock CiviCRM relies extensively on MySQL for caching and session-state, which leads to frequent writes. However, if you use the Redis integration for caches/sessions/prevnext, then this is significantly reduced.
* RPOW aims to *mitigate/reduce* the need for sprinkling use-case specific hints. However, there may still be scenarios where one wants to sprinkle hints. In particular: the contact-edit screen uses optimistic-locking (which reads the last-modified timestamp before authorizing updates); for correct oplocking, there should be a hint that any POST requests to the contact-edit screen need the RWDB.
## Relevant Tasks / Patches / Subtasks
The following are types of patches / subtasks we may expect:
* Adding a new DB driver -- an admin can opt-in to using RPOW behavior by setting `CIVICRM_DSN` to a special value (and registering DSNs for both RODBs and RWDB).
* Adding a unit-test to ensure correct classification of a range of SQL examples.
* Maintaining a cookie or session-variable to indicate that a user needs to be temporarily directed to RWDB by default.
* Updating existing use-cases to reduce gratuitous writes or to send hints about specific write-oriented use-cases.
NOTE: I've currently got a draft project in https://github.com/totten/rpow ; however, I'm filing this issue here because some of this work will need to come back into core.
## Pull Requests
* [#13394 - Reduce unnecessary SQL writes](https://github.com/civicrm/civicrm-core/pull/13394) (m)
* [#13500 - (REF) Add CRM_Utils_Cache::nack(). Use it for NaiveHasTrait](https://github.com/civicrm/civicrm-core/pull/13500) (m)
* [#13496 - Implement local array-cache for use with Redis/Memcache](https://github.com/civicrm/civicrm-core/pull/13496) (m)
* [#13489 - Deprecate CRM_Core_BAO_Cache for I/O. Optionally redirect I/O to Redis or Memcache. #13489 ](https://github.com/civicrm/civicrm-core/pull/13489) (m)
* [#13514 - CRM_Utils_Cache::nack() - Fix format](https://github.com/civicrm/civicrm-core/pull/13514) (m)
totten
totten
https://lab.civicrm.org/dev/core/-/issues/636
Custom field for Address: The "No" value is not defaulted
2019-01-06T19:32:14Z
Pradeep Nayak
pradpnayak@gmail.com
Custom field for Address: The "No" value is not defaulted
To replicate:
* Create custom field Yes/No for custom group "Address Details" extending address
* View contact record
* Click on the Address area
* Open "Address Details"
* Choose "No"
* Click "Save"
* Click on the Address area again
*...
To replicate:
* Create custom field Yes/No for custom group "Address Details" extending address
* View contact record
* Click on the Address area
* Open "Address Details"
* Choose "No"
* Click "Save"
* Click on the Address area again
* Open "Address Details"
![Address_Custom_field](/uploads/dc88818dcdf45b50feaa45372f9b7a97/Address_Custom_field.gif)
PR: https://github.com/civicrm/civicrm-core/pull/13397
5.11
https://lab.civicrm.org/dev/core/-/issues/639
Note: No restriction of the Subject field length
2019-03-01T00:19:08Z
Pradeep Nayak
pradpnayak@gmail.com
Note: No restriction of the Subject field length
**STR:**
* Navigate to Search→Find Contacts
* Find any Individual/Organisation
* On the Search results page, click vertical ellipsis and select "Add Note"
* Fill in the Subject field with more than 255 chars
* Fill in the Body fields wi...
**STR:**
* Navigate to Search→Find Contacts
* Find any Individual/Organisation
* On the Search results page, click vertical ellipsis and select "Add Note"
* Fill in the Subject field with more than 255 chars
* Fill in the Body fields with some text
* Click Save
* Navigate to the created Note
* Check the number of the characters in the Subject field
**Result:** the number of saved characters in the created Note is 255
**Expected result:** during Note creation, there should be a restriction to the field length (255 char max)
PR:https://github.com/civicrm/civicrm-core/pull/13403
5.12.0
https://lab.civicrm.org/dev/core/-/issues/640
Create repeating activity requires Event permission
2019-01-05T20:23:46Z
davej
Create repeating activity requires Event permission
Creating a repeating activity through the UI gives an Access Denied error unless the user has "access CiviEvent" permission.
**Steps to replicate**
1. Log in as a user without "access CiviEvent" permission.
2. From contact summary, Act...
Creating a repeating activity through the UI gives an Access Denied error unless the user has "access CiviEvent" permission.
**Steps to replicate**
1. Log in as a user without "access CiviEvent" permission.
2. From contact summary, Activities tab, click New Activity, choose e.g. Meeting.
3. Expand the "Repeat Activity" section, Click the "After" radio button, Save.
**Expected result**
Confirm dialog lists the instances that will be created.
On clicking Confirm, the instances are created and listed.
**Actual result**
Confirm dialog is blank. Error message appears:
"Access Denied / Ensure you are still logged in and have permission to access this feature.".
On clicking Confirm, the instances are created and listed.
**Analysis**
Problem occurs because the confirm dialog uses a path that requires "access CiviEvent" permission. In CRM/Core/xml/Menu/Misc.xml:
```
<item>
<path>civicrm/recurringentity/preview</path>
<page_callback>CRM_Core_Page_RecurringEntityPreview</page_callback>
<access_arguments>access CiviCRM,access CiviEvent</access_arguments>
<title>Confirm dates</title>
</item>
```
Problem is resolved by removing ",access CiviEvent".
5.11
https://lab.civicrm.org/dev/core/-/issues/641
Case Activity Assignment Restriction
2022-10-12T05:04:03Z
shitijg
Case Activity Assignment Restriction
**Overview:**
We have had a few security complaints from a few clients using cases. They mistakenly assigned an activity to a contact who was not supposed to see the details of the activity.
**How it works right now**
Currently, a us...
**Overview:**
We have had a few security complaints from a few clients using cases. They mistakenly assigned an activity to a contact who was not supposed to see the details of the activity.
**How it works right now**
Currently, a user can create and assign an activity to any CiviCRM contact. This in turn sends an email notification to the assignee. However, some users have reported that they mistakenly assigned activities to contacts with similar names which meant that someone who should not have access to any details of the activity got a link stating some basic details of the activity.
Whilst, the contact who received the email wasn't a CiviCRM user, so they couldn't not login and edit the activity, just some basic details in this case acted as a security breach as the table in the email already revealed more about the activity.
**New Implementation:**
We want to add the ability to restrict the assignment of case activities to a group.
Points to note- (UPDATED ON 07/01 to have this setting on the case type)
- This can live in the case type settings ie the user can define which group can an activity be assigned to per case type (civicrm/a/#/caseType/n where 'n' is the ID of the case type)
- We can have 2 options for the field "Case activity assignment to" - 1. All Users (DEFAULT) 2. Restricted by group
- On selecting 2. - the user will be able to select a group
- Once a group is selected, the user will only be able to assign a case activity to contacts within the selected group
- If an activity from outside cases is "Filed" on case - and if the assignee is not a part of that group - there should not be any new notifications going to the assignee (this is already working this way ie no notifications are sent to the assignee on filing an out of case activity to a case)
Feel free to reach out to me on Mattermost if you need any clarifications.
Thanks
https://lab.civicrm.org/dev/core/-/issues/642
New Contact Report: New report isn't created automatically when the user sele...
2022-09-25T05:03:22Z
Pradeep Nayak
pradpnayak@gmail.com
New Contact Report: New report isn't created automatically when the user selects the "Create Report" action
**Steps:**
* Click "View contact record"
* Click "Contacts" > "Contact Reports"
* Click "New Contact Report"
* Open the "Constituent Report (Summary)" report
* Select some check boxes
* Open the 'Actions' drop-down
* Select 'Create Rep...
**Steps:**
* Click "View contact record"
* Click "Contacts" > "Contact Reports"
* Click "New Contact Report"
* Open the "Constituent Report (Summary)" report
* Select some check boxes
* Open the 'Actions' drop-down
* Select 'Create Report'
**Actual result:** New report isn't created automatically.
**Expected result:** E.g. here is a pop-up for choosing new report name when the user selects the "Create Report" action.
![Report](/uploads/78a81c246ef230dd6d4ed9b4cc7b9a61/Report.gif)
https://lab.civicrm.org/dev/core/-/issues/643
Nested call to api.delete runs twice
2019-01-05T20:47:10Z
eileen
Nested call to api.delete runs twice
A recent change to use an exception has exposed a bug in the api kernal
A unit test is running
```
$contribution = $this->callAPISuccess('contribution', 'getsingle', array(
'id' => $contribution['id'],
'api.contributio...
A recent change to use an exception has exposed a bug in the api kernal
A unit test is running
```
$contribution = $this->callAPISuccess('contribution', 'getsingle', array(
'id' => $contribution['id'],
'api.contribution.delete' => 1,
));
```
However the delete action is being called TWICE - the second time it is failing - looking at the kernal it is run from the respond line as well as the invoke line in the kernel
```
public function runRequest($apiRequest) {
$this->boot($apiRequest);
$errorScope = \CRM_Core_TemporaryErrorScope::useException();
list($apiProvider, $apiRequest) = $this->resolve($apiRequest);
$this->authorize($apiProvider, $apiRequest);
$apiRequest = $this->prepare($apiProvider, $apiRequest);
$result = $apiProvider->invoke($apiRequest);
return $this->respond($apiProvider, $apiRequest, $result);
}
```
See ![Screenshot_2019-01-05_10.28.35](/uploads/13bed61a0c4b79909cbf95181626c568/Screenshot_2019-01-05_10.28.35.png)
And ![Screenshot_2019-01-05_10.27.38](/uploads/d56e3c8930acbacffcd44ad761f43bf2/Screenshot_2019-01-05_10.27.38.png) after it returns from invoke
I have been fighting with delete related issues on unit tests in extendedreports - I don't know if they relate
5.11
https://lab.civicrm.org/dev/core/-/issues/644
"From" address on membership renewal notices is wrong
2019-03-13T23:50:20Z
JonGold
"From" address on membership renewal notices is wrong
Found on [Stack Exchange](https://civicrm.stackexchange.com/q/27905/12). I don't think this is replicable on the demo server because you need to be able to send email to replicate.
### Steps to Replicate
* If using civicrm-buildkit, en...
Found on [Stack Exchange](https://civicrm.stackexchange.com/q/27905/12). I don't think this is replicable on the demo server because you need to be able to send email to replicate.
### Steps to Replicate
* If using civicrm-buildkit, enable sending mail by temporarily deleting `<buildkit-root>/app/civicrm.settings.d/100-mail.php`.
* You can still set your outgoing mail to redirect to database - but `CIVICRM_MAIL_LOG` shouldn't be defined.
* Create a new non-lifetime membership on any contact.
* Select **Renew** next to the membership.
* Check the **Send Confirmation and Receipt** checkbox.
* Pres the **Renew** button.
![Selection_752](/uploads/5e877fd67625a9ca8edcd7d3e70788ba/Selection_752.png)
### Expected Result
In the "From" header, the email should have the display name of the contact selected in **Receipt From**.
### Actual Result
In the "From" header, the email has the contact ID of the contact selected in **Receipt From**.
5.11
JonGold
JonGold
https://lab.civicrm.org/dev/core/-/issues/646
Event date sorting doesn't work for ical listing
2019-01-10T21:16:28Z
yashodha
Event date sorting doesn't work for ical listing
Steps to replicate:
-------------------
* Go to ical listing
https://dmaster.demo.civicrm.org/civicrm/event/ical?reset=1&list=1&html=1
* Click When column which correponds to the event dates
Expected : The dates should be sorted in ...
Steps to replicate:
-------------------
* Go to ical listing
https://dmaster.demo.civicrm.org/civicrm/event/ical?reset=1&list=1&html=1
* Click When column which correponds to the event dates
Expected : The dates should be sorted in ASC/DSC for start date
Actual : The dates get sorted in alphabetic manner
![demo_ical_listing](/uploads/06b639d1a695380d266a5e324121a9b1/demo_ical_listing.png)
Date sorting for *Manage Events* works properly though.
![demo_manage_event](/uploads/3e95da0886f1c1cfaca061c85ab7ab3a/demo_manage_event.png)
5.11
https://lab.civicrm.org/dev/core/-/issues/647
Not all unit tests classes are used by jenkins
2019-03-11T13:34:15Z
tschuettler
Not all unit tests classes are used by jenkins
I discovered in https://github.com/civicrm/civicrm-core/pull/13396#issuecomment-451433721 that the test class was not actually used for unit testing.
When checking for further cases I made a script for the `api` and `CRM` test folder t...
I discovered in https://github.com/civicrm/civicrm-core/pull/13396#issuecomment-451433721 that the test class was not actually used for unit testing.
When checking for further cases I made a script for the `api` and `CRM` test folder that checks if there are other occurences where the filename and classname that does not match:
- [x] Filename: api_v3_UserTest Class: api_v3_UserWebsiteTest
- [x] Filename: CRM_Contact_SelectorTest Class: CRM_Contact_Form_SelectorTest
- [x] Filename: CRM_Contribute_Form_TaskTest Class: CRM_Contribute_Form_Tasktest
- [x] Filename: CRM_Custom_Page_AjaxTest Class: CRM_Custom_Page_AJAXTest
- [x] Filename: CRM_Import_DataSource_CsvTest Class: CRM_Import_Datasource_CsvTest
- [x] Filename: CRM_Event_Form_Registration_RegisterTest Class: CRM_Event_Form_RegistrationTest
It looks to me like none of the tests are used by jenkins when they actually should be?
https://lab.civicrm.org/dev/core/-/issues/649
DB error on Find Activities with follow up criteria
2019-01-08T20:27:11Z
yashodha
DB error on Find Activities with follow up criteria
Steps to replicate:
-------------------
Go to *Find Activities* and set *Has a Followup Activity?* to Yes
Hit Search and you will get DB error
Database Error Code: Unknown column 'parent_id.parent_id' in 'where clause', 1054
```
Datab...
Steps to replicate:
-------------------
Go to *Find Activities* and set *Has a Followup Activity?* to Yes
Hit Search and you will get DB error
Database Error Code: Unknown column 'parent_id.parent_id' in 'where clause', 1054
```
Database Error Code: Unknown column 'parent_id.parent_id' in 'where clause', 1054
Additional Details:
Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -19
[message] => DB Error: no such field
[mode] => 16
[debug_info] => SELECT count( DISTINCT ( civicrm_activity.id ) ) as rowCount FROM civicrm_contact contact_a LEFT JOIN civicrm_activity_contact
ON ( civicrm_activity_contact.contact_id = contact_a.id ) LEFT JOIN civicrm_activity
ON ( civicrm_activity.id = civicrm_activity_contact.activity_id
AND civicrm_activity.is_deleted = 0 AND civicrm_activity.is_current_revision = 1 ) INNER JOIN civicrm_contact
ON ( civicrm_activity_contact.contact_id = civicrm_contact.id and civicrm_contact.is_deleted != 1 ) LEFT JOIN civicrm_option_group option_group_activity_type ON (option_group_activity_type.name = 'activity_type') LEFT JOIN civicrm_option_value activity_type ON (civicrm_activity.activity_type_id = activity_type.value
AND option_group_activity_type.id = activity_type.option_group_id )
LEFT JOIN civicrm_activity_contact source_activity
ON (source_activity.activity_id = civicrm_activity_contact.activity_id
AND source_activity.record_type_id = 2)
LEFT JOIN civicrm_contact source_contact ON (source_activity.contact_id = source_contact.id) WHERE ( parent_id.parent_id IS NOT NULL AND civicrm_activity_contact.record_type_id = 3 AND civicrm_activity.is_test = 0 AND civicrm_activity.status_id IN ("1", "2") ) AND ( 1 ) [nativecode=1054 ** Unknown column 'parent_id.parent_id' in 'where clause']
[type] => DB_Error
[user_info] => SELECT count( DISTINCT ( civicrm_activity.id ) ) as rowCount FROM civicrm_contact contact_a LEFT JOIN civicrm_activity_contact
ON ( civicrm_activity_contact.contact_id = contact_a.id ) LEFT JOIN civicrm_activity
ON ( civicrm_activity.id = civicrm_activity_contact.activity_id
AND civicrm_activity.is_deleted = 0 AND civicrm_activity.is_current_revision = 1 ) INNER JOIN civicrm_contact
ON ( civicrm_activity_contact.contact_id = civicrm_contact.id and civicrm_contact.is_deleted != 1 ) LEFT JOIN civicrm_option_group option_group_activity_type ON (option_group_activity_type.name = 'activity_type') LEFT JOIN civicrm_option_value activity_type ON (civicrm_activity.activity_type_id = activity_type.value
AND option_group_activity_type.id = activity_type.option_group_id )
LEFT JOIN civicrm_activity_contact source_activity
ON (source_activity.activity_id = civicrm_activity_contact.activity_id
AND source_activity.record_type_id = 2)
LEFT JOIN civicrm_contact source_contact ON (source_activity.contact_id = source_contact.id) WHERE ( parent_id.parent_id IS NOT NULL AND civicrm_activity_contact.record_type_id = 3 AND civicrm_activity.is_test = 0 AND civicrm_activity.status_id IN ("1", "2") ) AND ( 1 ) [nativecode=1054 ** Unknown column 'parent_id.parent_id' in 'where clause']
[to_string] => [db_error: message="DB Error: no such field" code=-19 mode=callback callback=CRM_Core_Error::handle prefix="" info="SELECT count( DISTINCT ( civicrm_activity.id ) ) as rowCount FROM civicrm_contact contact_a LEFT JOIN civicrm_activity_contact
ON ( civicrm_activity_contact.contact_id = contact_a.id ) LEFT JOIN civicrm_activity
ON ( civicrm_activity.id = civicrm_activity_contact.activity_id
AND civicrm_activity.is_deleted = 0 AND civicrm_activity.is_current_revision = 1 ) INNER JOIN civicrm_contact
ON ( civicrm_activity_contact.contact_id = civicrm_contact.id and civicrm_contact.is_deleted != 1 ) LEFT JOIN civicrm_option_group option_group_activity_type ON (option_group_activity_type.name = 'activity_type') LEFT JOIN civicrm_option_value activity_type ON (civicrm_activity.activity_type_id = activity_type.value
AND option_group_activity_type.id = activity_type.option_group_id )
LEFT JOIN civicrm_activity_contact source_activity
ON (source_activity.activity_id = civicrm_activity_contact.activity_id
AND source_activity.record_type_id = 2)
LEFT JOIN civicrm_contact source_contact ON (source_activity.contact_id = source_contact.id) WHERE ( parent_id.parent_id IS NOT NULL AND civicrm_activity_contact.record_type_id = 3 AND civicrm_activity.is_test = 0 AND civicrm_activity.status_id IN ("1", "2") ) AND ( 1 ) [nativecode=1054 ** Unknown column 'parent_id.parent_id' in 'where clause']"]
)
```
5.11
yashodha
yashodha
https://lab.civicrm.org/dev/core/-/issues/652
Copying activity file custom data doesn't copy mime type
2019-01-21T16:41:56Z
Don Wijesooriya
Copying activity file custom data doesn't copy mime type
## Steps to reproduce:
1. Create custom data set for Activities
2. Create custom field of type File
3. Create any type of new activity such as Phone Call
4. Upload an image in the custom field
5. Create another activity without any custo...
## Steps to reproduce:
1. Create custom data set for Activities
2. Create custom field of type File
3. Create any type of new activity such as Phone Call
4. Upload an image in the custom field
5. Create another activity without any custom data
6. Note the id's of the 2 activities
6. In your custom extension, run the following code to copy custom fields from 1st activity to the 2nd
```php
$params = array(
'activityID' => $first_activity_id,
'mainActivityId' => $second_activity_id,
);
CRM_Activity_BAO_Activity::copyExtendedActivityData($params);
```
7. Inspect civicrm_file table
8. The new entry doesn't have mime_type set
## Issue
* In `copyExtendedActivityData()` method in CRM/Activity/BAO/Activity.php 'path' should be renamed to 'type' in the following coding block
```php
$customParams["custom_{$key}_-1"] = array(
'name' => $fileValues[0],
'path' => $fileValues[1],
);
```
![activity](/uploads/effe3764e1c8e552bbfe60b81f3d5469/activity.png)
* This is because in `formatCustomField()` method in CRM/Core/BAO/CustomField.php, the mimeType variable uses 'type' not path
```php
// If we are already passing the file id as a value then retrieve and set the file data
if (CRM_Utils_Rule::integer($value)) {
$fileDAO = new CRM_Core_DAO_File();
$fileDAO->id = $value;
$fileDAO->find(TRUE);
if ($fileDAO->N) {
$fileID = $value;
$fName = $fileDAO->uri;
$mimeType = $fileDAO->mime_type;
}
} else {
$fName = $value['name'];
$mimeType = $value['type'];
}
```
![customfield](/uploads/c2762f6ac5112acde2bbf3690b52a080/customfield.png)
* Furthermore the `path()` method in CRM/Core/BAO/File.php which is used by `copyExtendedActivityData()` return path and mime type
![file](/uploads/77f738950aa9ab463465dfaa0d7ab2e1/file.png)
https://lab.civicrm.org/dev/core/-/issues/656
unreleased regression - attendee report generates undefined property notice
2019-01-14T02:07:11Z
JonGold
unreleased regression - attendee report generates undefined property notice
You can replicate this on dmaster demo by clicking "Refresh Results" on the "Attendee List" report. You'll get this notice once per contact:
```
Notice: Undefined property: CRM_Report_Form_Event_ParticipantListing::$campaigns in CRM_Re...
You can replicate this on dmaster demo by clicking "Refresh Results" on the "Attendee List" report. You'll get this notice once per contact:
```
Notice: Undefined property: CRM_Report_Form_Event_ParticipantListing::$campaigns in CRM_Report_Form_Event_ParticipantListing->alterDisplay() (line 748 of /srv/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Report/Form/Event/ParticipantListing.php).
```
Ping @yashodha
Ref: core#491
5.10
https://lab.civicrm.org/dev/core/-/issues/660
Fatal DB Error: already exists on event registration/contribution pages when ...
2019-01-17T11:24:07Z
davej
Fatal DB Error: already exists on event registration/contribution pages when profile has user creation
**Steps to replicate**
1. In Drupal account settings, set *Who can register accounts? = Visitors* and un-tick *Require e-mail verification when a visitor creates an account.*
2. In standard *Your Registration Info* profile settings, set ...
**Steps to replicate**
1. In Drupal account settings, set *Who can register accounts? = Visitors* and un-tick *Require e-mail verification when a visitor creates an account.*
2. In standard *Your Registration Info* profile settings, set *Drupal user account registration option? = Account creation required*.
3. Create a basic event with no fees, allowing online registration, using above profile.
4. As an anonymous user, register for the event, using email address and username that do not exist in the Civi or Drupal databases.
**Expected behaviour**
Contact created and registered for event, user created.
**Actual behaviour**
Fatal DB Error: already exists
```
[debug_info] => INSERT INTO civicrm_uf_match (domain_id , uf_id , uf_name , contact_id ) VALUES
( 1 , 5 , 'blah@blah.blah' , 207 ) [nativecode=1062 ** Duplicate entry 'blah@blah.blah' for key 'UI_uf_name_domain_id']
```
2 contacts created with same email address:
- first (by id) with display name = provided name, has participant record, no UF match record.
- second (by id) with display name = email, no participant record, has UF match record.
User created.
Similar past issues:
- [CRM-16234 User Creation via profile fails with DB Error](https://issues.civicrm.org/jira/browse/CRM-16234)
- [CRM-19195 Duplicate entry in civicrm_uf_match when forcing account creation](https://issues.civicrm.org/jira/browse/CRM-19195)
Replicated on 5.9.0/Drupal 7 and current local dmaster.
On local civibuild drupal-demo 5.8.2: the contact, participant, user & UF match records were created successfully.
https://lab.civicrm.org/dev/core/-/issues/651
error exporting contributions with soft credits
2019-03-07T19:55:31Z
ericg
error exporting contributions with soft credits
when trying to export contributions with soft credits I got the following error
unknown column 'Array' in 'group statement'
[civicrm 5.9; drupal 7.x; mariadb; php 7.1]
I traced it to line 152 of
CRM/Export/BAO/Export.php
changing
$...
when trying to export contributions with soft credits I got the following error
unknown column 'Array' in 'group statement'
[civicrm 5.9; drupal 7.x; mariadb; php 7.1]
I traced it to line 152 of
CRM/Export/BAO/Export.php
changing
$groupBy = array('contribution_search_scredit_combined.id', 'contribution_search_scredit_combined.scredit_id');
to
$groupBy = "contribution_search_scredit_combined.id, contribution_search_scredit_combined.scredit_id";
resolved the issue for me.
(I really need to learn how to do proper pull requests)
5.10
https://lab.civicrm.org/dev/core/-/issues/662
Mail accounts don't work if the password contains "
2022-10-08T05:03:32Z
johnff
Mail accounts don't work if the password contains "
Mail accounts cannot be read by the activities processor if the password contains "
The fix for this is simple - put addslashes before the password is read, and this fix is working in our production instance.
Mail accounts cannot be read by the activities processor if the password contains "
The fix for this is simple - put addslashes before the password is read, and this fix is working in our production instance.
https://lab.civicrm.org/dev/core/-/issues/663
Deprecate ARCHIVE format for CiviCRM Database Logging
2021-05-11T16:45:30Z
xurizaemon
Deprecate ARCHIVE format for CiviCRM Database Logging
The ARCHIVE format seemed like a good idea at the time (it takes less space), but my sense is that very few organisations actively involved with CiviCRM choose to use ARCHIVE. I believe the experience of most has been that ARCHIVE storag...
The ARCHIVE format seemed like a good idea at the time (it takes less space), but my sense is that very few organisations actively involved with CiviCRM choose to use ARCHIVE. I believe the experience of most has been that ARCHIVE storage format is unreliable and the cause of various issues affecting site performance, backup reliability and other issues.
I propose that we switch the default storage format for sites activating Database Logging to the current default for that site's database.
Alternative approach might be to ship [nz.co.fuzion.innodbtriggers](https://github.com/eileenmcnaughton/nz.co.fuzion.innodbtriggers) activated by default on new installs (but this feels like it could add more complexity than just removing the ARCHIVE statements on new logging activation).
> "The INNODB format is arguablly a better format for CiviCRM logging. Although INNODB tables take more space, they can be queried much more effectively, which is useful when you want to consult the logs. Consulting the change log for ARCHIVE tables is phohibitivley slow once your logging has been running a while." - [Fuzion InnoDB Triggers extension README](https://github.com/eileenmcnaughton/nz.co.fuzion.innodbtriggers).
IMO this could be a "missing stair" situation - a known issue to those familiar with CiviCRM, but a gotcha for those unfamiliar, and therefore something which can go unfixed for a long time and has impact primarily on those new to the community/userbase.
Of particular consideration is the risk to sites who would be impacted by InnoDB using more diskspace - we don't want to ship a change which triggers disk outages as ARCHIVE tables are unzipped. I propose that we not do that.
I'm interested to hear from CiviCRM community members who do prefer the ARCHIVE format?
Related:
* https://github.com/civicrm/civicrm-sysadmin-guide/pull/142
* https://github.com/eileenmcnaughton/nz.co.fuzion.innodbtriggers
* https://civicrm.stackexchange.com/questions/2137/what-causes-periodic-database-errors-while-using-logging-and-what-should-i-do-a
* https://civicrm.stackexchange.com/questions/17733/db-error-unknown-error-when-adding-custom-field/17743#17743
* https://civicrm.stackexchange.com/questions/17770/archive-not-enabled-by-default-on-mariadb-10-1
* https://civicrm.stackexchange.com/questions/23075/any-other-way-to-disable-db-logging-civicrm-4-6x
* https://civicrm.stackexchange.com/questions/25318/large-civicrm-logs
https://lab.civicrm.org/dev/core/-/issues/664
Add new indexes when updating log table schema regardless of engine change
2019-03-18T00:07:09Z
Patrick Figel
pfigel@greenpeace.org
Add new indexes when updating log table schema regardless of engine change
While working on [at.greenpeace.advancedlogtables](https://github.com/greenpeace-cee/at.greenpeace.advancedlogtables), I noticed that the `System.updatelogtables` API call only adds new indexes set by the `alterLogTables` hook when it's ...
While working on [at.greenpeace.advancedlogtables](https://github.com/greenpeace-cee/at.greenpeace.advancedlogtables), I noticed that the `System.updatelogtables` API call only adds new indexes set by the `alterLogTables` hook when it's accompanied by an engine change.
That's generally fine when the indexes don't change, but once new ones are added you'd have to temporarily change the engine or apply the new ones manually.
Is there a particular reason why we'd want to keep that behaviour, or can we change it so that new indexes are added regardless of the engine?
I have [a patch](https://github.com/civicrm/civicrm-core/commit/eababeabc1d0e97a809c7c534ce7e5a73a065c65#diff-e0d65cfb03f2d6f003eb4d598ef7e50b) ready for this, but wanted to check if there's agreement on this first.
5.13.0
https://lab.civicrm.org/dev/core/-/issues/666
Prevent trailing ampersand in some URLs in WordPress
2019-03-13T12:12:33Z
haystack
Prevent trailing ampersand in some URLs in WordPress
There's a minor flaw in `CRM_Utils_System_WordPress::url()` which produces URLs with a trailing `&` when an empty array is passed to `CRM_Utils_System::url()` as the `$query` parameter. See, for example, the call to `CRM_Utils_System::ur...
There's a minor flaw in `CRM_Utils_System_WordPress::url()` which produces URLs with a trailing `&` when an empty array is passed to `CRM_Utils_System::url()` as the `$query` parameter. See, for example, the call to `CRM_Utils_System::url()` in `CRM_Core_Payment::getNotifyUrl()`.
[The flaw](https://lab.civicrm.org/dev/core/blob/master/CRM/Utils/System/WordPress.php#L286-288) is that `$query` is set and is an empty string, which is appended to `$queryParts` and then results in a trailing `&` when the `$queryParts` array [is imploded](https://lab.civicrm.org/dev/core/blob/master/CRM/Utils/System/WordPress.php#L305).
My concern is that the URLs generated when an empty array is passed as the `$query` param are likely to be caught by `redirect_canonical()` with the possible loss of session data as a result of a WordPress-triggered redirect. (Or rather - since the example IPN URL is called externally - others like it in the CiviCRM ecosystem)
PR to follow.
https://lab.civicrm.org/dev/core/-/issues/667
Deleting entities leaves obsolete EntityTag records
2023-02-27T05:03:36Z
jensschuppe
Deleting entities leaves obsolete EntityTag records
## Steps to reproduce
* Create a contact
* Assign a tag to the contact
* (Permantently) Delete the contact
## Expected result
The record in `civicrm_entity_tag` for the contact-tag relationship should have been removed.
## Actual res...
## Steps to reproduce
* Create a contact
* Assign a tag to the contact
* (Permantently) Delete the contact
## Expected result
The record in `civicrm_entity_tag` for the contact-tag relationship should have been removed.
## Actual result
The record in `civicrm_entitiy_tag` for the contact-tag relationship retains and will never-ever be deleted.
## Technical background
Since a FK constraint `ON DELETE CASCADE` on the `civicrm_entity_tag` table for all possible entity ID tables is not possible, also due to the aggregated identification (`entity_table` and `entity_id`), this should be done in code when deleting any entity that may be assigned a tag.
https://lab.civicrm.org/dev/core/-/issues/670
Cases: Edit Activity does not save tags
2019-01-21T14:27:13Z
debarshi_compucorp
Cases: Edit Activity does not save tags
## Overview
When editing an Activity for cases, the selected `tags` are not saved.
## Steps to reproduce
1. Create new case
2. Open a specific activity
`/civicrm/case/activity?action=update&id=<ACTIVITY_ID>&cid=76&caseid=<CASE_ID>&r...
## Overview
When editing an Activity for cases, the selected `tags` are not saved.
## Steps to reproduce
1. Create new case
2. Open a specific activity
`/civicrm/case/activity?action=update&id=<ACTIVITY_ID>&cid=76&caseid=<CASE_ID>&reset=1
3. Add a new tag, and SAVE
4. See that the tags are not saved.
## Screenshot
![before](/uploads/ce31b7ae73bbe1eec40c5842529e4b80/before.gif)
## Technical Solution
In https://github.com/civicrm/civicrm-core/blob/3bf2661bd263d718e867ad5170965d1bcb110df6/CRM/Case/Form/Activity.php#L546 it is assumed that `$params['tag']` is an array, but actually is a comma separated string.
But in the parent class `CRM_Activity_Form_Activity`, this feature works because of the code https://github.com/civicrm/civicrm-core/blob/43076c76f4724d0f42ceb03b46acfbce2c751233/CRM/Activity/Form/Activity.php#L1066, which converts the string to an Array.
So similar code needs to be implemented in `CRM_Case_Form_Activity`.
```php
if (!empty($params['tag'])) {
if (!is_array($params['tag'])) {
$params['tag'] = explode(',', $params['tag']);
}
foreach ($params['tag'] as $tag) {
$tagParams[$tag] = 1;
}
}
```
https://lab.civicrm.org/dev/core/-/issues/673
Add filter for deleted contacts on Repeat Contributions Report
2019-01-23T08:30:46Z
francescbassas
Add filter for deleted contacts on Repeat Contributions Report
By default Repeat Contributions Report shows contributions for contacts in trash. It is a behavior that can lead to problems and, in our view, should be just the opposite.
By default Repeat Contributions Report shows contributions for contacts in trash. It is a behavior that can lead to problems and, in our view, should be just the opposite.
https://lab.civicrm.org/dev/core/-/issues/676
CRM_Utils_GeocodeTest throwing test-negatives everywhere
2022-09-25T05:03:22Z
totten
CRM_Utils_GeocodeTest throwing test-negatives everywhere
## Details
The relevant code is in https://github.com/civicrm/civicrm-core/blob/5.10/tests/phpunit/CRM/Utils/GeocodeTest.php
Here's an example of the test output:
---
![Screen_Shot_2019-01-21_at_5.09.42_PM](/uploads/f02af91e5d1769ae66...
## Details
The relevant code is in https://github.com/civicrm/civicrm-core/blob/5.10/tests/phpunit/CRM/Utils/GeocodeTest.php
Here's an example of the test output:
---
![Screen_Shot_2019-01-21_at_5.09.42_PM](/uploads/f02af91e5d1769ae661c27dd258f1fc0/Screen_Shot_2019-01-21_at_5.09.42_PM.png)
---
## Discussion
Generally, it looks like the tests take the approach of (a) setup example DB, (b) call Google geocoder API, (c) assert that data is updated with accurate-ish info. Some ideas to mitigate:
1. Turn off testing of `CRM_Utils_GeocodeTest` completely. Communicate more loudly about the functionality moving to an extension. Perhaps bundle the extension.
2. Keep the test, but reduce its scope/utility: in the test output, it shows geo coords like `0.00,0.00`. Make these acceptable. Generally, start by nulling-out the data; then call the geocoder; then assert that the data is numerical. But don't assert that the data is specifically accurate. This utility of this depends on how we wind up with `0.00` values.
3. Keep the test, but reduce its scope/utility: setup a dummy geocoder which uses mock data.
4. Exclude the test from execution - but keep it in the codebase.
5. Setup an API key for testing.
* From security perspective, we can have the CI server pass the key as an environment variable, and the content will be automatically censored in logs. It's not exactly hacker-proof, but it provides some protection.
* From a cost perspective, I guess it depends how much we use the api. The content of `CRM_Utils_GeocodeTest` doesn't look like it'll send a lot of requests. (Maybe ballpark of <10?)
* Suppose we flag the test so that it only runs in `CiviCRM-Core-Matrix`. With 10 requests-per-test-run * 4 test-runs-per-day * 30.4 days-per-mo * 2 server-envs * 4 versions, then we'd be around 10k requests per month.
* Suppose we run the test in all core PRs. If there are 200 PRs/mo and each gets 3 revisions/retests, then that's 200*3*10 or ~6k requests per month.
* Google currently says that they charge $5 per 1k requests; with 10k+6k requests, that's $80/mo. *But* they also say you get a $200/mo credit. That puts us under the budget.
* If the capacity/requirements stay the same, then that's great. But... if somebody does a build-out on the tests to significantly improve coverage, then it's easy to imagine 5x increase in #requests, at which point the costs flip (5*$80=$400/mo), so we'd be on the hook for a balance of $200/mo. It's really not hard to imagine developers quietly increasing IO usage by 5x...
6. Setup an API key... and also a way for these particular tests to run less often (but still feed smoothly into QA process).
Anyway, I'm holding off on judging for a moment. Just want to track this so others can feedack.
https://lab.civicrm.org/dev/core/-/issues/677
Current Employer 'refine search' dropdown includes criteria irrelevant to org...
2019-03-26T12:05:19Z
Charlie Dunlavey
Current Employer 'refine search' dropdown includes criteria irrelevant to organisations
To replicate:
* Click 'Contacts' -> 'New Individual'
* Open drop-down list 'Current Employer'
* Select 'Refine search'
* Result: The following criteria in the 'Refine Search' dropdown menu aren't relevant to organisations: 'Gender',...
To replicate:
* Click 'Contacts' -> 'New Individual'
* Open drop-down list 'Current Employer'
* Select 'Refine search'
* Result: The following criteria in the 'Refine Search' dropdown menu aren't relevant to organisations: 'Gender', 'Deceased' (see screenshot)
![current-employer](/uploads/0b555d5e2c53c549d851d78311472eec/current-employer.png)
https://lab.civicrm.org/dev/core/-/issues/682
Add basic contact filters to Summary Contributions Report
2022-09-27T09:41:13Z
francescbassas
Add basic contact filters to Summary Contributions Report
Contributions of deleted contacts are shown on Summary Contributions Report. Adding basic contact filters to the Summary Contributions Report will prevent these "deleted" contributions from being included. In addition it will enable new ...
Contributions of deleted contacts are shown on Summary Contributions Report. Adding basic contact filters to the Summary Contributions Report will prevent these "deleted" contributions from being included. In addition it will enable new possibilities when applying contact filters to the report.
It can be considered a continuation of the work begun in https://issues.civicrm.org/jira/browse/CRM-20545
https://lab.civicrm.org/dev/core/-/issues/683
Incorrectly encoded state and country names
2019-02-15T16:47:10Z
mfb
Incorrectly encoded state and country names
Civi 4.3.alpha1 added some new states:
```
(@country_id, '072', 'Pļaviņu novads'),
(@country_id, '046', 'Kokneses novads'),
(@country_id, '065', 'Neretas novads'),
(@country_id, '092', 'Skrīveru novads'),
(@country_id, '007', 'Alūks...
Civi 4.3.alpha1 added some new states:
```
(@country_id, '072', 'Pļaviņu novads'),
(@country_id, '046', 'Kokneses novads'),
(@country_id, '065', 'Neretas novads'),
(@country_id, '092', 'Skrīveru novads'),
(@country_id, '007', 'Alūksnes novads'),
(@country_id, '009', 'Apes novads'),
(@country_id, '015', 'Balvu novads'),
(@country_id, '108', 'Viļakas novads'),
(@country_id, '014', 'Baltinavas novads'),
(@country_id, '082', 'Rug�ju novads'),
etc.
```
but according to the install schema these should be:
```
(NULL, 1119, "072", "Pļaviņu novads"),
(NULL, 1119, "046", "Kokneses novads"),
(NULL, 1119, "065", "Neretas novads"),
(NULL, 1119, "092", "Skrīveru novads"),
(NULL, 1119, "007", "Alūksnes novads"),
(NULL, 1119, "009", "Apes novads"),
(NULL, 1119, "015", "Balvu novads"),
(NULL, 1119, "108", "Viļakas novads"),
(NULL, 1119, "014", "Baltinavas novads"),
(NULL, 1119, "082", "Rugāju novads"),
...
```
I also found one wrongly-encoded country name in my instance. I didn't look into why but maybe no character encoding was specified in the sql commands and it fell back to (wrong) default?
```
mysql> SET NAMES utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT name FROM civicrm_country WHERE name LIKE '%Saint Barth%';
+---------------------+
| name |
+---------------------+
| Saint Barthélemy |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT CONVERT(BINARY CONVERT(name USING latin1) USING utf8) FROM civicrm_country WHERE name LIKE '%Saint Barth%';
+-------------------------------------------------------+
| CONVERT(BINARY CONVERT(name USING latin1) USING utf8) |
+-------------------------------------------------------+
| Saint Barthélemy |
+-------------------------------------------------------+
1 row in set (0.00 sec)
```
https://lab.civicrm.org/dev/core/-/issues/685
PHP 7.3 compatibility
2021-07-08T23:35:38Z
JoeMurray
PHP 7.3 compatibility
PHP 7.3 was released Dec 6, 2018.
Confirm PHP 7.3 compatibity, create tasks in this issue or other related ones if they are found, then update https://docs.civicrm.org/sysadmin/en/latest/requirements/ to indicate PHP 7.3 is supported.
...
PHP 7.3 was released Dec 6, 2018.
Confirm PHP 7.3 compatibity, create tasks in this issue or other related ones if they are found, then update https://docs.civicrm.org/sysadmin/en/latest/requirements/ to indicate PHP 7.3 is supported.
There are a number of Backward Incompatible Changes in 7.3 that may affect us: http://php.net/manual/en/migration73.incompatible.php
In particular:
1. continue statements targeting switch control flow structures will now generate a warning
There don't seem to be that many places where this might be an issue:
``grep -R -n -i -A5 -B5 "continue" ./* | grep -E 'continue|switch' | more
1. Strict Interpretation of Integer String Keys on ArrayAccess
Whack-a-mole efforts may be needed.
I think if enough reports of successful use of 7.3 are found then we should go ahead and update the documentation. I will encourage dev chat channel to weigh in here.
https://lab.civicrm.org/dev/core/-/issues/686
Make "Amount Statistics" columns optional on Membership Summary report
2022-09-27T05:03:56Z
AllenShaw
Make "Amount Statistics" columns optional on Membership Summary report
Stoob suggests to me that many of his clients find these columns confusing. Seems like it would be helpful to make them optional, even if enabled by default.
Stoob suggests to me that many of his clients find these columns confusing. Seems like it would be helpful to make them optional, even if enabled by default.
AllenShaw
AllenShaw
https://lab.civicrm.org/dev/core/-/issues/690
Support more entities in Attachment API by short-circuiting permission check
2019-08-23T07:06:15Z
Patrick Figel
pfigel@greenpeace.org
Support more entities in Attachment API by short-circuiting permission check
We recently tried to use the `Attachment` API to upload files to a custom file field attached to memberships. This works for a number of entities, but for `Membership` and a couple of others, `Civi\API\Subscriber\DynamicFKAuthorization::...
We recently tried to use the `Attachment` API to upload files to a custom file field attached to memberships. This works for a number of entities, but for `Membership` and a couple of others, `Civi\API\Subscriber\DynamicFKAuthorization::authorizeDelegate` fails with `Failed to run permission check: Unrecognized target entity table ($entityTable)`.
This makes sense for API requests with `check_permissions` enabled, where you need an entity that supports permission checks, but for trusted API calls, I don't think we need to check whether the entity is an allowed delegate first. The actual permission check is not performed on trusted API calls, so it's just the check against `DynamicFKAuthorization::$allowedDelegates` that's causing this behaviour.
I have a preliminary patch for this [here](https://github.com/civicrm/civicrm-core/commit/7c548d31d8b3a2f5969ac9b5f9b2830172a05f28) (haven't checked whether we need any additional tests, `DynamicFKAuthorizationTest` passes). Wanted to check if my understanding of this is correct and whether there's interest in picking up a change like this.
Related discussion on chat: https://chat.civicrm.org/civicrm/pl/m8exdax5oi899gqtehtygt4aah
https://lab.civicrm.org/dev/core/-/issues/691
It is no longer possible to have the default country not set
2019-02-13T18:06:46Z
howardshand
It is no longer possible to have the default country not set
Reported this previously at https://issues.civicrm.org/jira/browse/CRM-18100, and it was fixed, though I can't find the ticket for the fix.
Did a new install of 5.7.3 and default country is required. All sandboxes show the same requirem...
Reported this previously at https://issues.civicrm.org/jira/browse/CRM-18100, and it was fixed, though I can't find the ticket for the fix.
Did a new install of 5.7.3 and default country is required. All sandboxes show the same requirement.
5.12.0
https://lab.civicrm.org/dev/core/-/issues/695
Custom Search results selection failure
2019-02-05T04:27:09Z
ayduns
aidan.saunders@squiffle.uk
Custom Search results selection failure
Symptom: When viewing custom search results, it is possible to select all records, but individual selections do not change the count and enable action dropdowns. This does not occur for all custom searches.
Analysis: The selections are...
Symptom: When viewing custom search results, it is possible to select all records, but individual selections do not change the count and enable action dropdowns. This does not occur for all custom searches.
Analysis: The selections are saved by `CRM_Core_PrevNextCache_Sql::markSelection()` which updates the prevnext cache. However, if the results are not already in the prevnext cache, the selections are not saved. The cache is filled by `CRM_Contact_Selector::fillupPrevNextCache()` which it does by taking the result of the custom search's `contactIDs()` method and doing a string replace to form the query used for the cache and if the string replace fails, no results are saved in the cache and therefore individual results cannot be selected.
The string replacement method is case sensitive, so if the custom search specifies `contact_a.id as contact_id` then the replacement works, but specifying `contact_a.id AS contact_id` fails.
The whole approach seems rather fragile but making the string replacement case insensitive reduces that slightly, and hopefully saves developer frustration trying to track down why an innocuous select statement case change results in UI failures.
5.10
ayduns
aidan.saunders@squiffle.uk
ayduns
aidan.saunders@squiffle.uk
https://lab.civicrm.org/dev/core/-/issues/698
Organisation/Individual: image isn't displayed
2019-02-11T17:29:39Z
Pradeep Nayak
pradpnayak@gmail.com
Organisation/Individual: image isn't displayed
Browser: IE11
Image Type : jpg
Contact images with .jpg file extension fail to display in Internet Explorer 11
Browser: IE11
Image Type : jpg
Contact images with .jpg file extension fail to display in Internet Explorer 11
https://lab.civicrm.org/dev/core/-/issues/699
New Organisation: "Contact Type" dropdown disappears when fields validation o...
2019-03-18T19:59:39Z
Pradeep Nayak
pradpnayak@gmail.com
New Organisation: "Contact Type" dropdown disappears when fields validation occurs
* Navigate to Contacts→New Organisation→New Team
* Take a look at the "Contact Type" dropdown
* Click "Save" without filling in any fields
* Take a look at the "Contact Type" dropdown again
**Result:** the "Contact Type" dropdown disapp...
* Navigate to Contacts→New Organisation→New Team
* Take a look at the "Contact Type" dropdown
* Click "Save" without filling in any fields
* Take a look at the "Contact Type" dropdown again
**Result:** the "Contact Type" dropdown disappeared. Please take a look at the attached video.
**Expected result:** the "Contact Type" dropdown should stay in its place
5.13.0
https://lab.civicrm.org/dev/core/-/issues/700
Advanced Search: The reason of failed search result is not displayed, when a ...
2019-05-09T21:46:30Z
Pradeep Nayak
pradpnayak@gmail.com
Advanced Search: The reason of failed search result is not displayed, when a contact with the matching Contact ID was not found
Steps:
* Click "View contact record"
* Click "Search" -> "Advanced Search"
* Enter e.g. '123' (non-existent) to "Basic Criteria" -> "Contact ID"
* Click "Search"
* Take a look at the result report (No matches found for)
**Actual resul...
Steps:
* Click "View contact record"
* Click "Search" -> "Advanced Search"
* Enter e.g. '123' (non-existent) to "Basic Criteria" -> "Contact ID"
* Click "Search"
* Take a look at the result report (No matches found for)
**Actual result:** The reason of failed search result is not displayed, when a contact with the matching Contact ID was not found.
**Expected result:** The reason of failed search result is displayed
![_thumb_10644](/uploads/32278dbc3e7345b4df3570b0cfb6a0e3/_thumb_10644.png)
PR:https://github.com/civicrm/civicrm-core/pull/13549
https://lab.civicrm.org/dev/core/-/issues/701
Backdrop installer displays warning when first opened
2022-11-20T05:03:31Z
totten
Backdrop installer displays warning when first opened
Noticed when doing an installation the [hydra-backdrop](https://test.civicrm.org/view/Sites/job/hydra-sites/) site:
![Screen_Shot_2019-02-06_at_7.49.45_PM](/uploads/e12749bf617888f69e455ebdfbae6c32/Screen_Shot_2019-02-06_at_7.49.45_PM.p...
Noticed when doing an installation the [hydra-backdrop](https://test.civicrm.org/view/Sites/job/hydra-sites/) site:
![Screen_Shot_2019-02-06_at_7.49.45_PM](/uploads/e12749bf617888f69e455ebdfbae6c32/Screen_Shot_2019-02-06_at_7.49.45_PM.png)
This appears to be because the DB credentials haven't been prepopulated. However, as written, it's normal to start with empty DB credentials here, so the warning feels ugly.
This probably depends on having the PHP runtime configured to show warnings.
I don't think this is a recent regression.. there's been very little change in the `install/` folder (`git diff origin/5.5..origin/5.10 -- install`)
https://lab.civicrm.org/dev/core/-/issues/705
Disabling Alphabetical Pager is not respected for events and contribution pages.
2019-05-07T20:27:12Z
yashodha
Disabling Alphabetical Pager is not respected for events and contribution pages.
Steps to replicate :
-------------------
* Go to *Admin > Search Preferences* and turn off *Include Alphabetical Pager*
* A to Z Pager is off for *Find Contacts*, *Find Contributions*, etc
* However it is still shown on *Manage Events *a...
Steps to replicate :
-------------------
* Go to *Admin > Search Preferences* and turn off *Include Alphabetical Pager*
* A to Z Pager is off for *Find Contacts*, *Find Contributions*, etc
* However it is still shown on *Manage Events *and *Manage Contribution Pages*.
5.12.0
yashodha
yashodha
https://lab.civicrm.org/dev/core/-/issues/709
Contact Report: The filter by the custom datetime field with "Today" option d...
2019-04-03T16:57:46Z
Pradeep Nayak
pradpnayak@gmail.com
Contact Report: The filter by the custom datetime field with "Today" option doesn't find matching contacts
Steps:
* Click "View contact record"
* Click "Contacts" > "Contact Reports"
* Open the "Constituent Summary" report
* Open the "Filters" tab
* Open the "Custom set" tab
* Select the "Today" option to the "Date" field
* Click "Refresh Re...
Steps:
* Click "View contact record"
* Click "Contacts" > "Contact Reports"
* Open the "Constituent Summary" report
* Open the "Filters" tab
* Open the "Custom set" tab
* Select the "Today" option to the "Date" field
* Click "Refresh Results"
**Actual result:** There is no contact from the precondition in the search results.
The filter by the "Date" field with "Today" option doesn't find matching contacts.
**Expected result:** There is contact from the precondition in the search results.
https://lab.civicrm.org/dev/core/-/issues/711
Google+ references should be removed as it phases out
2023-01-10T18:40:34Z
philmorbru
Google+ references should be removed as it phases out
Not a big deal, but as Google phases out Google+, visible references to it should be removed, especially from non-configurable features such as the "Tell a Friend" block for events.
Not a big deal, but as Google phases out Google+, visible references to it should be removed, especially from non-configurable features such as the "Tell a Friend" block for events.
5.23.0
https://lab.civicrm.org/dev/core/-/issues/715
Cannot delete relationship type through UI
2019-02-14T22:27:10Z
Rich
Cannot delete relationship type through UI
Clicking more » Delete on the `/civicrm/admin/reltype` page pops up box but fails to load the confirmation message. A network error is shown, and if you look in the console the actual response is:
> Sorry, due to an error, we are unable...
Clicking more » Delete on the `/civicrm/admin/reltype` page pops up box but fails to load the confirmation message. A network error is shown, and if you look in the console the actual response is:
> Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
Cannot determine api action for CRM_Admin_Form_RelationshipType.CRM_Core_Action "delete" not recognized.
The path is `civicrm/admin/reltype?action=delete&id=11&snippet=json`
Confirmed in two sites on v5.8.1 and v5.10.0 (inc. the civihosting demo site) on Drupal 7. This worked in 5.3.1
(It is possible to delete relationship types using the API)
5.10.2
https://lab.civicrm.org/dev/core/-/issues/716
Add decimals in Contribution Amount on Repeat Contributions Report
2019-02-22T00:33:16Z
Ghost User
Add decimals in Contribution Amount on Repeat Contributions Report
The Repeat Contributions Report automatically truncate the contribution amount
Here you can see the contribution with an amount with decimals
![Repeat_Contribution_Report_Error_1](/uploads/96c2fcd5deab7a10aeda90db133cc25f/Repeat_Contrib...
The Repeat Contributions Report automatically truncate the contribution amount
Here you can see the contribution with an amount with decimals
![Repeat_Contribution_Report_Error_1](/uploads/96c2fcd5deab7a10aeda90db133cc25f/Repeat_Contribution_Report_Error_1.png)
While in the Report is truncated and doesn't show the decimals.
![Repeat_Contribution_Report_Error_2](/uploads/e3d4cdc65040cd54f34e0372dbb05376/Repeat_Contribution_Report_Error_2.png)
5.12.0
https://lab.civicrm.org/dev/core/-/issues/720
Performance change approved - remove mode & median slow queries
2019-02-19T04:53:15Z
eileen
Performance change approved - remove mode & median slow queries
Update - simply removing per decision by @colemanw below....
---------------------------------------------------------------
Original
----------------------------------------------------------------
The calculations done for the summary...
Update - simply removing per decision by @colemanw below....
---------------------------------------------------------------
Original
----------------------------------------------------------------
The calculations done for the summary statistics on the contribution search is currently the biggest point of slowness we are facing. The following stats are generated:
'count' (number completed)
'amount' (total amount of completed)
'avg' (average amount of completed)
'mode' (most common value of completed)
'median' (median value of complete)
'cancel_amount' (total of cancelled)
'cancel_count' (number cancelled)
'cancel_avg' (average amount of cancelled)
These are then grouped by currency.
Of these the count and total amount are highly useful whereas the usefulness of mode & median are more niche.
On the other hand it is possible to fix up MOST of these queries to perform well. Mode and median are pretty much impossible to make performant on a large result set, and are actually the main reason our users have to do carefully constrained queries that don't return more than around 50k of results.
Let's assume we do a query that returns 50,000 results and the criteria is the payment_instrument_id then ideally that field will be used as the index on the query and we get the main query returned pretty quickly.
However, in order to do a median query it is necessary to order the results by total_amount. We can't use both indexes, and we can't add combined indexes for every combination of total_amount & possible criteria so we are one way or another going to be either
- using the total_amount index to sort & doing an unindexed filter - on our whole DB....
- using the index to filter & doing an unindexed sort on 50k rows
- using a merged index (these take time to compile)
Some queries are possible to rewrite - I recently got the annual query down from 6 seconds to .02 seconds but the median query just isn't every going to scale well.
Which leaves us with 'how can we help sites that with users are not happy twiddling their thumbs while the median is calculated'.
There are a few options IMHO
1) just remove median & mean - no-one (by which I mean me) cares about them anyway
2) add a setting that allows a site to specify which contribution stats they want calculated
3) only calculate median & mean if the total number of rows is < 1000
4) add a hook to permit the queries that run to be altered
Of these both 1 & 3 are imposing change on people who might not want change.
Adding a setting seems like a hack. In general adding settings to tweak core behaviour for a different use case/ preferences is almost always a hack - although the use case 'I have a big database' is perhaps a bit more generic than the 'I'd like this page/search bar / widget to behave differently & the least hassle on me is to add a setting'
I do think, however, that 4 is probably the least hacky / most sensible and it will 'gracefully retire itself' when we finally get a better search screen that doesn't use the query object.
I think it would look like
```
hookAlterQuerySummary($entity, $context, &$callbacks);
```
(only Contribution is relevant at the moment but passing entity seems to make sense)
We would have to break out the existing queries to their own fns & then we'd get
$callbacks = [
'CRM_Contact_BAO_Query::getBasicStats',
'CRM_Contact_BAO_Query::getMedian',
'CRM_Contact_BAO_Query::getMean',
'CRM_Contact_BAO_Query::getCancelStats'
]
There would then be a call like
CRM_Contact_BAO_Query::getBasicStats($rowStats, $whereClause, $fromClause)
And $rowStats would be altered by the function adding values & labels so the tpl could iterate through them
Longer term - I would argue the slow stats should probably be ADDED rather than REMOVED by extension as I think shipping something that makes hard-to-justify performance trade-offs is a big call
5.12.0
https://lab.civicrm.org/dev/core/-/issues/724
For many countries other than USA, state is displayed as a number instead of ...
2023-11-17T05:03:23Z
Ian Kelling
For many countries other than USA, state is displayed as a number instead of a string
Repro:
Go to https://civicrm.demo.civihosting.com which is running 5.10.0 when
I tested this. Create a new contact, add an address in japan, choose a
state from the drop down box and click save. Then view the contact. In the state field,...
Repro:
Go to https://civicrm.demo.civihosting.com which is running 5.10.0 when
I tested this. Create a new contact, add an address in japan, choose a
state from the drop down box and click save. Then view the contact. In the state field,
you will see a number instead of a state name. This seems to happen with
many countries.
We printed mailing labels that had numbers instead of the state names
and we don't know how many were or were not delivered. Please consider
this a high priority bug.
https://lab.civicrm.org/dev/core/-/issues/725
Address API incorrectly sets state_province_id if multiple countries have sam...
2019-04-03T18:25:00Z
jackrabbithanna
Address API incorrectly sets state_province_id if multiple countries have same state name / abbreviation
Replicable on dmaster.demo
The Address API is not taking into account the country_id when figuring the state_province_id when given the state name or state abbreviation, even if country_id is provided...
Example:
```
$result = civi...
Replicable on dmaster.demo
The Address API is not taking into account the country_id when figuring the state_province_id when given the state name or state abbreviation, even if country_id is provided...
Example:
```
$result = civicrm_api3('Address', 'create', [
'contact_id' => 206,
'location_type_id' => "Main",
'city' => "Baltimore",
'state_province_id' => "Maryland",
'country_id' => 1228,
]);
```
Output:
```
{
"is_error": 0,
"version": 3,
"count": 1,
"id": 193,
"values": {
"193": {
"id": "193",
"contact_id": "206",
"location_type_id": "3",
"is_primary": "1",
"is_billing": "0",
"city": "Baltimore",
"state_province_id": "3497",
"country_id": "1228",
"manual_geo_code": "0"
}
}
}
```
Notice the state_province_id is 3497, which is Maryland, Liberia. It should be 1019.
This happens regardless of which countries are enabled in the Localization settings. It also does not respect the "default country" setting, if the country_id is not provided.
5.13.0
https://lab.civicrm.org/dev/core/-/issues/735
Query performance - suppress 'product' and related fields where products are ...
2019-04-26T06:50:00Z
eileen
Query performance - suppress 'product' and related fields where products are not in the database
Most people hate the fact we waste an output field on premium on the contribution tab. They all think it should be replaced - but all have different replacements.
I don't want to solve that - I think the right solution for that is to f...
Most people hate the fact we waste an output field on premium on the contribution tab. They all think it should be replaced - but all have different replacements.
I don't want to solve that - I think the right solution for that is to find funding to leap the interface.
What I DO think we can solve is the fact we are doing unnecessary joins / queries / processing to generate & display premiums - regardless of whether the site uses them. I think we could short-circuit that pretty cleanly by just doing a quick
"select id FROM civicrm_product_premium LIMIT 1' (cached) before adding product fields to our default return properties (with a small tpl tweak too)
5.13.0
https://lab.civicrm.org/dev/core/-/issues/741
Print/Merge: ODT output does not produce page-breaks
2022-10-04T05:03:29Z
totten
Print/Merge: ODT output does not produce page-breaks
Steps to reproduce
* Search for contacts
* Select 3 contacts
* Choose the task to print/merge a document
* Choose the output format -- PDF, DOCX, or ODT
In PDF and DOCX format, each contact's data is displayed on a separate page. If yo...
Steps to reproduce
* Search for contacts
* Select 3 contacts
* Choose the task to print/merge a document
* Choose the output format -- PDF, DOCX, or ODT
In PDF and DOCX format, each contact's data is displayed on a separate page. If you generate ODT and view it in LibreOffice 5.x or 6.1, it produces some weird outlines -- but these do not translate into page-breaks. (The weird lines appear in normal WYSIWYG mode; they disappear in "Print Preview" mode. In neither case do they appear as page-breaks.)
![Screen_Shot_2019-02-19_at_5.44.01_PM](/uploads/047a756e086ec11e4510cde6d406dcfa/Screen_Shot_2019-02-19_at_5.44.01_PM.png)
This was observed when using either PHPWord 0.14 or 0.15 in Civi. Based on [this upstream issue/PR](https://github.com/PHPOffice/PHPWord/issues/824), ODT pagebreaks ought to be working with PHPWord 0.14+
```
me@localhost:~/src/PHPWord$ git tag --contains def9123575ed9e3c2e9e36aa4e0ba6f0d09fc6c1
0.14.0
0.15.0
0.16.0
```
(Note: This is not high priority for me. I just wanted to record because it came up incidentally in some other testing.)
https://lab.civicrm.org/dev/core/-/issues/754
Fatal db error in search (with ONLY_FULL_GROUP_BY)
2019-09-16T17:49:43Z
bjoern
Fatal db error in search (with ONLY_FULL_GROUP_BY)
CiviCRM-Version 5.10.3
MySQL-Version: 5.7.25
PHP-Version: 7.2
Steps to reproduce:
1. Select Search / Find Contacts
2. Leave Field "Name or Email" empty to get at least 2 Pages with results.
3. Click on the page-up button on the top rig...
CiviCRM-Version 5.10.3
MySQL-Version: 5.7.25
PHP-Version: 7.2
Steps to reproduce:
1. Select Search / Find Contacts
2. Leave Field "Name or Email" empty to get at least 2 Pages with results.
3. Click on the page-up button on the top right corner.
Popup appears with message:
`Network Error
Unable to reach the server. Please refresh this page in your browser and try again.`
Error message of the response:
`DB Error: unknown error
Return to home page.`
CiviCRM Error-log:
```SQL
SELECT
contact_a.id as contact_id,
contact_a.contact_type as `contact_type`,
contact_a.contact_sub_type as `contact_sub_type`,
contact_a.sort_name as `sort_name`,
contact_a.display_name as `display_name`,
contact_a.do_not_email as `do_not_email`,
contact_a.do_not_phone as `do_not_phone`,
contact_a.do_not_mail as `do_not_mail`,
contact_a.do_not_sms as `do_not_sms`,
contact_a.do_not_trade as `do_not_trade`,
contact_a.is_opt_out as `is_opt_out`,
contact_a.legal_identifier as `legal_identifier`,
contact_a.external_identifier as `external_identifier`,
contact_a.nick_name as `nick_name`,
contact_a.legal_name as `legal_name`,
contact_a.image_URL as `image_URL`,
contact_a.preferred_communication_method as `preferred_communication_method`,
contact_a.preferred_language as `preferred_language`,
contact_a.preferred_mail_format as `preferred_mail_format`,
contact_a.first_name as `first_name`,
contact_a.middle_name as `middle_name`,
contact_a.last_name as `last_name`,
contact_a.prefix_id as `prefix_id`,
contact_a.suffix_id as `suffix_id`,
contact_a.formal_title as `formal_title`,
contact_a.communication_style_id as `communication_style_id`,
contact_a.job_title as `job_title`,
contact_a.gender_id as `gender_id`,
contact_a.birth_date as `birth_date`,
contact_a.is_deceased as `is_deceased`,
contact_a.deceased_date as `deceased_date`,
contact_a.household_name as `household_name`,
IF ( contact_a.contact_type = 'Individual', NULL, contact_a.organization_name ) as organization_name,
contact_a.sic_code as `sic_code`,
contact_a.is_deleted as `contact_is_deleted`,
IF ( contact_a.contact_type = 'Individual', contact_a.organization_name, NULL ) as current_employer,
civicrm_address.id as address_id,
civicrm_address.street_address as `street_address`,
civicrm_address.supplemental_address_1 as `supplemental_address_1`,
civicrm_address.supplemental_address_2 as `supplemental_address_2`,
civicrm_address.supplemental_address_3 as `supplemental_address_3`,
civicrm_address.city as `city`,
civicrm_address.postal_code_suffix as `postal_code_suffix`,
civicrm_address.postal_code as `postal_code`,
civicrm_address.geo_code_1 as `geo_code_1`,
civicrm_address.geo_code_2 as `geo_code_2`,
civicrm_address.state_province_id as state_province_id,
civicrm_address.country_id as country_id,
civicrm_phone.id as phone_id,
civicrm_phone.phone_type_id as phone_type_id,
civicrm_phone.phone as `phone`,
civicrm_email.id as email_id,
civicrm_email.email as `email`,
civicrm_email.on_hold as `on_hold`,
civicrm_im.id as im_id,
civicrm_im.provider_id as provider_id,
civicrm_im.name as `im`,
civicrm_worldregion.id as worldregion_id,
civicrm_worldregion.name as `world_region`,
(CASE
WHEN contact_a.id = 14799 THEN 0
WHEN contact_a.id = 17549 THEN 1
.
.
.
.
WHEN contact_a.id = 23911 THEN 47
WHEN contact_a.id = 23915 THEN 48
WHEN contact_a.id = 23048 THEN 49
END
) AS _wgt
FROM civicrm_contact contact_a
LEFT JOIN civicrm_address ON ( contact_a.id = civicrm_address.contact_id AND civicrm_address.is_primary = 1 )
LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1)
LEFT JOIN civicrm_phone ON (contact_a.id = civicrm_phone.contact_id AND civicrm_phone.is_primary = 1)
LEFT JOIN civicrm_im ON (contact_a.id = civicrm_im.contact_id AND civicrm_im.is_primary = 1)
LEFT JOIN civicrm_country ON civicrm_address.country_id = civicrm_country.id
LEFT JOIN civicrm_worldregion ON civicrm_country.region_id = civicrm_worldregion.id
WHERE (contact_a.is_deleted = 0)
AND contact_a.id IN (14799,17549, .... ,23915,23048)
GROUP BY contact_a.id ORDER BY _wgt
[nativecode=1055 ** Expression #37 of SELECT list is not in GROUP BY clause and contains nonaggregated column '*****.civicrm_address.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]
```
5.15.0
https://lab.civicrm.org/dev/core/-/issues/756
Error on Contributions tab with soft credits in multiple currencies
2019-02-28T05:28:10Z
davisagli
Error on Contributions tab with soft credits in multiple currencies
https://github.com/civicrm/civicrm-core/commit/5fb64d515190821c017c6ea8d3ffcf148bcb9f6f added an explicit check for valid currency codes in the crmMoney smarty plugin.
In CiviCRM 5.10.4 I'm getting this error "Invalid currency "CAD, USD...
https://github.com/civicrm/civicrm-core/commit/5fb64d515190821c017c6ea8d3ffcf148bcb9f6f added an explicit check for valid currency codes in the crmMoney smarty plugin.
In CiviCRM 5.10.4 I'm getting this error "Invalid currency "CAD, USD" when trying to view the contributions for a contact with soft credits in multiple currencies. Viewing the source, it's actually a non-breaking space between the two currency codes. I think that's coming from here: https://github.com/civicrm/civicrm-core/blob/master/CRM/Contribute/BAO/ContributionSoft.php#L283
5.11
https://lab.civicrm.org/dev/core/-/issues/758
Contribution receipts and event confirmations are "From: 99999"
2019-02-28T19:59:09Z
ken
Contribution receipts and event confirmations are "From: 99999"
In 5.10.4, when I edit a Contribution to resend a contribution receipt, the email's FROM header is wrong.
It should be "From: My Name <me@example.com>" but is "From: NNNNN" where NNNNN is the ID of the civicrm_email selected to send from.
In 5.10.4, when I edit a Contribution to resend a contribution receipt, the email's FROM header is wrong.
It should be "From: My Name <me@example.com>" but is "From: NNNNN" where NNNNN is the ID of the civicrm_email selected to send from.
https://lab.civicrm.org/dev/core/-/issues/762
Financial transaction does not respect Payment Method when marking a contribu...
2022-10-12T05:04:02Z
guanhuan
Financial transaction does not respect Payment Method when marking a contribution as Completed
**How it currently works**
Tested in the latest CiviCRM.
When marking a contribution to "Completed", a financial transaction is created. The transaction picks the default financial account as its debit account rather than taking the as...
**How it currently works**
Tested in the latest CiviCRM.
When marking a contribution to "Completed", a financial transaction is created. The transaction picks the default financial account as its debit account rather than taking the asset account assigned to the payment method specified in the contribution.
For example:
- payment method **Credit Card** has **1210 Credit Card Bank** assigned to it
- CiviCRM has **1200 Payment Processor Account** set as default account
- A pending contribution has payment method set to **Credit Card**
When editing the contribution and changing its status to **Completed**, a payment financial transaction is created and its debit account is **1200 Payment Processor Account**.
**How is should work**
When a contribution is marked as "Completed" in the back office forms without using a payment processor, the financial transaction should use the account assigned to the contribution payment method as its debit account.
For example:
- payment method **Credit Card** has **1210 Credit Card Bank** assigned to it
- CiviCRM has **1200 Payment Processor Account** set as default account
- A pending contribution has payment method set to **Credit Card**
When editing the contribution and changing its status to **Completed**, a payment financial transaction is created and its debit account should be **1210 Credit Card Bank**.
Monish Deb
Monish Deb
https://lab.civicrm.org/dev/core/-/issues/766
New Event using a template - clicking "Continue" doesn't save custom data
2022-04-22T16:22:26Z
ken
New Event using a template - clicking "Continue" doesn't save custom data
When creating a New Event from an Event Template, and entering custom data for the event, hitting "Continue" doesn't save the custom data. This happens for me on 5.10.4, on the CiviHosting demo which is running 5.10.0, and the CiviCRM Sa...
When creating a New Event from an Event Template, and entering custom data for the event, hitting "Continue" doesn't save the custom data. This happens for me on 5.10.4, on the CiviHosting demo which is running 5.10.0, and the CiviCRM Sandbox running 5.12.alpha1.
**How to reproduce**
1. Add a custom field to Event entities
2. Click _Events > New event_
3. Choose an Event Template
4. Enter the mandatory fields _and_ the custom data
5. Click _Continue_
6. Reload the page to force CiviCRM to fetch the event from the database
7. Visit the _Info and Settings_ tab
8. The custom data is unset
**Hint**
In my debugger I had a breakpoint in my implementation of _hook_civicrm_pre()_ and this didn't trigger when _Continue_ was pressed, but did when _Save_ or _Save and Done_ were pressed. If _Continue_ bypasses _pre()_ then perhaps it skips the Custom Data too?
5.39.0
https://lab.civicrm.org/dev/core/-/issues/767
Add 'Cancelled / Refunded Date' and 'Cancellation / Refund Reason' in the Det...
2019-03-04T13:47:10Z
Ghost User
Add 'Cancelled / Refunded Date' and 'Cancellation / Refund Reason' in the Detail Contributions Report
Add the fields and filters 'Cancelled / Refunded Date' and 'Cancellation / Refund Reason' in the Detail Contributions Report.
Add the fields and filters 'Cancelled / Refunded Date' and 'Cancellation / Refund Reason' in the Detail Contributions Report.
yashodha
yashodha
https://lab.civicrm.org/dev/core/-/issues/773
Proposal: Don't allow deleting custom fields that are used in a smart group
2022-11-07T05:03:58Z
JonGold
Proposal: Don't allow deleting custom fields that are used in a smart group
I'm inspired by [this SE question](https://civicrm.stackexchange.com/questions/28713/how-to-troubleshoot-expected-one-customfield-but-found-0-error/28731). I can't think of a reason why we'd allow someone to delete a custom field used i...
I'm inspired by [this SE question](https://civicrm.stackexchange.com/questions/28713/how-to-troubleshoot-expected-one-customfield-but-found-0-error/28731). I can't think of a reason why we'd allow someone to delete a custom field used in a smart group. The downside is we'd need to use an unindexed search on `civicrm_saved search` (e.g. `LIKE %"custom_1"%`) but I'm guessing that most folks don't have thousands of smart groups, and this would happen fairly infrequently.
https://lab.civicrm.org/dev/core/-/issues/774
Changing the LABEL for a relationship type causes an error when creating a ne...
2019-11-07T03:35:25Z
DaveD
Changing the LABEL for a relationship type causes an error when creating a new case that has that relationship/role set as Creator
To reproduce, and I can reproduce this on dmaster.demo.civicrm.org:
1. Look in a case type definition to see which role is checked as "assign to creator".
2. Under admin - customize data - relationship types, change the label(s) for the ...
To reproduce, and I can reproduce this on dmaster.demo.civicrm.org:
1. Look in a case type definition to see which role is checked as "assign to creator".
2. Under admin - customize data - relationship types, change the label(s) for the relationship type to something else.
3. Create a new case with the given case type.
4. Fatal error.
**It seems to ultimately come from here, where it looks up LABEL instead of NAME:
https://github.com/civicrm/civicrm-core/blob/master/CRM/Case/XMLProcessor.php#L114**
The allRelationshipTypes() function seems to only be used in two places, and both seem to be trying to match on label when it should be name, so the fix is probably just change 'label' to 'name'.
But then I'm wondering if any existing configs that depend on label will suddenly break, and taking a step back, this label vs name mismatch has come up a few times over the years in a few places so I'm wondering if fighting it is just postponing the problem. But maybe that should be a separate issue: i.e. if "name" was an integer or goofy string, or the field were named something like "key", a recurrence of the problem would be more obvious.
5.20.0
https://lab.civicrm.org/dev/core/-/issues/778
Sales tax and Vat issue within memberships - membership fee increases incorre...
2021-02-23T00:47:09Z
gibsonoliver
Sales tax and Vat issue within memberships - membership fee increases incorrectly when the membership has an error
When sales tax is enabled (as per https://docs.civicrm.org/user/en/latest/contributions/sales-tax-and-vat/) there is an issue.
- Tax and invoicing is enabled
- A sales tax financial account type has been created
- This new financial acco...
When sales tax is enabled (as per https://docs.civicrm.org/user/en/latest/contributions/sales-tax-and-vat/) there is an issue.
- Tax and invoicing is enabled
- A sales tax financial account type has been created
- This new financial account type has been assigned to the Member Dues financial type (so all memberships have the sales tax applied).
If you then add a new membership via the CRM member menu.
Then assign it to a contact, choose a membership type (which has a fee) and create an error deliberately (e.g. choose a membership end date before the start date).
The membership fee will then change upwards automatically to an incorrect amount.
And if you try to save the membership again with a deliberate error the membership price increases again. An again etc.
This has been recreated on the CiviCRM sandbox demo and I've attached a screenshot of a $100 membership price increasing.![Capture](/uploads/33f62e932c022d0efa680524e492332b/Capture.PNG)
5.36.0
https://lab.civicrm.org/dev/core/-/issues/779
Support token for participant id in scheduled reminder
2021-10-12T02:22:06Z
yashodha
Support token for participant id in scheduled reminder
Currently, the participant id token is not available for scheduled reminder.
This is especially useful if the user need to be sent Self-service Registration Update forms
https://yoursite/civicrm/event/selfsvcupdate?reset=1&pid=x
Currently, the participant id token is not available for scheduled reminder.
This is especially useful if the user need to be sent Self-service Registration Update forms
https://yoursite/civicrm/event/selfsvcupdate?reset=1&pid=x
5.43.0
yashodha
yashodha
https://lab.civicrm.org/dev/core/-/issues/781
Contact Display Name vs Email Greeting in Workflow templates
2019-10-23T20:22:53Z
Michael Labriola
Contact Display Name vs Email Greeting in Workflow templates
I noticed that some of the workflow templates use contact.display_name in the greeting and some of them use contact.email_greeting. It would make sense to me that they all use contact.email_greeting. From what I can tell these template...
I noticed that some of the workflow templates use contact.display_name in the greeting and some of them use contact.email_greeting. It would make sense to me that they all use contact.email_greeting. From what I can tell these templates are part of civicrm_generated.mysql file, which is quite large. I created a fork and updated the several places where display_name is still being used. Is submitting a merge request something a general user can do here?
Thanks!
5.20.0
https://lab.civicrm.org/dev/core/-/issues/782
CiviMail not showing proper groups for multisite
2022-03-03T16:30:51Z
andyburns
CiviMail not showing proper groups for multisite
Because groups are not tied to a domain, they are accessible to anyone. This means 1) they see groups that are irrelevant to them and 2) in CiviMail send mailings out to records who are not within their ACL control via this extension: ht...
Because groups are not tied to a domain, they are accessible to anyone. This means 1) they see groups that are irrelevant to them and 2) in CiviMail send mailings out to records who are not within their ACL control via this extension: https://civicrm.org/extensions/multisite-permissioning.
This leads to the question, how do we get more entities to be domain specific? There are some listed on the old documentation as desirable here: https://wiki.civicrm.org/confluence/display/CRMDOC/Multisites%2C+Multidomain%2C+and+Multilevel+ACLs#Multisites,Multidomain,andMultilevelACLs-FunctionalSeparationinMultisite, groups is not.
https://lab.civicrm.org/dev/core/-/issues/785
Differentiate smart group from regular group using icon in select2 field
2020-07-27T19:47:10Z
Monish Deb
Differentiate smart group from regular group using icon in select2 field
Currently there is no way to tell which group is smart or regular group from UI. It would be ideal to use icon against such smart group options to differentiate them from regular ones.
Currently there is no way to tell which group is smart or regular group from UI. It would be ideal to use icon against such smart group options to differentiate them from regular ones.
5.29.0
Monish Deb
Monish Deb
https://lab.civicrm.org/dev/core/-/issues/787
Auto-complete search results not consistent with other searches
2020-03-16T20:27:10Z
yashodha
Auto-complete search results not consistent with other searches
Auto-complete (custom data on contacts) search results not consistent with other searches if the searched string has a space.
(check screenshot)![search](/uploads/8047fab578e9e63da65526701a88682d/search.png)
The quick search result is ri...
Auto-complete (custom data on contacts) search results not consistent with other searches if the searched string has a space.
(check screenshot)![search](/uploads/8047fab578e9e63da65526701a88682d/search.png)
The quick search result is right and the auto-complete should also show 1 result only.
5.25.0
yashodha
yashodha
https://lab.civicrm.org/dev/core/-/issues/795
PHP Warning "explode() expects parameter 2 to be string, array given" for mul...
2019-03-20T14:59:22Z
Virenmage
PHP Warning "explode() expects parameter 2 to be string, array given" for multi-value country fields
I am getting above error while trying to save multiple country for agent profile. And when I search about this error I found that unnecessary use of explode() function on line 127. You can see more about on https://lab.civicrm.org/dev/co...
I am getting above error while trying to save multiple country for agent profile. And when I search about this error I found that unnecessary use of explode() function on line 127. You can see more about on https://lab.civicrm.org/dev/core/issues/216 and code file
https://lab.civicrm.org/dev/core/blob/master/CRM/Core/BAO/CustomValueTable.php#L127
So according to me you need to ask to civiCRM team to comment line 127
$mulValues = explode(',', $value);
![error](/uploads/c124cf6618247c06ef570df0639f869c/error.png)
5.13.0
https://lab.civicrm.org/dev/core/-/issues/798
Prefix/suffix select2 renders oddly on public-facing pages
2019-03-14T21:07:10Z
JonGold
Prefix/suffix select2 renders oddly on public-facing pages
Prefix and suffix fields in contribution/event profiles render incorrectly on public-facing pages. See screenshot:
![Selection_823](/uploads/5d05559371fa6c062b2dad8ecd8c2901/Selection_823.png)
There are a couple of ways to fix, I'll do...
Prefix and suffix fields in contribution/event profiles render incorrectly on public-facing pages. See screenshot:
![Selection_823](/uploads/5d05559371fa6c062b2dad8ecd8c2901/Selection_823.png)
There are a couple of ways to fix, I'll do whatever folks like best.
One is to fix `civicrm.css` here:
```css
.crm-container.crm-public .select2-container .select2-choice {
padding: 5px 5px 5px 8px;
height: auto;
}
```
Changing `height: auto` to `height: 26px` matches the backend `select2.css`. Other select2 widgets are unaffected because they have placeholder text. I could also add placeholder text to the default rendering of this widget, but I think the CSS fix makes more sense.
I'll submit a PR to continue this discussion.
5.13.0
JonGold
JonGold
https://lab.civicrm.org/dev/core/-/issues/801
Thank You letters have an invalid 'from' when sending from the contact's emai...
2019-03-25T21:48:33Z
bgm
Thank You letters have an invalid 'from' when sending from the contact's email address
To reproduce:
* Record a contribution for a contact
* Find Contributions, select the contribution, Send Thank You Letters
* Select the option to send emails
* Use the default from of the contact, which should be the email on their conta...
To reproduce:
* Record a contribution for a contact
* Find Contributions, select the contribution, Send Thank You Letters
* Select the option to send emails
* Use the default from of the contact, which should be the email on their contact record.
When sending the emails, CiviCRM will throw an error that there is no 'from' in the email, which sounds like this SE question: https://civicrm.stackexchange.com/questions/21780/civicontribute-thank-you-letter-not-emailed-using-cividesk-sparkpost/24948
Inspecting the form html reveal's this:
![Capture_d_écran_de_2019-03-14_12-45-04](/uploads/04998410f1c204cb52310c0dbb6da0fc/Capture_d_écran_de_2019-03-14_12-45-04.png)
It seems very familiar to issue #357
5.12.0
https://lab.civicrm.org/dev/core/-/issues/803
Upgrade and vendor HMTLPurifier
2019-04-11T00:26:06Z
mfb
Upgrade and vendor HMTLPurifier
HTMLPurifier version 4.3.0 can be found at https://github.com/civicrm/civicrm-packages/blob/master/IDS/vendors/htmlpurifier but current version, with PHP 7.2 compatibility, is 4.10.0
Ideally we could move it to composer.json for core.
HTMLPurifier version 4.3.0 can be found at https://github.com/civicrm/civicrm-packages/blob/master/IDS/vendors/htmlpurifier but current version, with PHP 7.2 compatibility, is 4.10.0
Ideally we could move it to composer.json for core.
https://lab.civicrm.org/dev/core/-/issues/806
DB Error:: Already exists during renewing membership automatically
2019-04-03T16:58:22Z
Pradeep Nayak
pradpnayak@gmail.com
DB Error:: Already exists during renewing membership automatically
I have a cron job that runs smart debit sync every day for recurring contribution and its failing with DB Error: already exists
After looking it carefully in details found that it fails when the original contribution of recurring has ta...
I have a cron job that runs smart debit sync every day for recurring contribution and its failing with DB Error: already exists
After looking it carefully in details found that it fails when the original contribution of recurring has tax_amount set.
Mar 18 10:53:06 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)
[code] => -5
[message] => DB Error: already exists
[mode] => 16
[debug_info] => INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , price_field_value_id , financial_type_id , tax_amount ) VALUES ('civicrm_contribution' , 20069 , 20069 , 1 , 'Contribution Amount' , 1 , 30.00 , 30.00 , 1 , 33 , 6 ) [nativecode=1062 ** Duplicate entry 'civicrm_contribution-20069-20069-1-1' for key 'UI_line_item_value']
[type] => DB_Error
[user_info] => INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , price_field_value_id , financial_type_id , tax_amount ) VALUES ('civicrm_contribution' , 20069 , 20069 , 1 , 'Contribution Amount' , 1 , 30.00 , 30.00 , 1 , 33 , 6 ) [nativecode=1062 ** Duplicate entry 'civicrm_contribution-20069-20069-1-1' for key 'UI_line_item_value']
[to_string] => [db_error: message="DB Error: already exists" code=-5 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info="INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , price_field_value_id , financial_type_id , tax_amount ) VALUES ('civicrm_contribution' , 20069 , 20069 , 1 , 'Contribution Amount' , 1 , 30.00 , 30.00 , 1 , 33 , 6 ) [nativecode=1062 ** Duplicate entry 'civicrm_contribution-20069-20069-1-1' for key 'UI_line_item_value']"]
)