CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2023-06-10T01:11:59Zhttps://lab.civicrm.org/dev/core/-/issues/4272Unreleased regression: Membership selction fails validation2023-06-10T01:11:59ZbrienneUnreleased regression: Membership selction fails validationOverview
----------------------------------------
A Contribution page that includes a Membership selection is failing validation with a message indicating a Membership has not been selected, even when a selection has been made.
Reproduc...Overview
----------------------------------------
A Contribution page that includes a Membership selection is failing validation with a message indicating a Membership has not been selected, even when a selection has been made.
Reproduction steps
----------------------------------------
1. Create a Membership Price Set (**Memberships > Manage Price Sets > Add Set of Price Fields**). Use a *Select* or a *Radio Button* for the *Field Type*.
1. Create a Contribution Page. On the *Memberships Tab*, select the *Price Set* made in the previous step.
1. After saving, click **Contribution Links > Test-drive**
2. Select a membership, fill out the rest of the form, click **Contribute**.
3. Instead of making the contribution, a validation error is displayed at the top of the Contribution page.
Current behaviour
----------------------------------------
On a Contribution page with a Membership selection, even if a Membership is chosen, the submission is not successful, and the user receives the following message:
```
Please correct the following errors in the form fields below:
Please select one of the memberships.
```
![Selection_077](/uploads/aa0c7792cec6eebdaeda6064cfea703c/Selection_077.png)
Expected behaviour
----------------------------------------
If a Membership is selected on the Contribution page, it should be recognized as such and pass the validation.
----------------------------------------
* __CiviCRM:__ _Master (5.61aplpha1)
Comments
----------------------------------------
I used `git bisect`, and the issue seems to have been introduced by PR 25754 [Extract isMembershipPriceSet (useForMember)](https://github.com/civicrm/civicrm-core/pull/25754). The exact commit id is `e4992726cc41cbef54aead6dd28d010c1640419f`5.61.0https://lab.civicrm.org/dev/core/-/issues/4269Import "Fill" option doesn't work on email/phone fields2023-05-04T20:14:52ZJonGoldImport "Fill" option doesn't work on email/phone fieldsOverview
----------------------------------------
If you use the "Fill" strategy for duplicate records in Contact Import, it only sometimes fills email/phone numbers.
Reproduction steps
----------------------------------------
1. Create...Overview
----------------------------------------
If you use the "Fill" strategy for duplicate records in Contact Import, it only sometimes fills email/phone numbers.
Reproduction steps
----------------------------------------
1. Create a SearchKit query on demo data for individuals where Primary Email is empty and Primary Phone is empty.
1. Export their contact IDs.
1. Open the CSV, and a phone and email field. Populate the values.
1. Import with the "Fill" strategy for duplicate records, matching on contact ID
Current behaviour
----------------------------------------
Of 16 contacts, 4 were filled. The other 12 were not.
I left the email blank on one record. I received an import error for that record.
Expected behaviour
----------------------------------------
All contacts should get the phone and email filled. Leaving a non-match field blank should not result in an import error.
Comments
----------------------------------------
This is certainly a regression but I can't tell you exactly when.5.61.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/4259Invoice sending as email with PDF attachment replaces email contents with PDF...2023-05-16T22:27:48ZfrankADsystopia.deInvoice sending as email with PDF attachment replaces email contents with PDF contentsOverview
----------------------------------------
Sending invoices with emails, where the invoice is attached as PDF to the email, and having a freely designed email text results in the contents of the email body being replaced with the ...Overview
----------------------------------------
Sending invoices with emails, where the invoice is attached as PDF to the email, and having a freely designed email text results in the contents of the email body being replaced with the contents of the invoice PDF and nothing being attached to the email.
Ticket on [stackexchange](https://civicrm.stackexchange.com/questions/44842/invoice-sending-as-email-with-pdf-attachment-replaces-email-contents-with-pdf-co)
Reproduction steps
----------------------------------------
1. (Preliminary) To enable Invoicing go to **Administer > CiviContribute > CiviContribute Component Settings** and check the **Enable Tax and Invoicing** box.
2. Search for a contribution for which you want to send the invoice. Select the ones you want to send an invoice in the search result.
4. Choose the action **Invoices - print or email**.
5. On the next screen select **Email Invoice** and fill the now displayed fields with suitable data.
6. Then press **Process Invoice(s)**. A success message should appear.
7. Check the received email(s).
Current behaviour
----------------------------------------
In the received email the content of the email body is gone and replace by the content of the PDF. The email has no attachments.
Expected behaviour
----------------------------------------
The email should keep its content and the contents of the PDF should be in an attached PDF file.
Environment information
----------------------------------------
Reproduction on dmaster is not possible because emails are not sent.
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __CiviCRM:__ _5.60.0/5.58.1/5.57.0_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _7.4.33_
* __CMS:__ _Drupal 9.5.5/9.5.1_
* __Database:__ _MariaDB 10.3.35_
The issue occurs with the unaltered default invoice template and with an altered template.
We normally use the **Invoice Helper** extension but the problem also appears without the extension being enabled.
Comment
----------------------------------------
Seems to be a regression, as it has worked before.https://lab.civicrm.org/dev/core/-/issues/4248Clicking View and Edit Price Fields for a Price Set no longer tells you which...2023-06-10T21:48:41ZDaveDClicking View and Edit Price Fields for a Price Set no longer tells you which pages/events it's being used inIt used to have a little table at the top telling you which contribution pages or events the price set is used in.
It works in 5.49.4, not working in 5.58 or on dmaster.demo (5.62). But I'm not sure when it broke.
It looks like the cod...It used to have a little table at the top telling you which contribution pages or events the price set is used in.
It works in 5.49.4, not working in 5.58 or on dmaster.demo (5.62). But I'm not sure when it broke.
It looks like the code that includes the table is still there, so probably a change somewhere else to those variables? https://github.com/civicrm/civicrm-core/blob/3a2072cdea58b674bd51e3f1f871b410980e8940/templates/CRM/Price/Page/Set.tpl#L29-L315.62.0https://lab.civicrm.org/dev/core/-/issues/4247Fatal error on membership batch data entry with sending receipt2023-04-20T21:33:19ZandreiyFatal error on membership batch data entry with sending receiptOverview
----------------------------------------
When trying to submit membership in batch having Send Receipt checkbox enabled, civi will throw a fatal error due to a bug in code.
Reproduction steps
----------------------------------...Overview
----------------------------------------
When trying to submit membership in batch having Send Receipt checkbox enabled, civi will throw a fatal error due to a bug in code.
Reproduction steps
----------------------------------------
From Membership -> Batch Data Entry -> Select Type: Membership -> Save -> Check "Send Receipt" -> Validate & Process the Batch -> Ignore Mismatch & Process the Batch?
Current behaviour
----------------------------------------
On submit will throw this fatal error:
```
Fatal error: Uncaught TypeError: Argument 1 passed to CRM_Utils_Date::formatDateOnlyLong() must be of the type string, null given, called in wp-civi560/web/wp-content/plugins/civicrm/civicrm/CRM/Batch/Form/Entry.php on line 949 and defined in wp-civi560/web/wp-content/plugins/civicrm/civicrm/CRM/Utils/Date.php on line 472
TypeError: Argument 1 passed to CRM_Utils_Date::formatDateOnlyLong() must be of the type string, null given, called in wp-civi560/web/wp-content/plugins/civicrm/civicrm/CRM/Batch/Form/Entry.php on line 949 in wp-civi560/web/wp-content/plugins/civicrm/civicrm/CRM/Utils/Date.php on line 472
```
Expected behaviour
----------------------------------------
It should process the memberships without throwing error.
Environment information
----------------------------------------
Tested on a clean civibuild instance with latest CiviCRM and WP.
* __Browser:__ _Arc 0.98.2_
* __CiviCRM:__ _5.60_
* __PHP:__ _7.4.27_
* __CMS:__ _WordPress 6.2_
* __Database:__ _MySQL 5.7.36_
* __Web Server:__ _Apache 2.4.53_
Comments
----------------------------------------
The issue seems to be [this line](https://github.com/civicrm/civicrm-core/blob/5.60/CRM/Batch/Form/Entry.php#L930), it attempts to fetch before find, which lead to empty `$membership` object. Replacing it with `$membership->find(TRUE)` fixes the problem.5.61.0https://lab.civicrm.org/dev/core/-/issues/4238(Regression) - Users are unable to register via /user/register forms anymore2023-04-14T23:36:12ZPradeep Nayakpradpnayak@gmail.com(Regression) - Users are unable to register via /user/register forms anymoreIf the user registration profile has a checkbox custom field then the system throws error with ```'' is not a valid option for field custom_118```
Steps to replicate
1. Add checkbox custom field(with atleast 3 options) of extending Cont...If the user registration profile has a checkbox custom field then the system throws error with ```'' is not a valid option for field custom_118```
Steps to replicate
1. Add checkbox custom field(with atleast 3 options) of extending Contact and include it in a profile
2. Set the profile to use for user registration
3. visit /user/register page, enter the details, check the boxes(leave one unchecked). Submit the form
Expected result:
User account should be created and Information should be saved in Civi
Actual result:
Error with a message in watchdog
```CRM_Core_Exception: '' is not a valid option for field custom_118 in civicrm_api3() (line 135 of /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/api/api.php).```
---------------------------------------------------------------------------------------------------
Bactrace:
````
Apr 14 13:34:56 [debug] $$apiResponse = #0 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/api/v3/utils.php(2421): CRM_Core_Error::backtrace("$apiResponse", 1)
#1 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/api/v3/utils.php(2349): _civicrm_api3_api_match_pseudoconstant_value("", (Array:4), "custom_118", NULL)
#2 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/api/v3/utils.php(2281): _civicrm_api3_api_match_pseudoconstant((Array:4), "Contact", "custom_118", (Array:31), NULL)
#3 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/api/v3/utils.php(1633): _civicrm_api3_validate_string((Array:22), "custom_118", (Array:31), "Contact", "create")
#4 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/Civi/API/Subscriber/APIv3SchemaAdapter.php(76): _civicrm_api3_validate_fields("Contact", "create", (Array:22), (Array:5))
#5 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(264): Civi\API\Subscriber\APIv3SchemaAdapter->onApiPrepare_validate(Object(Civi\API\Event\PrepareEvent), "civi.api.prepare", Object(Civi\Core\CiviEventDispatcher))
#6 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(239): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch((Array:9), "civi.api.prepare", Object(Civi\API\Event\PrepareEvent))
#7 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\Component\EventDispatcher\EventDispatcher->callListeners((Array:9), "civi.api.prepare", Object(Civi\API\Event\PrepareEvent))
#8 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/Civi/Core/CiviEventDispatcher.php(217): Symfony\Component\EventDispatcher\EventDispatcher->dispatch(Object(Civi\API\Event\PrepareEvent), Object(Civi\API\Event\PrepareEvent))
#9 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/Civi/API/Kernel.php(240): Civi\Core\CiviEventDispatcher->dispatch("civi.api.prepare", Object(Civi\API\Event\PrepareEvent))
#10 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/Civi/API/Kernel.php(148): Civi\API\Kernel->prepare(Object(Civi\API\Provider\MagicFunctionProvider), (Array:8))
#11 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#12 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/api/api.php(133): Civi\API\Kernel->runSafe("Contact", "create", (Array:21))
#13 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/CRM/Core/BAO/UFMatch.php(278): civicrm_api3("Contact", "create", (Array:21))
#14 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/CRM/Core/BAO/UFMatch.php(104): CRM_Core_BAO_UFMatch::synchronizeUFMatch(Object(stdClass), "21", "pradeep+ytrt@circle-interactive.co.ukddd", "Drupal", NULL, "Individual", FALSE)
#15 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/drupal/civicrm.module(547): CRM_Core_BAO_UFMatch::synchronize(Object(stdClass), TRUE, "Drupal", "Individual")
#16 /Library/WebServer/Documents/drupal7/sites/all/modules/civicrm/drupal/civicrm_user.inc(70): civicrm_register_data((Array:24), Object(stdClass), "account", FALSE)
#17 /Library/WebServer/Documents/drupal7/modules/user/user.module(101): civicrm_user_insert((Array:24), Object(stdClass), "account")
#18 /Library/WebServer/Documents/drupal7/modules/user/user.module(596): user_module_invoke("insert", (Array:24), Object(stdClass), "account")
#19 /Library/WebServer/Documents/drupal7/modules/user/user.module(3945): user_save(Object(stdClass), (Array:24))
#20 /Library/WebServer/Documents/drupal7/includes/form.inc(1531): user_register_submit((Array:36), (Array:21))
#21 /Library/WebServer/Documents/drupal7/includes/form.inc(906): form_execute_handlers("submit", (Array:36), (Array:21))
#22 /Library/WebServer/Documents/drupal7/includes/form.inc(386): drupal_process_form("user_register_form", (Array:36), (Array:21))
#23 /Library/WebServer/Documents/drupal7/includes/form.inc(131): drupal_build_form("user_register_form", (Array:21))
#24 /Library/WebServer/Documents/drupal7/includes/menu.inc(527): drupal_get_form("user_register_form")
#25 /Library/WebServer/Documents/drupal7/index.php(21): menu_execute_active_handler()
````
Api params passed
````
Array
(
[name] => testssddd
[mail] => pradeep+ytrt@test.com
[timezone] => Europe/London
[form_build_id] => form-itTfOP_PU7O_GmrjvPKtXXypybV7isjhUspFtqRfeS0
[form_id] => user_register_form
[MAX_FILE_SIZE] => 2097152
[edit] => Array
(
[civicrm_dummy_field] => CiviCRM Dummy Field for Drupal
)
[gid] =>
[first_name] => Pradeep
[last_name] => Nayak
[street_address-1] =>
[city-1] =>
[postal_code-1] =>
[country-1] =>
[state_province-1] =>
[custom_118] => Array
(
[1] =>
[2] => 1
[3] => 1
[4] =>
)
[op] => Create new account
[_qf_default] => Dynamic:upload
[email] => pradeep+ytrt@test.com
[contact_type] => Individual
[version] => 3
)
````https://lab.civicrm.org/dev/core/-/issues/4227Contact import (new) deletes contact fields2023-07-11T16:34:41ZBjörn EndresContact import (new) deletes contact fieldsOverview
----------------------------------------
It seems like the "new importer" that has been implemented with [5.51](https://lab.civicrm.org/groups/dev/-/issues/?sort=updated_desc&state=closed&milestone_title=5.51.0&label_name%5B%5D=...Overview
----------------------------------------
It seems like the "new importer" that has been implemented with [5.51](https://lab.civicrm.org/groups/dev/-/issues/?sort=updated_desc&state=closed&milestone_title=5.51.0&label_name%5B%5D=comp%3AImport&first_page_size=100) has slightly changed its behaviour: if you import/update contacts with empty fields these fields will be deleted, where they used to be ignored (pre 5.51).
Reproduction steps
----------------------------------------
1. Import test contact using the "Import Contacts" menu item with [this file](/uploads/5c56a58c83b7a1fcd5f69ddab02a5c23/ISSUE-4227_step1.csv) and check whether the contact was created.
2. Update the contact by using the import again with [this file](/uploads/62ef3aa3a3c6b975d2dbfa7d060248fc/ISSUE-4227_step2.csv), setting the "For Duplicate Contacts" setting to "Update"
3. Observe, that the birthday field in the new contact was deleted.
Current behaviour
----------------------------------------
Currently, the contact's birthday field is deleted.
Expected behaviour
----------------------------------------
Contact's birthday field should be left untouched, as was the behaviour pre ``5.51.0`` (tested with ``5.40.2``).
Environment information
----------------------------------------
Reproduced on ``dmaster``.
----------------------------------------
This might be an intentional change in behaviour, but I haven't found any documentation on this.5.62.0https://lab.civicrm.org/dev/core/-/issues/4225Regression in 5.61rc - if CiviMember is not enabled then creating a relations...2023-05-03T23:58:45ZeileenRegression in 5.61rc - if CiviMember is not enabled then creating a relationship causes an erro@mattwire the switch to apiv4 is causing an authorization error - we can probably by pass the whole membership code if CiviMember disabled@mattwire the switch to apiv4 is causing an authorization error - we can probably by pass the whole membership code if CiviMember disabledhttps://lab.civicrm.org/dev/core/-/issues/4217Can no longer search by case id in file-on-case2023-04-02T22:11:40ZDaveDCan no longer search by case id in file-on-casehttps://civicrm.stackexchange.com/questions/44732/file-on-case-no-longer-works-by-case-id
It works in 5.56, not in 5.57+.
Candidates:
* github.com/civicrm/civicrm-core/pull/24976
* github.com/civicrm/civicrm-core/pull/24974https://civicrm.stackexchange.com/questions/44732/file-on-case-no-longer-works-by-case-id
It works in 5.56, not in 5.57+.
Candidates:
* github.com/civicrm/civicrm-core/pull/24976
* github.com/civicrm/civicrm-core/pull/249745.60.0https://lab.civicrm.org/dev/core/-/issues/4205Can't create new events from a template using the API2023-03-27T21:44:02ZufundoCan't create new events from a template using the API
Reproduction steps
----------------------------------------
1. Create an event template and note its ID
2. Attempt to create a new event using the API, by adding the `template_id` parameter with the ID from 1.
Expected behaviour
-----...
Reproduction steps
----------------------------------------
1. Create an event template and note its ID
2. Attempt to create a new event using the API, by adding the `template_id` parameter with the ID from 1.
Expected behaviour
----------------------------------------
A new event is created with the values populated from the template. Works up to 5.58
Current behaviour
----------------------------------------
From 5.59 the newly created event is itself a template, rather than a fully fledged event.
Comments
----------------------------------------
I think this bugfix went too far -- that code needed moving rather than replacing. MR incoming :smile:
Edit: _this_ bugfix https://github.com/civicrm/civicrm-core/commit/4bb246b6d43dfd5b3cf2a7e2b1f6b41368d85e595.59.4https://lab.civicrm.org/dev/core/-/issues/4197Fatal error on merge2023-04-19T07:03:53ZDavid HayesFatal error on mergeOverview
----------------------------------------
After update to 5.59 (maybe earlier). A fatal error is received on merging contacts.
Reproduction steps
----------------------------------------
1. Attempt to merge contacts
2. Fatal err...Overview
----------------------------------------
After update to 5.59 (maybe earlier). A fatal error is received on merging contacts.
Reproduction steps
----------------------------------------
1. Attempt to merge contacts
2. Fatal error
Current behaviour
----------------------------------------
```
PHP Fatal error: Uncaught TypeError: Argument 6 passed to CRM_Dedupe_Merger::processCustomFields() must be of the type bool, null given, called in /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php on line 2128 and defined in /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php:2553
Stack trace:
#0 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php(2128): CRM_Dedupe_Merger::processCustomFields()
#1 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Merge.php(324): CRM_Dedupe_Merger::moveAllBelongings()
#2 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(573): CRM_Contact_Form_Merge->postProcess()
#3 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(144): CRM_Core_Form->mainProcess()
#4 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(43): CRM_Core_StateMachine->perform()
#5 /home/example/public_html/wp-content/plugins/civicrm/ in /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php on line 2553
```
Possible fix
----------------------------------------
Ensure `$htmlType` and `$isView` are set and bools.
![image](/uploads/deaff23e07422713d0c844c149898350/image.png)
Expected behaviour
----------------------------------------
Contacts merged.
Environment information
----------------------------------------
* __Browser:__ all
* __CiviCRM:__ 5.59.3
* __PHP:__ 7.4
* __CMS:__ WordPress
* __Database:__ MySQL 5.7.41
* __Web Server:__ Apache 2.4
Comments
----------------------------------------
NA5.59.4https://lab.civicrm.org/dev/core/-/issues/4189Contribution Confirm incorrectly debit card information even if using credit ...2023-03-25T00:47:40ZbgmContribution Confirm incorrectly debit card information even if using credit cardTo reproduce:
- Create normal Contribution Page
- Enable dummy credit card
- Enable the Confirmation Page
Then go to the test page, enter test card (`4111111111111111`) and submit to go to the confirmation page:
![image](/uploads/ce70...To reproduce:
- Create normal Contribution Page
- Enable dummy credit card
- Enable the Confirmation Page
Then go to the test page, enter test card (`4111111111111111`) and submit to go to the confirmation page:
![image](/uploads/ce70684ddada9932e4da72bff3dcacfa/image.png)
The bug was introduced somewhere between 5.57 and 5.60. I suspect it's related to this PR: https://github.com/civicrm/civicrm-core/pull/25239
Those changes have not been applied to `ThankYou.tpl`.
When debugging, the `$contributeMode` was set to 'debit'. It seems to be the default value in the parent class. The code also has a code comment from 2016 saying that "The concept of contributeMode is deprecated."5.60.0https://lab.civicrm.org/dev/core/-/issues/4187AJAX error when sorting soft credit by name or date2023-03-17T00:27:07ZStoobAJAX error when sorting soft credit by name or dateTo reproduce:
- View the Contribution tab of a Contact with Soft Credits [such as this one on dmaster](https://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=150&selectedChild=contribute)
- click the Contributor or Received a...To reproduce:
- View the Contribution tab of a Contact with Soft Credits [such as this one on dmaster](https://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=150&selectedChild=contribute)
- click the Contributor or Received arrows in Soft Credit section and attempt sort
- observe Ajax error `DataTables warning: table id=DataTables_Table_0` and/or `Invalid field 'contribution.receive_date'` in the black popup5.59.4https://lab.civicrm.org/dev/core/-/issues/4186Label in custom Contact Reference Autocomplete field are completely off2023-03-15T01:30:37ZsamuelsovLabel in custom Contact Reference Autocomplete field are completely offReproduced in dmaster v5.61.alpha1
To reproduce :
- create a Contact Reference custom field
- when you try to use the automplete, the labels displayed doesn't correspond to a contact (seems like values from the civicrm_option_value tabl...Reproduced in dmaster v5.61.alpha1
To reproduce :
- create a Contact Reference custom field
- when you try to use the automplete, the labels displayed doesn't correspond to a contact (seems like values from the civicrm_option_value table)
![Peek_14-03-2023_15-49](/uploads/53fa404300c21a44ea6f8cebe955488a/Peek_14-03-2023_15-49.gif)
Likely related to the new Entity reference.5.60.0samuelsovsamuelsovhttps://lab.civicrm.org/dev/core/-/issues/4166Import contribution fails if using soft-credit and a row has an empty field2023-03-16T21:31:38ZbgmImport contribution fails if using soft-credit and a row has an empty fieldTo reproduce:
- use this CSV file: [test-soft-credit.csv](/uploads/742ab3a01099b5de3ef33325e3686b54/test-soft-credit.csv)
- on dmaster, Contributions > Import
- upload the CSV file, leave the rest as-it
- in field mappings, make sure to...To reproduce:
- use this CSV file: [test-soft-credit.csv](/uploads/742ab3a01099b5de3ef33325e3686b54/test-soft-credit.csv)
- on dmaster, Contributions > Import
- upload the CSV file, leave the rest as-it
- in field mappings, make sure to select the Soft-Credit ID:
![image](/uploads/467e87e54fd398c5b9756c4acb368341/image.png)
Then run the import, it will be stuck like this:
![image](/uploads/33a5f7b713efdf7629a2e85ade6c3e73/image.png)
Fatal error:
```
Argument 2 passed to CRM_Import_Parser::getContactID() must be of the type int or null, string given, called in
CRM/Contribute/Import/Parser/Contribution.php on line 443 in CRM_Import_Parser->getContactID()
(line 2321 of CRM/Import/Parser.php).
```
I worked around it by adding an "if not empty" clause around that code:
```
$softCreditParams = [];
foreach ($params['SoftCreditContact'] ?? [] as $index => $softCreditContact) {
if (!empty($softCreditContact['Contact']['id'])) {
$softCreditParams[$index]['soft_credit_type_id'] = $softCreditContact['soft_credit_type_id'];
$softCreditParams[$index]['contact_id'] = $this->getContactID($softCreditContact['Contact'], $softCreditContact['Contact']['id'] ?? NULL, 'SoftCreditContact', $this->getDedupeRulesForEntity('SoftCreditContact'));
if (empty($softCreditParams[$index]['contact_id']) && in_array($this->getActionForEntity('SoftCreditContact'), ['update', 'select'])) {
throw new CRM_Core_Exception(ts('Soft Credit Contact not found'));
}
}
}
```
but this looks a bit fishy to me.5.59.3https://lab.civicrm.org/dev/core/-/issues/4161Regression: Visiting contribution page while logged in and CiviMember is disa...2023-03-07T05:54:51ZJonGoldRegression: Visiting contribution page while logged in and CiviMember is disabled causes a fatal error.Overview
----------------------------------------
This one is my fault. PR is https://github.com/civicrm/civicrm-core/pull/25729.
Reproduction steps
----------------------------------------
1. Disable CiviMember.
1. Visit a contributio...Overview
----------------------------------------
This one is my fault. PR is https://github.com/civicrm/civicrm-core/pull/25729.
Reproduction steps
----------------------------------------
1. Disable CiviMember.
1. Visit a contribution page whilel logged in.
Current behaviour
----------------------------------------
```
Civi\API\Exception\NotImplementedException: Membership API is not available because CiviMember component is disabled in /home/jon/local/mysite/web/wp-content/plugins/civicrm/civicrm/Civi/Api4/Generic/AbstractAction.php on line 454
```
Expected behaviour
----------------------------------------
No fatal error.
Comments
----------------------------------------
I replaced code that used the BAO to look up membership info with a call to a shared function that uses API4. However, API4 will throw an error if you access a disabled entity.5.59.1JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/4158New PaypalPro Recurring Payments (PPRP) creating duplicate contributions and ...2023-03-11T01:16:48ZStoobNew PaypalPro Recurring Payments (PPRP) creating duplicate contributions and inaccurate statusPaypal Recurring Payments Pro (aka PPRP) seems to be having an issue introduced somewhere between 5.49 and 5.57. 5.58 hasn't fixed it.
The issue has two incorrect behaviors:
1. creates duplicate Contributions (both status Completed) ...Paypal Recurring Payments Pro (aka PPRP) seems to be having an issue introduced somewhere between 5.49 and 5.57. 5.58 hasn't fixed it.
The issue has two incorrect behaviors:
1. creates duplicate Contributions (both status Completed) and sends two email receipts when the Recurring Plan (In Progress) is created successfully. One Contribution contains the Invoice ID and the other contains the Transaction ID. On the Paypal side there is only one payment and only one recurring plan.
2. if the credit card fails, the recurring plan and a _single_ Contribution are created in Civi with incorrect status. The Contribution has an Invoice ID but no Transaction ID. The recurring plan exists at Paypal but isn't active at Paypal. No transaction exists at Paypal.
@JonGold because we have talked about other Paypal Pro issues recently I'm looping you in
@eileen because of https://github.com/civicrm/civicrm-core/commit/ba2fb5afa3aa403467ae4934731684cc51bc830d I'm asking you please if your commit may be related
We have done the following testing
- identified that Paypal Standard doesn't have the same problem
- removed custom php code, tpl, and extensions that might have been interfering
Because of the sensitive nature of the donor data I haven't posted any screenshots, but we have several examples to show privately to those interested in helping fix. Bounty and/or consulting $ are available for discussion.5.59.2https://lab.civicrm.org/dev/core/-/issues/4156Individual's Employer and Membership by Relationship Are Not Updated After Me...2023-05-18T21:54:45ZLKuttnerIndividual's Employer and Membership by Relationship Are Not Updated After Merging Their OrganizationAfter merging duplicate organizations where the retained record has an updated organization name, the Employer field of employees keeps the organization name of the deleted duplicate record and the current membership by relationship is n...After merging duplicate organizations where the retained record has an updated organization name, the Employer field of employees keeps the organization name of the deleted duplicate record and the current membership by relationship is not applied. In most cases, the Employer name from the deleted record is displayed on the Summary page, though occasionally the field will be blank. In the blank field situation, when we click Edit Info, the quick edit dialog displays the Employer name from the current record relationship, however after clicking Save, the Employer field does not update and remains blank in the Summary.
To get the current employer and membership to apply, we need to view each existing relationship and click Save, though we do not need to actually change anything. After doing that, the Employer field and the memberships by relationship are updated. This behavior is different from what we experienced in the years prior to updating to CiviCRM 5.55.1 and requires much manual checking and updating. We are on Drupal 7.9.2. Thank you for any insight into this.5.61.0https://lab.civicrm.org/dev/core/-/issues/41555.59 upgrade brings down entire site if multilingual is enabled2023-03-07T05:52:57ZJonGold5.59 upgrade brings down entire site if multilingual is enabledTo replicate, have a Civi 5.58 site, enable multilingual, and upgrade to 5.59.
You'll start seeing WSODs with `DB Error: -32`. My further research found `ERROR 1054 (42S22): Unknown column 'nasco_dev_civi.civicrm_custom_field.mask' in '...To replicate, have a Civi 5.58 site, enable multilingual, and upgrade to 5.59.
You'll start seeing WSODs with `DB Error: -32`. My further research found `ERROR 1054 (42S22): Unknown column 'nasco_dev_civi.civicrm_custom_field.mask' in 'field list'`.
Because the custom field table is multilingual-enabled, and the multilingual views seem to not be rebuilt (or rebuilt after the `mask` column is dropped), the views reference a non-existent field and everything stops working.
For folks who already upgraded and are in this situation, you have some options:
If you can run API commands from the command line, you can run `System.rebuildmultilingualschema`, e.g.:
```
cv api System.rebuildmultilingualschema
drush cvapi System.rebuildmultilingualschema
wp civicrm api System.rebuildmultilingualschema
```
NOTE: The above approach worked temporarily for me, but then stopped working. However, I'm not sure if my further testing affected this.
This second approach is less well-tested, but you made a backup before you upgraded...right? If not, back up now:
* Identify the views associated with `civicrm_custom_field` - e.g. `civicrm_custom_field_en_US`, `civicrm_custom_field_es_MX`, etc.
* Run the following commands once per language you have installed. In this command, I'm fixing `_en_US`. Run this once per language, doing a search/replace on the text below to change out `en_US` for your languages. E.g. I have `en_US` and `es_MX`, so I ran this once unmodified, then did a search/replace for `en_US` to `es_MX`.
```
DROP VIEW civicrm_custom_field_en_US;
CREATE VIEW `civicrm_custom_field_en_US` AS select `civicrm_custom_field`.`id` AS `id`,`civicrm_custom_field`.`custom_group_id` AS `custom_group_id`,`civicrm_custom_field`.`name` AS `name`,`civicrm_custom_field`.`data_type` AS `data_type`,`civicrm_custom_field`.`html_type` AS `html_type`,`civicrm_custom_field`.`default_value` AS `default_value`,`civicrm_custom_field`.`is_required` AS `is_required`,`civicrm_custom_field`.`is_searchable` AS `is_searchable`,`civicrm_custom_field`.`is_search_range` AS `is_search_range`,`civicrm_custom_field`.`weight` AS `weight`,`civicrm_custom_field`.`attributes` AS `attributes`,`civicrm_custom_field`.`javascript` AS `javascript`,`civicrm_custom_field`.`is_active` AS `is_active`,`civicrm_custom_field`.`is_view` AS `is_view`,`civicrm_custom_field`.`options_per_line` AS `options_per_line`,`civicrm_custom_field`.`text_length` AS `text_length`,`civicrm_custom_field`.`start_date_years` AS `start_date_years`,`civicrm_custom_field`.`end_date_years` AS `end_date_years`,`civicrm_custom_field`.`date_format` AS `date_format`,`civicrm_custom_field`.`time_format` AS `time_format`,`civicrm_custom_field`.`note_columns` AS `note_columns`,`civicrm_custom_field`.`note_rows` AS `note_rows`,`civicrm_custom_field`.`column_name` AS `column_name`,`civicrm_custom_field`.`option_group_id` AS `option_group_id`,`civicrm_custom_field`.`filter` AS `filter`,`civicrm_custom_field`.`in_selector` AS `in_selector`,`civicrm_custom_field`.`serialize` AS `serialize`,`civicrm_custom_field`.`label_en_US` AS `label`,`civicrm_custom_field`.`help_pre_en_US` AS `help_pre`,`civicrm_custom_field`.`help_post_en_US` AS `help_post` from `civicrm_custom_field`
```5.59.1https://lab.civicrm.org/dev/core/-/issues/4147When using PHP 8.1, the Contact token for the Address State / Province field ...2023-03-03T04:47:08Zjustinfreeman (Agileware)When using PHP 8.1, the Contact token for the Address State / Province field returns no value when used in Message Templates. Works fine on PHP 7.4When using PHP 8.1, the Contact token for the Address **State / Province** field returns no value when used in Message Templates. Works fine on PHP 7.4.
These are the tokens that return no value:
```{contact.address_primary.state_provi...When using PHP 8.1, the Contact token for the Address **State / Province** field returns no value when used in Message Templates. Works fine on PHP 7.4.
These are the tokens that return no value:
```{contact.address_primary.state_province_id:abbr}```
```{contact.state_province}```
Other Contact tokens for contact fields and address return a value correctly.
Agileware Ref: CIVICRM-2102