CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2023-09-02T05:11:56Zhttps://lab.civicrm.org/dev/core/-/issues/4498Non-administrators can't select mailing groups on 5.642023-09-02T05:11:56ZJonGoldNon-administrators can't select mailing groups on 5.64Non-administrators get a "loading failed" when attempting to use the new mailing widgets in 5.64. Network tab shows a 403 error, backtrace is below.
As a secondary issue - I assume that the `{error_id}` in the first line is a token tha...Non-administrators get a "loading failed" when attempting to use the new mailing widgets in 5.64. Network tab shows a 403 error, backtrace is below.
As a secondary issue - I assume that the `{error_id}` in the first line is a token that's not resolving.
You can replicate this by removing "Administer CiviCRM" from a demo site's `civicrm_webtest_user` role, since they have most other permissions. Create a new user, assign it that role.
```
Aug 14 13:52:03 [debug] AJAX Error ({error_id}): failed with exception
Array
(
[error_id] => 4tEY-xebR-Pf4L
[exception] => Civi\API\Exception\UnauthorizedException: "Authorization failed"
#0 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/API/Kernel.php(149): Civi\API\Kernel->authorize()
#1 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Generic/AbstractAction.php(249): Civi\API\Kernel->runRequest()
#2 /var/www/mysite.org/web/sites/all/modules/civicrm/api/api.php(85): Civi\Api4\Generic\AbstractAction->execute()
#3 /var/www/mysite.org/web/sites/all/modules/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/Run.php(107): civicrm_api4()
#4 /var/www/mysite.org/web/sites/all/modules/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php(107): Civi\Api4\Action\SearchDisplay\Run->processResult()
#5 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Provider/ActionObjectProvider.php(72): Civi\Api4\Action\SearchDisplay\AbstractRunAction->_run()
#6 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/API/Kernel.php(158): Civi\Api4\Provider\ActionObjectProvider->invoke()
#7 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Generic/AbstractAction.php(249): Civi\API\Kernel->runRequest()
#8 /var/www/mysite.org/web/sites/all/modules/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php(83): Civi\Api4\Generic\AbstractAction->execute()
#9 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Generic/AutocompleteAction.php(183): Civi\Api4\Action\SearchDisplay\AbstractRunAction->execute()
#10 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Provider/ActionObjectProvider.php(72): Civi\Api4\Generic\AutocompleteAction->_run()
#11 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/API/Kernel.php(158): Civi\Api4\Provider\ActionObjectProvider->invoke()
#12 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Api4/Generic/AbstractAction.php(249): Civi\API\Kernel->runRequest()
#13 /var/www/mysite.org/web/sites/all/modules/civicrm/api/api.php(85): Civi\Api4\Generic\AbstractAction->execute()
#14 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Api4/Page/AJAX.php(116): civicrm_api4()
#15 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Api4/Page/AJAX.php(55): CRM_Api4_Page_AJAX->execute()
#16 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(319): CRM_Api4_Page_AJAX->run()
#17 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem()
#18 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke()
#19 /var/www/mysite.org/web/sites/all/modules/civicrm/drupal/civicrm.module(471): CRM_Core_Invoke::invoke()
#20 /var/www/mysite.org/web/includes/menu.inc(527): civicrm_invoke()
#21 /var/www/mysite.org/web/index.php(21): menu_execute_active_handler()
#22 {main}
```5.64.1https://lab.civicrm.org/dev/core/-/issues/2178Cannot manually add contacts immediately after group creation2020-11-20T00:02:45ZandrewcormickdockeryCannot manually add contacts immediately after group creationOverview
----------------------------------------
In Civi 5.31.0, there is difficulty in assigning contacts immediately after a static group creation. This is a regression compared to Civi 5.28.3 (I haven't tested later versions of Civi...Overview
----------------------------------------
In Civi 5.31.0, there is difficulty in assigning contacts immediately after a static group creation. This is a regression compared to Civi 5.28.3 (I haven't tested later versions of Civi than this).
Reproduction steps
----------------------------------------
1. Contacts/New Group, add name, set group type as mailing list, save.
2. Add contacts to group, choose name to find, ensure results have about 10 entries or so.
3. Select all contacts, add. No contacts added. Strange formatting on messages.
Current behaviour
----------------------------------------
Contacts not added to group. Strange formatting in messages, see images.
![image](/uploads/42a94da16ced4f9b6397133cd4b3a4b7/image.png)
![image](/uploads/90ac3eff22ecc5fff1ba4daa3133a99c/image.png)
Note that contacts can still be added to static groups in other ways, I have noticed this problem specifically with the "add contact" screen shown immediately after creating the static group.
Expected behaviour
----------------------------------------
Contacts should be added to the group as indicated by the user.
Environment information
----------------------------------------
* __CiviCRM:__ _5.31.0_
* __PHP:__ _7.3_
* __CMS:__ _Drupal 7.73_
* __Database:__ _MariaDB 10.3.20_
* __Web Server:__ _Nginx 1.10.3_5.31.1https://lab.civicrm.org/dev/core/-/issues/2035Invoice no longer displays amount paid/due2020-09-28T22:47:08ZlcdwebInvoice no longer displays amount paid/dueIt appears the PDF invoice no longer displays the amount paid or due. I'm not sure if this is a regression in 5.29.0 or earlier, but it definitely is in a recent release.
To reproduce, enable invoicing (Administer > CiviContribute > Civ...It appears the PDF invoice no longer displays the amount paid or due. I'm not sure if this is a regression in 5.29.0 or earlier, but it definitely is in a recent release.
To reproduce, enable invoicing (Administer > CiviContribute > CiviContribute Component Settings), view an completed contribution and generate an invoice. It previously would include the amount paid and balance due. See screenshot sample.
![9-15-2020_12-10-09_PM](/uploads/0be08c217b658a1886c73bbb12d3f922/9-15-2020_12-10-09_PM.png)5.30.0https://lab.civicrm.org/dev/core/-/issues/1865Mailing URLs using extern are adding query string in Joomla and WP2020-07-13T08:55:34ZkcristianoMailing URLs using extern are adding query string in Joomla and WPStarting in CiviCRM 5.27 mailing URLs using extern/url.php in both Joomla and WP are adding a query string to the destination URL. This issue is also in 5.28RC and latest master.
Steps to reproduce:
- Create a mailing
- Ensure Track C...Starting in CiviCRM 5.27 mailing URLs using extern/url.php in both Joomla and WP are adding a query string to the destination URL. This issue is also in 5.28RC and latest master.
Steps to reproduce:
- Create a mailing
- Ensure Track Click Throughs and Track Opens are selected
- Create a link to an external site such as startpage.com
- Send Mailing
- In Email Link is `http://joomla.test/index.php?option=com_civicrm&task=civicrm/mailing/url&u=11&qid=6` on Joomla and either `https://wplatest.test/civicrm/mailing/url/?u=4&qid=10` or `https://wplatest.test/civicrm?civiwp=CiviCRM&q=civicrm/mailing/url&u=129&qid=88` on WP (depending on Clean URLs being enabled or disabled
- Resultant URL you are taken to is:
- Joomla: `https://startpage.com/?option=com_civicrm`
- WP (With or without CleanURLs): `https://startpage.com/?civiwp=CiviCRM`
Drupal 7 is fine, as well as WP if you are bypassing the extern routing and using the WP REST API instead.
Internal links resolve fine as these are not tracked.
I have not found a case where `?option=com_civicrm` or `?civiwp=CiviCRM` has broken a link, but I imagine it could.
I have not tested Drupal 8 or backdrop.
I tested on CiviCRM 5.26.2 and the destination URLs were 'clean' with no query string so I am marking ths as a regression.5.27.2https://lab.civicrm.org/dev/core/-/issues/1651Inline editing not working on admin option value-like screens2020-03-16T07:45:26ZDaveDInline editing not working on admin option value-like screensFor example the Financial Types screen, or the custom fields screen, or the phone types screen.
It's because of a malformed resource path and is related to the path changes in 5.23 or thereabouts. It's working in 5.20.0.
The url it's t...For example the Financial Types screen, or the custom fields screen, or the phone types screen.
It's because of a malformed resource path and is related to the path changes in 5.23 or thereabouts. It's working in 5.20.0.
The url it's trying to load is /sites/all/modules/civicrm/**packagesjquery**/plugins/jquery.jeditable.min.js?r=pIGHv
Seems to be coming from here: https://github.com/civicrm/civicrm-core/commit/3130950c51d3ceadc913495e8dc52125bb22503e#diff-db0ac48007cde9731cada1cf69334517
----
(EDIT) The regression specifically arose in 5.23.1. The content of variable `packagesBase` changed to lose its trailing `/`, which in turn breaks three things:
1. Inline editing (*loading key Javascript file*)
2. Profile editor (*loading related CSS file*)
3. CKEditor <=> KCFinder Integration (*linking to file-manager end-point*)
https://lab.civicrm.org/dev/core/-/issues/1595Dedupe rules don't work with custom fields2020-02-18T19:55:08ZCésarDedupe rules don't work with custom fieldsOverview
----------------------------------------
Dedupe rules don't work with custom fields in versions of CiviCRM 5.21 and greater.
Reproduction steps
----------------------------------------
1. Create new rule with any custom field o...Overview
----------------------------------------
Dedupe rules don't work with custom fields in versions of CiviCRM 5.21 and greater.
Reproduction steps
----------------------------------------
1. Create new rule with any custom field of contact
2. Click to use rule
3. In next step (Find and Merge Duplicate Contacts) click to continue
4. Drupal show error: "The website encountered an unexpected error. Please try again later"
5. Dedupe rule tested in webforms and show same error.
Current behaviour
----------------------------------------
![issue_dmaster](/uploads/9b93f2e8d6c465e8fe75a0a60e1e74b0/issue_dmaster.gif)
* Error Log:
```
TypeError: Argument 1 passed to civicrm_api3() must be of the type string, null given, called in civicrm/CRM/Dedupe/BAO/Rule.php on line 62 in civicrm_api3() (line 84 of civicrm/api/api.php).
```
Environment information
----------------------------------------
Tested in dmaster and other versions with Drupal: 5.21.2 and 5.22.0
Comments
----------------------------------------
Error has been reported here: https://civicrm.stackexchange.com/questions/34228/issue-field-dedupe-0-argument-1-passed-to5.22.1https://lab.civicrm.org/dev/core/-/issues/943When creating a new activity, it double-creates the activity (5.12+)2021-03-22T11:50:00ZtottenWhen creating a new activity, it double-creates the activity (5.12+)Steps to reproduce:
* __Variations__: (a.1) Open site in Chrome; (a.2) Open site in Firefox
* In "Admin => Display Pref", enable AJAX forms. (This is the default.)
* Navigate to "View Contact" for some contact record
* Choose "Actions =...Steps to reproduce:
* __Variations__: (a.1) Open site in Chrome; (a.2) Open site in Firefox
* In "Admin => Display Pref", enable AJAX forms. (This is the default.)
* Navigate to "View Contact" for some contact record
* Choose "Actions => Meeting"
* In the dialog, enter a "Subject"
* __Variations__: (b.1) Use the mouse-pointer to click the "Save" button; (b.2) Press "Enter" to submit.
* __Observe__: The dialog will close. One activity *should* be created. However, depending on the variation of procedure and the revision of code, there may be two activities created.
Additional notes:
* Observed on 5.12, 5.13, and master using `drupal-clean` build type. But 5.11 seemed OK.
* At first, it seemed a bit random - so one may need to retry a couple times to reproduce it. However, I think I've narrowed it down:
* The problem *does* manifest if you submit the AJAX form by using the mouse-pointer to click the "Save" button
* The problem does *not* manifest if you submit the AJAX form by using the keyboard to press "Enter".
* The problem does *not* manifest with traditional/non-AJAX/full-page forms.
* On 5.12, reverting https://github.com/civicrm/civicrm-core/pull/13342/ fixes the issue. (I've not yet tried reverting on 5.13 or master.)
* (*Note: Should re-check this. At the time when this was tested, I hadn't figured out that it was appropriate to control for keyboard "Enter" versus mouse "Save".*)
* On 5.13, applying https://github.com/civicrm/civicrm-core/pull/14196/commits/0b35176b3eaef3710d40b3c6ab7a0ff83eaf722b or
https://github.com/civicrm/civicrm-core/commit/bd756b532fae718ed3516ec49d7baf914acc0a56 does not produce better errors or fix the issue. (So I think they're dealing with a different aspect of submitOnce)
Related history: There have been several patches/issues in this space in recent months. Here's a snapshot at the time of writing:
* **Make submitOnce() button js into a button parameter** (no gitlab)
* [(PR 13333)](https://github.com/civicrm/civicrm-core/pull/13333) **Make submitOnce() button js into a button parameter** (Dec 20 - Feb 7) (*First Published: 5.12.0*)
* [(PR 13342)](https://github.com/civicrm/civicrm-core/pull/13342) **Remove activitystatus js. Add submitOnce handler for activity create** (Dec 21 - Feb 11) (*First Published: 5.12.0*)
* [(dev/core#903)](https://lab.civicrm.org/dev/core/issues/903) **When adding activity, a double click submits twice** (Apr 26-29) (*Closed dupe as resolved ^^^*)
* [(dev/core#904)](https://lab.civicrm.org/dev/core/issues/904) **PR 13333 breaks the Save and New button on a new case**
* [(PR 14145)](https://github.com/civicrm/civicrm-core/pull/14145) **undo part of 13333** (Apr 26-29) (*First published: 5.13.0*)
* [(dev/core#914)](https://lab.civicrm.org/dev/core/issues/914) **submitOnce revisited** (Apr 29-now)
* [(PR 14196)](https://github.com/civicrm/civicrm-core/pull/14196) **avoid multiple submitOnce buttons until better way** (May 1-now) (*Not yet merged*)5.14.1https://lab.civicrm.org/dev/core/-/issues/5051Setting a default membership type in a contribution page has no effect2024-03-05T19:37:44ZUpperholmeSetting a default membership type in a contribution page has no effectRunning 5.70.1 and setting up a new contribution page as a membership sign-up form. I want the membership type to be pre-selected for users viewing the form (I am only offering one membership type on this form), so I tick the desired mem...Running 5.70.1 and setting up a new contribution page as a membership sign-up form. I want the membership type to be pre-selected for users viewing the form (I am only offering one membership type on this form), so I tick the desired membership type and set it as the default option in the form configuration (as an aside it seems to be the case that once a default is set it can't be unset).
However, when viewing the resulting form the membership type is not selected. I've checked and confirmed this behaviour on the wpmaster demo site.5.71.0https://lab.civicrm.org/dev/core/-/issues/5014Disabling premiums doesn't disable premiums2024-02-18T22:06:03ZJonGoldDisabling premiums doesn't disable premiumsIf you uncheck the **Premiums Section Enabled** checkbox on a contribution page, the premiums don't go away.
Replication steps and a fix available at https://github.com/civicrm/civicrm-core/pull/29420.If you uncheck the **Premiums Section Enabled** checkbox on a contribution page, the premiums don't go away.
Replication steps and a fix available at https://github.com/civicrm/civicrm-core/pull/29420.5.70.1JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/4841Unable to send bulk mail from SearchKit search page results, 'send test' and ...2024-01-05T03:42:46Zfreeform.stephUnable to send bulk mail from SearchKit search page results, 'send test' and 'next' buttons remain greyed-outOverview
----------------------------------------
There appears to be an issue with inconsistent (or broken) use of required tokens feature between mailings sent from a core search versus from SearchKit results. As a result:
1. When atte...Overview
----------------------------------------
There appears to be an issue with inconsistent (or broken) use of required tokens feature between mailings sent from a core search versus from SearchKit results. As a result:
1. When attempting to send from the results of a SearchKit search: the 'send test' and 'next' buttons remain greyed-out whether you do or do not include the required address and unsubscribe links
2. This happens even when the option to not require these tokens is set in the system settings
3. When attempting to send from the results of a regular search page it will allow you to send even if the tokens are set as required but not included in your message
Reproduction steps
----------------------------------------
* (issue 1) Create a custom search using search kit, select some results, choose action "Email - schedule/send via CiviMail", include all required elements and you'll see you're stuck
* (issue 2) go to Administer>CiviMail/CiviMail Component Settings and select "Disable check for mandatory tokens"; repeat step 1, same result
* (issue 3) Ensure mandatory tokens are enabled; use Search>Find Contacts, choose action "Email - schedule/send via CiviMail", do not include the tokens in your mailing and you'll see you can still proceed without getting an error (if you save the draft and then continue your draft it will work as expected)
Current behaviour
----------------------------------------
Unable to send mail from results of a SearchKit page; mail from a core search allows sending messages with missing tokens.
Environment information
----------------------------------------
* __Browser:__ Chrome 119.0.6045.199
* __CiviCRM:__ 5.66.2, 5.69.alpha1 (https://dmaster.demo.civicrm.org/)
* __PHP:__ 8.1
* __CMS:__ Drupal 7 (I believe I also tested on Drupal 10)
Comments
----------------------------------------
Workaround for issue 1 - if you save your draft and then clone your mailing, the clone works as expected5.69.0seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/4775CiviCRM 5.67.0, Scheduled Job, fetch_bounces - CiviCRM does not process the e...2023-12-08T19:40:28Zjustinfreeman (Agileware)CiviCRM 5.67.0, Scheduled Job, fetch_bounces - CiviCRM does not process the email sent to the unsubscribe email address; contact is not unsubscribedCiviCRM 5.67.0, Scheduled Job, fetch_bounces - CiviCRM does not process the email sent to the unsubscribe email address; contact is not unsubscribed.
Problem occurs when VERP is enabled on the CiviCRM site. Untested when VERP is disabl...CiviCRM 5.67.0, Scheduled Job, fetch_bounces - CiviCRM does not process the email sent to the unsubscribe email address; contact is not unsubscribed.
Problem occurs when VERP is enabled on the CiviCRM site. Untested when VERP is disabled.
When is_create_activities=1 then the email is processed by CiviCRM, but the contact is still not unsubscribed.
Similar to https://lab.civicrm.org/dev/core/-/issues/2801
Agileware Ref: CIVICRM-2193
CiviCRM 5.67.0https://lab.civicrm.org/dev/core/-/issues/4706Event Custom Field Overwrite2023-10-19T23:02:35ZguyiacEvent Custom Field Overwrite## Overview
_Please describe your problem or bug in detail._
On custom fields for Events, if you save the record, then leave, then come back in, the custom data doesn't show up in the UI but actually is in the database. Even worse, if ...## Overview
_Please describe your problem or bug in detail._
On custom fields for Events, if you save the record, then leave, then come back in, the custom data doesn't show up in the UI but actually is in the database. Even worse, if you save that record again, the blank fields in the UI overwrite the data in the database. So if you go in to edit the event, and don't notice the blank custom fields, when you save, you will overwrite the custom data and not even know it.
I first noticed this on a client site in WP on 5.66.0, and have confirmed it on wpmaster and d7master on 5.68.alpha1. It doesn't appear to happen on contacts, but I didn't test any other entities.
https://chat.civicrm.org/civicrm/pl/q6jpjss4x7byiqkejar1nbhxkw
## Reproduction steps
## Current behaviour
_What happens currently. Please provide error messages, screenshots or gifs (_[_LICEcap_](http://www.cockos.com/licecap/)_, _[_SilentCast_](https://github.com/colinkeenan/silentcast)_) where appropriate._
```plaintext
```
## Expected behaviour
## Environment information
* **Browser:** _recent chrome and firefox_
* **CiviCRM:** _d7 and wp master 5.68.alpha1, wp 5.66.0_
* **PHP:** 8.1
* **CMS:** _wp and d7_
* **Database:** _MySQL 5_
* **Web Server:** _not sure_
## Comments
_Anything else you would like the reviewer to note._https://lab.civicrm.org/dev/core/-/issues/4551Single quote in "public" event page title throws smarty error on receipt2023-09-19T14:02:11ZelilisseckSingle quote in "public" event page title throws smarty error on receiptOverview
----------------------------------------
Reproduced on a blank 5.64.2 buildkit site. If a contribution page has a single quote in the title, is set to "is_share", and has receipts on, a user registering will receive this gross m...Overview
----------------------------------------
Reproduced on a blank 5.64.2 buildkit site. If a contribution page has a single quote in the title, is set to "is_share", and has receipts on, a user registering will receive this gross message during the registration process:
![image](/uploads/e105ff57ae8d9ea64bf4d30b81f08b35/image.png)
Reproduction steps
----------------------------------------
1. On 5.64.0+ add (or edit) an event page to have a single quote in the page title such as `What's a quote doing here`
2. Check off "is_share" and turn on receipt emails.
3. Run through a registration on the front-end to observe the issue.
Comments
----------------------------------------
It looks like maybe this commit introduced this but it's hard to follow: https://github.com/civicrm/civicrm-core/commit/e90b263a9ccd7c8106c98f5f7f82d4b267820f43#diff-2652c5ed241e0c2a68dc79d97ce2b6056ad2bc8ce37aee9bce8dd69678a160a8L167
Either way the issue is coming from this line in the workflow message template `{include file="CRM/common/SocialNetwork.tpl" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}` where the event title needs to have single quotes escaped or something of that nature to make it through smarty.5.65.0https://lab.civicrm.org/dev/core/-/issues/4538Error "There might be a data problem, contribution id could not be loaded fro...2023-09-07T22:24:30ZBjörn EndresError "There might be a data problem, contribution id could not be loaded from the line item" - Part 2We are getting the "There might be a data problem, contribution id could not be loaded from the line item" message with certain line items in our `5.64.0` installation.
It looks like the system assumes that a line item should _always_ h...We are getting the "There might be a data problem, contribution id could not be loaded from the line item" message with certain line items in our `5.64.0` installation.
It looks like the system assumes that a line item should _always_ have a contribution linked to it. That however, might not always be the case - in our setup we have two scenarios:
* Event registrations without registration fee
* Line items after a contribution was deleted
**Remark**: Despite the title, this is a different from #4441.https://lab.civicrm.org/dev/core/-/issues/4523Regression: Unable to set price set on contribution page under membership page2023-09-02T05:12:00ZPradeep Nayakpradpnayak@gmail.comRegression: Unable to set price set on contribution page under membership pageReplicate:
1. Create price set for membership.
2. Add contribution page.
3. Do not enable contribution amount section
4. Enable Membership, set to the price set created at step 1.
Expected results:
Set the price set on contribution pa...Replicate:
1. Create price set for membership.
2. Add contribution page.
3. Do not enable contribution amount section
4. Enable Membership, set to the price set created at step 1.
Expected results:
Set the price set on contribution page
Actual results:
Validation error- You cannot enable both Membership Signup and a Contribution Price Set on the same online contribution page.
Regression from:
https://github.com/civicrm/civicrm-core/pull/27083
https://github.com/civicrm/civicrm-core/pull/27079
https://github.com/civicrm/civicrm-core/pull/27080https://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/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-2102https://lab.civicrm.org/dev/core/-/issues/4116Unreleased regression: Dropping `mask` column with advanced logging breaks up...2023-03-02T15:06:05ZJonGoldUnreleased regression: Dropping `mask` column with advanced logging breaks upgradeshttps://github.com/civicrm/civicrm-core/pull/25396 drops the `mask` column from the CustomField entity. However, it seems that unlike `addColumn`, where we can wait until the upgrade is completed to change the log table schemas and rebu...https://github.com/civicrm/civicrm-core/pull/25396 drops the `mask` column from the CustomField entity. However, it seems that unlike `addColumn`, where we can wait until the upgrade is completed to change the log table schemas and rebuild the triggers, in the case of `dropColumn` we need to do so immediately.5.59.0https://lab.civicrm.org/dev/core/-/issues/4069Broken event confirmation emails with multiple participants and external paym...2023-01-15T23:27:12ZJKingsnorthBroken event confirmation emails with multiple participants and external payment gateways (contribution.sendconfirmation)Raised on StackExchange here: https://civicrm.stackexchange.com/questions/34004/event-email-receipt-doesnt-have-the-profile-information
We have also hit this issue.
This is an old regression from late 2019 by the looks of it.
When boo...Raised on StackExchange here: https://civicrm.stackexchange.com/questions/34004/event-email-receipt-doesnt-have-the-profile-information
We have also hit this issue.
This is an old regression from late 2019 by the looks of it.
When booking on to an event with multiple participants (ie lead booker and a guest), and using an external payment gateway using IPN, the confirmation email is missing the total amount, and all of the participant information.
Actual: [image](/uploads/b55b515da0be99cc4806c4f0cc3a3b96/image.png)
Expected: [image](/uploads/60ff3fdfc56fc6dc7765210628870ae4/image.png)
Another way to recreate this issue is to call the contribution.sendconfirmation API on any contribution record linked to a lead booker that has additional participants.
IPN-based payment gateways call completetransaction API, which in turn calls the sendconfirmation API, which explains.
---
Tracking through the code, it looks like the sendconfirmation API call only has the participant information for the 'last' participant ID associated with the booking?
It looks like @eileen you've been doing some refactoring in this area (rightly so - it looks like a bit of a swamp!).
I'm struggling to track down exactly where the issue is coming from.