CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2018-11-18T21:03:25Zhttps://lab.civicrm.org/dev/core/-/issues/86CIVICRM_MAIL_LOG_AND_SEND does not work properly2018-11-18T21:03:25Zmattwiremjw@mjwconsult.co.ukCIVICRM_MAIL_LOG_AND_SEND does not work properlyIn the packages/Mail it is mistyped as "CIVICRM_MAIL_LOG_AND SEND" (ie. missing an underscore): https://github.com/civicrm/civicrm-packages/pull/204
In CiviCRM core the administrator is not notified if it is set: https://github.com/civi...In the packages/Mail it is mistyped as "CIVICRM_MAIL_LOG_AND SEND" (ie. missing an underscore): https://github.com/civicrm/civicrm-packages/pull/204
In CiviCRM core the administrator is not notified if it is set: https://github.com/civicrm/civicrm-core/pull/12037
In the docs it is missing altogether: https://github.com/civicrm/civicrm-dev-docs/pull/5265.2.0https://lab.civicrm.org/dev/core/-/issues/81Warnings from CustomGroup and CustomField create functions2018-04-30T22:08:39ZmichaelWarnings from CustomGroup and CustomField create functionsBoth CustomGroup and CustomField seem to treat `create` as a method only for creating new entities. Although updates do work, a few places in the code expect that you have included some value in the params that you don't intend to update...Both CustomGroup and CustomField seem to treat `create` as a method only for creating new entities. Although updates do work, a few places in the code expect that you have included some value in the params that you don't intend to update.
For example:
```
$params = ['id' => 1, 'is_active' => 0];
civicrm_api3('CustomField', 'create', $params);
```
Will produce a warning (from a test I wrote for this):
```
Failure in api call for CustomGroup create: Undefined index: extends
#0 /repos/civicrm-core/CRM/Core/BAO/CustomGroup.php(64): PHPUnit_Util_ErrorHandler::handleError(8, 'Undefined index...', '/repos/civicrm-...', 64, Array)
```
---
https://github.com/civicrm/civicrm-core/pull/12033/files5.2.0https://lab.civicrm.org/dev/core/-/issues/80Current Employer is not reset after relationship is updated2018-05-14T22:46:20ZjitendraCurrent Employer is not reset after relationship is updatedReplicated on dmaster.
- Add an employer relationship for a contact.
- Current Employer is correctly set.
- Edit the relationship to some other type eg. "Volunteer For" -> Save.
- Current Employer Field is still set to the previous value.Replicated on dmaster.
- Add an employer relationship for a contact.
- Current Employer is correctly set.
- Edit the relationship to some other type eg. "Volunteer For" -> Save.
- Current Employer Field is still set to the previous value.5.3.0jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/78Incorrect Payment Processor for Recurring Payments2018-11-17T02:47:01ZjitendraIncorrect Payment Processor for Recurring PaymentsThe issue arises due to there being two AuthNet payment processors, one for both A1 and A2. And the CiviCRM code is (naively) written assuming there'd be a maximum of one. So when AuthNet calls into CiviCRM to notify it of a successful r...The issue arises due to there being two AuthNet payment processors, one for both A1 and A2. And the CiviCRM code is (naively) written assuming there'd be a maximum of one. So when AuthNet calls into CiviCRM to notify it of a successful recurring payment, for the A1 payments it is loading the A2 payment processor — and then failing.
The attached patch uses information from the address that AuthNet posts its updates to, which can signal which payment processor to use.5.2.0https://lab.civicrm.org/dev/core/-/issues/71Add Print/Merge Letter functionality for activity searches2020-02-27T20:19:41Zaydunsaidan.saunders@squiffle.ukAdd Print/Merge Letter functionality for activity searchesMost of the standard searches provide an action to create a PDF or Word document - except Activities.Most of the standard searches provide an action to create a PDF or Word document - except Activities.5.23.0aydunsaidan.saunders@squiffle.ukaydunsaidan.saunders@squiffle.ukhttps://lab.civicrm.org/dev/core/-/issues/61Split edit message templates permission2018-10-05T01:39:35ZajesamsonSplit edit message templates permissionThe `edit message templates` permission currently grants access to user-driven messages and system workflow message. The implication of this is that, there is no way of restricting a particular user to just user-driven messages or system...The `edit message templates` permission currently grants access to user-driven messages and system workflow message. The implication of this is that, there is no way of restricting a particular user to just user-driven messages or system workflow messages.
It is therefore better to split `edit message templates` into two granular permissions (`edit user-driven message templates` and `edit system workflow message templates`) so that user access can be better managed.
![before](/uploads/896ebbdb81b419fb607750667c569486/before.gif)5.3.0https://lab.civicrm.org/dev/core/-/issues/57On Behalf Of fails to populate in Email Receipt2022-01-04T06:27:07ZddoligalskiOn Behalf Of fails to populate in Email ReceiptWhen a Contribution is submitted and "On Behalf Of" is specified, the section on the emailed receipt does not render the On Behalf Of profile information.
We did a little digging, and it appears that the getOnbehalfIds() function is fai...When a Contribution is submitted and "On Behalf Of" is specified, the section on the emailed receipt does not render the On Behalf Of profile information.
We did a little digging, and it appears that the getOnbehalfIds() function is failing, attempting to get the relevant contact_id from the activity record, which has not yet been written.
We have seen this in 4.7.26, 4.7.27, and 4.7.29 and 5.x with both Drupal and WordPress.5.27.0https://lab.civicrm.org/dev/core/-/issues/56Cancel Recurring Contribution activity should has a source record id2018-06-18T20:14:06ZscardiniusCancel Recurring Contribution activity should has a source record idMethod `CRM_Contribute_BAO_ContributionRecur::cancelRecurContribution()` creates new activity with type "Cancel Recurring Contribution". Field source_record_id should contains id of recurring contribution but it doesn't
```php
// curren...Method `CRM_Contribute_BAO_ContributionRecur::cancelRecurContribution()` creates new activity with type "Cancel Recurring Contribution". Field source_record_id should contains id of recurring contribution but it doesn't
```php
// current, invalid
'source_record_id' => CRM_Utils_Array::value('source_record_id', $activityParams),
// fixed
'source_record_id' => $dao->recur_id,
```
https://github.com/civicrm/civicrm-core/blob/9a05ea5249f290bd92f813cfdb301b03b8186007/CRM/Contribute/BAO/ContributionRecur.php#L2855.4.0https://lab.civicrm.org/dev/core/-/issues/55Hide Adding Option Link for Locked Option Groups2018-05-17T10:55:18ZmichaelHide Adding Option Link for Locked Option GroupsYou can edit option values from a few different places:
1. `civicrm/admin/options?gid=<option_group_id>`
1. `civicrm/admin/options/<option_group_name>`
1. `civicrm/admin/custom/group/field/option?action=browse&gid=<custom_group_id>&fid=...You can edit option values from a few different places:
1. `civicrm/admin/options?gid=<option_group_id>`
1. `civicrm/admin/options/<option_group_name>`
1. `civicrm/admin/custom/group/field/option?action=browse&gid=<custom_group_id>&fid=<custom_field_id>`
When "is_locked" = 1 only the first method hides the button to add new option values.
The button to add an option value should be hidden for the two places where it is highlighted in the above screenshots
##### From Option Group Edit Page Using Group ID
This works as expected and the button to add a new option is hidden
![image](/uploads/4a3567b69cc961cd2e6b580c60e62f30/image.png)
##### From Custom Field Edit page
![image](/uploads/c2a00e7f49e59eea7b6b3efe6720e7e6/image.png)
##### From Option Group Edit Page Using Group Name
![image](/uploads/9e1d94a9f3f729dbc88cdf92760108a9/image.png)5.3.0https://lab.civicrm.org/dev/core/-/issues/50Create Sub-tabs Under Contributions Tab for Contributions and Recurring Contr...2018-06-18T20:13:42ZCamilo RodríguezCreate Sub-tabs Under Contributions Tab for Contributions and Recurring Contributions## Overview
Currently, when viewing contributions on a contact's summary view, there are two tables being shown: one for contributions, the second for recurring contributions. The problem is when a contact has a lot of contributions, rec...## Overview
Currently, when viewing contributions on a contact's summary view, there are two tables being shown: one for contributions, the second for recurring contributions. The problem is when a contact has a lot of contributions, recurring contributions kind of get lost within the page, having to scroll down quite a bit to get to the required information. We'd like to have two subtabs within the contributions tab, so that we can choose either contributions or recurring contributions as needed. Furthermore, we'd also like to separate active from inactive recurring contributions within the recurring contributions tab, to have easier access to the information that is most likely to be needed.
## How it Works Currently
1. Go to a contact with that has contributions and recurring contributions.
2. Click on contributions tab.
3. Two tables are shown: first, contributions, and after it, recurring contributions.
## How it Should Work
1. Go to a contact with that has contributions and recurring contributions.
2. Click on contributions tab.
3. Two subtabs are shown within the page, one for contributions, the second for recurring contributions.
4. Contributions tab is selected by default, showing the contributions table.
5. Clicking on the recurring contributions tab shows two recurring contributions tables, the first one for active contributions, the second for inactive contributions.
## Acceptance Criteria
* Loading **Contributions** tab shows two subtabs, **Contributions** and **Recurring Contributions**.
* **Contributions** subtab is loaded by default.
* **Recurring Contributions** subtab has two tables, one for active contributions, the other one for inactive contributions.5.4.0https://lab.civicrm.org/dev/core/-/issues/47Add "clone" functionality to scheduled jobs2018-06-17T23:18:56Zmattwiremjw@mjwconsult.co.ukAdd "clone" functionality to scheduled jobsThis adds a "clone" or "copy" function to the scheduled jobs page. It is implemented as an API (job.clone) which can be called via a link from the scheduled jobs listing.
Ref https://github.com/civicrm/civicrm-core/pull/11945This adds a "clone" or "copy" function to the scheduled jobs page. It is implemented as an API (job.clone) which can be called via a link from the scheduled jobs listing.
Ref https://github.com/civicrm/civicrm-core/pull/119455.4.0https://lab.civicrm.org/dev/core/-/issues/44admin price field options should be suppressed in event info page2018-12-08T09:38:52Zlcdwebadmin price field options should be suppressed in event info pageTo recreate:
1. create a price set with an option list price field (select/radio/checkbox)
2. set one of the options to visibility = admin
3. create an event and select this price set
4. view the event info page as a public (unauthe...To recreate:
1. create a price set with an option list price field (select/radio/checkbox)
2. set one of the options to visibility = admin
3. create an event and select this price set
4. view the event info page as a public (unauthenticated) user
The admin price field option should be suppressed but is incorrectly exposed.5.6lcdweblcdwebhttps://lab.civicrm.org/dev/core/-/issues/43Google geocoding now seems to require an API key, settings page text needs up...2018-05-29T23:12:10ZlarsssandergreenGoogle geocoding now seems to require an API key, settings page text needs updateThe explanatory text on the geocoding settings page indicates that Google doesn't need an API key, but geocoding will no longer work without an API key:
https://developers.google.com/maps/documentation/geocoding/get-api-key
(and I can ...The explanatory text on the geocoding settings page indicates that Google doesn't need an API key, but geocoding will no longer work without an API key:
https://developers.google.com/maps/documentation/geocoding/get-api-key
(and I can verify that it does not work until you put in an API key). You also do need to enter your API key in the second set of fields (contra the text "You can leave the Geocoding fields blank if you are using Google as your mapping provider.")
Suggest changing the text on the settings page to reflect the update.5.3.0https://lab.civicrm.org/dev/core/-/issues/41Search Builder: Not empty with date or integer custom fields gives a sql warning2019-03-07T19:25:44ZsamuelsovSearch Builder: Not empty with date or integer custom fields gives a sql warningMentioned by @bgm for a contact reference in mattermost https://chat.civicrm.org/civicrm/pl/49hcecoy5bb9mmsnrfzuzt9a4y and reproduced with a date custom field.
To reproduce :
* create a contactReference custom field or a date custom ...Mentioned by @bgm for a contact reference in mattermost https://chat.civicrm.org/civicrm/pl/49hcecoy5bb9mmsnrfzuzt9a4y and reproduced with a date custom field.
To reproduce :
* create a contactReference custom field or a date custom field
* populate some data on a few records
* use the Search Builder to search on that field, with condition "where [field] is not empty"
Here is an example of query that Mysql doesn't like :
```sql
CREATE TEMPORARY TABLE civicrm_temp_group_contact_cache1062 (SELECT 16 as group_id, contact_a.id as id FROM civicrm_contact contact_a
LEFT JOIN civicrm_value_cfa_contact_2 ON civicrm_value_cfa_contact_2.entity_id = `contact_a`.id WHERE ( ( contact_a.contact_type = "individual" AND (NULLIF(civicrm_value_cfa_contact_2.date_de_validation_manuelle_23, '') IS NOT NULL) ) ) AND (contact_a.is_deleted = 0) AND contact_a.id NOT IN (
SELECT contact_id FROM civicrm_group_contact
WHERE civicrm_group_contact.status = "Removed"
AND civicrm_group_contact.group_id = 16 ) );
```
The warning is :
```sql
SHOW warnings;
+---------+------+------------------------------+
| Level | Code | Message |
+---------+------+------------------------------+
| Warning | 1292 | Incorrect datetime value: '' |
+---------+------+------------------------------+
1 row in set (0.00 sec)
```5.4.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/38Recurring Contribution Information on Membership Modal2018-05-29T18:22:20ZCamilo RodríguezRecurring Contribution Information on Membership Modal## Overview
Currently, when viewing a membership from contact's detailed view (on memberships tab), it is hard to tell if a membership has any recurring contributions associated to it, even though you can see all payments done for the me...## Overview
Currently, when viewing a membership from contact's detailed view (on memberships tab), it is hard to tell if a membership has any recurring contributions associated to it, even though you can see all payments done for the membership. It would be good if you could see both payments and recurring contributions associated to the membership, similar to how both are shown on Contact's contribution tab.
## How it Works Currently
1. Go to a contact with that has memberships, contributions and recurring contributions.
2. Click on memberships tab.
3. Click the **view** action on a membership.
4. Membership details are shown, including payments. Recurring contributions are not shown.
## How it Should Work
1. Go to a contact with that has memberships, contributions and recurring contributions.
2. Click on memberships tab.
3. Click the **view** action on a membership.
4. Membership details are shown, including payments. Recurring contributions are also shown, just after the table with membership contributions.
## Accepatance Criteria
* Relabel the "Related Contributions" accordion to "Related Contributions and Recurring Contributions".
* A contributions section is shown on the accordion showing a table of all contributions that are linked to the membership.
* A recurring contribution section showing a table of all recurring contributions that are linked to the membership.
* The recurring contributions section should reuse the recurring contribution table structure in Contact's contribution tab.
* Actions for recurring contributions work as in contributions Tab.5.3.0https://lab.civicrm.org/dev/core/-/issues/35avoid template variable leakage when processing more than one recurring contr...2023-04-28T01:39:33Zjamieavoid template variable leakage when processing more than one recurring contribution in a sessionThis bug happens if you have more than one iATS recurring contribution and an earlier contribution is assigned to a soft credit, but one or more later contributions are not assigned to a soft credit.
The later contributions have the sof...This bug happens if you have more than one iATS recurring contribution and an earlier contribution is assigned to a soft credit, but one or more later contributions are not assigned to a soft credit.
The later contributions have the soft credit information inserted into their receipt because the email message template variables are not properly cleared.
iATS processes multiple recurring contributions in a single session via a cron job, so may be uniquely triggering this error (although the bug is with CiviCRM Core).5.3.0https://lab.civicrm.org/dev/core/-/issues/30Exporting master address contact even if no master address contact is defined2023-04-28T01:39:33ZsamuelsovExporting master address contact even if no master address contact is definedExporting "Master address contact" should give the master contact only if there is a master_id defined for this address but currently, if there is no master_id, the first master address id found for this contact is used.
```php
class C...Exporting "Master address contact" should give the master contact only if there is a master_id defined for this address but currently, if there is no master_id, the first master address id found for this contact is used.
```php
class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact {
...
public static function getMasterDisplayName($masterAddressId = NULL, $contactId = NULL) {
$masterDisplayName = NULL;
$sql = NULL;
if (!$masterAddressId && !$contactId) {
return $masterDisplayName;
}
if ($masterAddressId) {
$sql = "
SELECT display_name from civicrm_contact
LEFT JOIN civicrm_address ON ( civicrm_address.contact_id = civicrm_contact.id )
WHERE civicrm_address.id = " . $masterAddressId;
}
// ==> is there any reason to do that ?
elseif ($contactId) {
$sql = "
SELECT display_name from civicrm_contact cc, civicrm_address add1
LEFT JOIN civicrm_address add2 ON ( add1.master_id = add2.id )
WHERE cc.id = add2.contact_id AND add1.contact_id = " . $contactId;
}
$masterDisplayName = CRM_Core_DAO::singleValueQuery($sql);
return $masterDisplayName;
}
```5.3.0https://lab.civicrm.org/dev/core/-/issues/11Email - send now error screen should display earlier2023-06-23T17:54:21ZJchesterEmail - send now error screen should display earlierIn Advanced Search if you are displaying results as contacts and then:
* select more than 50 of the results
* select **Email - send now (to 50 or less)**
you see the Error message telling you that you can't email more than 50 contac...In Advanced Search if you are displaying results as contacts and then:
* select more than 50 of the results
* select **Email - send now (to 50 or less)**
you see the Error message telling you that you can't email more than 50 contacts this way and the process stops
However, if you display the results as contributions or as memberships then
* select more than 50 of the results
* select **Email - send now (to 50 or less)**
you are taken to the email set up page. It is not until you click on Send Email on that page that you see the Error message telling you that you can't email more than 50 contacts this way and the process is stopped.
It would be a better user experience if the error message always appeared when **Email - send now (to 50 or less)** was selected.5.9https://lab.civicrm.org/dev/core/-/issues/4556"Check number" field isn't shown on Pending check payments (workaround exists)2023-12-12T19:08:26ZAllenShaw"Check number" field isn't shown on Pending check payments (workaround exists)(Similar to behavior described in https://lab.civicrm.org/dev/core/-/issues/60)
**One way to repro this on dmaster.demo.civicrm.org:**
1. Log in and navigate to any contact record.
2. Create and save a contribution with these attributes...(Similar to behavior described in https://lab.civicrm.org/dev/core/-/issues/60)
**One way to repro this on dmaster.demo.civicrm.org:**
1. Log in and navigate to any contact record.
2. Create and save a contribution with these attributes:
- Status: Pending
- Payment method: Check
3. Observe this contribution is displayed in the contact's Contributions tab.
4. Open the contribution for viewing, and select the "Record Payment" link or button; this opens the New Payment form.
5. In the New Payment form, observe that the Payment Method is pre-selected as "Check".
6. Observe expected vs actual (bad) behavior:
- Expected behavior: Because the Payment Method is "Check", the field "Check Number" should be displayed for data entry
- **Actual (bad) behavior:** "Check Number" field is not displayed.
**Workaround:**
Continuing from Step 6 above: Change the Payment Method to anything other than "Check", then change it back to "Check". Observe that the "Check Number" field is now available for data entry.
Screencap of problem and workaround from dmaster.demo.civicrm.org today:
![anim](/uploads/f951056d3c2c0c91aaff0d6f17a8b1b4/anim.gif)
(Joinery reference: F#1220)https://lab.civicrm.org/dev/core/-/issues/4484Feature request: New contact buttons on the API 4 autocomplete widget2023-11-01T18:20:41ZbrienneFeature request: New contact buttons on the API 4 autocomplete widgetOverview
----------------------------------------
For using the APIv4 autocomplete widget, such as for the *Existing Contact* field, it would be useful to be able to create new contacts, as is possible with the Select2 drop downs, such a...Overview
----------------------------------------
For using the APIv4 autocomplete widget, such as for the *Existing Contact* field, it would be useful to be able to create new contacts, as is possible with the Select2 drop downs, such as for selecting a Contributor on a backend contribution.
![Selection_015](/uploads/30fc0ecdd3268ebc5906ce0aa06dae9a/Selection_015.png)
Example use-case
----------------------------------------
1. Add the *Existing Contact* field to a FormBuilder form
1. A user can look up a contact to select, but if there are no results/a new one is needed, they can click a **New Individual** button to add one without being redirected from the original form
Current behaviour
----------------------------------------
The APIv4 autocomplete widget does not allow for creating new contacts.
![Selection_014](/uploads/d97659f7dddfd4858bd316acb0dda2b6/Selection_014.png)
Proposed behaviour
----------------------------------------
The APIv4 autocomplete widget should have feature parity when it comes to creating new contacts on the spot as the Select2 option