Development issueshttps://lab.civicrm.org/groups/dev/-/issues2021-08-31T21:40:26Zhttps://lab.civicrm.org/dev/core/-/issues/2807Contribution thank-you letters give Undefined index: contribution when you do...2021-08-31T21:40:26ZDaveDContribution thank-you letters give Undefined index: contribution when you don't have any contribution tokens in the message1. Search for contributions.
1. From actions choose thank-you letter.
1. Don't use any contribution tokens in the message.
```
0 ...\CRM\Contribute\BAO\Contribution.php(5121): "Undefined index: contribution"
1 ...\CRM\Contribute\Form\Ta...1. Search for contributions.
1. From actions choose thank-you letter.
1. Don't use any contribution tokens in the message.
```
0 ...\CRM\Contribute\BAO\Contribution.php(5121): "Undefined index: contribution"
1 ...\CRM\Contribute\Form\Task\PDFLetter.php(311): CRM_Contribute_BAO_Contribution::getContributionTokenValues("69", (Array:0))
2 ...\CRM\Contribute\Form\Task\PDFLetter.php(192): CRM_Contribute_Form_Task_PDFLetter->buildContributionArray(NULL, (Array:1), (Array:0), FALSE, FALSE, (Array:0), "CRM_Contribution_Form_Task_PDFLetterCommon", "****~~~~", FALSE)
3 ...\CRM\Core\Form.php(527): CRM_Contribute_Form_Task_PDFLetter->postProcess()
4 ...\CRM\Core\QuickForm\Action\Upload.php(152): CRM_Core_Form->mainProcess()
5 ...\CRM\Core\QuickForm\Action\Upload.php(119): CRM_Core_QuickForm_Action_Upload->realPerform(Object(CRM_Contribute_Form_Task_PDFLetter), "upload")
6 ...\packages\HTML\QuickForm\Controller.php(203): CRM_Core_QuickForm_Action_Upload->perform(Object(CRM_Contribute_Form_Task_PDFLetter), "upload")
7 ...\packages\HTML\QuickForm\Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contribute_Form_Task_PDFLetter), "upload")
8 ...\CRM\Core\Controller.php(352): HTML_QuickForm_Page->handle("upload")
9 ...\CRM\Core\Invoke.php(313): CRM_Core_Controller->run((Array:3), NULL)
10 ...\CRM\Core\Invoke.php(69): CRM_Core_Invoke::runItem((Array:14))
11 ...\CRM\Core\Invoke.php(36): CRM_Core_Invoke::_invoke((Array:3))
12 ...\drupal\civicrm.module(458): CRM_Core_Invoke::invoke((Array:3))
13 ...\includes\menu.inc(527): civicrm_invoke("contribute", "task")
14 ...\index.php(21): menu_execute_active_handler()
15 {main}
```5.41.0https://lab.civicrm.org/dev/core/-/issues/2806Contribution custom field tokens are duplicated in the dropdown2021-09-01T23:18:32ZDaveDContribution custom field tokens are duplicated in the dropdownAlso there are a bunch showing up that say "Machine name: xxx".
1. Make a custom field for contributions.
1. Do a search for contributions.
1. From the actions choose thank-you letters.
1. Look in the tokens dropdown. There's duplicates...Also there are a bunch showing up that say "Machine name: xxx".
1. Make a custom field for contributions.
1. Do a search for contributions.
1. From the actions choose thank-you letters.
1. Look in the tokens dropdown. There's duplicates for the custom field and some "Machine Name" entries.
The custom fields seems to be only in master but the machine name stuff is in 5.41.5.42.0https://lab.civicrm.org/dev/core/-/issues/2805Field transformations2023-09-27T05:03:14ZeileenField transformationsField transformation options for money field don't make sense
Rounding would make sense
![image](/uploads/3266f956bb062d11d3b574fc6ebad623/image.png)Field transformation options for money field don't make sense
Rounding would make sense
![image](/uploads/3266f956bb062d11d3b574fc6ebad623/image.png)https://lab.civicrm.org/dev/core/-/issues/2804Field transformations - Upper messes with option value result2023-09-15T05:03:24ZeileenField transformations - Upper messes with option value resultGender renders as 'Male' but if I use UPPER field transform it renders as 1
![image](/uploads/ed6906369628db8055b86f9396177213/image.png)Gender renders as 'Male' but if I use UPPER field transform it renders as 1
![image](/uploads/ed6906369628db8055b86f9396177213/image.png)https://lab.civicrm.org/dev/core/-/issues/2803Field transformations - not null2023-09-15T05:03:24ZeileenField transformations - not nullIn reviewing the updates in https://github.com/civicrm/civicrm-core/pull/21320 I feel that 'IS NULL' should be complemented by 'IS NOT NULL'
In this screen shot I feel people would want a yes, potentially, when marriage date is not null...In reviewing the updates in https://github.com/civicrm/civicrm-core/pull/21320 I feel that 'IS NULL' should be complemented by 'IS NOT NULL'
In this screen shot I feel people would want a yes, potentially, when marriage date is not null (& I guess no or blank if it is)
![image](/uploads/81a65afacf7a90375824aa653aae3f4b/image.png)https://lab.civicrm.org/dev/core/-/issues/2802Cancel button on email form gives validation errors2021-09-01T00:07:31ZDaveDCancel button on email form gives validation errors1. From the Contacts menu choose New Email.
2. Don't enter anything just click cancel.
3. => Validation errors.1. From the Contacts menu choose New Email.
2. Don't enter anything just click cancel.
3. => Validation errors.https://lab.civicrm.org/dev/core/-/issues/2801Scheduled Job, fetch_bounces with is_create_activities=1 parameter. CiviCRM d...2024-03-15T21:10:52Zjustinfreeman (Agileware)Scheduled Job, fetch_bounces with is_create_activities=1 parameter. CiviCRM does not unsubscribe a Contact when receiving an email to the verb unsubscribe email addressScheduled Job, fetch_bounces with is_create_activities=1 parameter. CiviCRM does not unsubscribe a Contact when receiving an email to the verb unsubscribe email address. As a result, **Contacts are not being unsubscribed when this reques...Scheduled Job, fetch_bounces with is_create_activities=1 parameter. CiviCRM does not unsubscribe a Contact when receiving an email to the verb unsubscribe email address. As a result, **Contacts are not being unsubscribed when this request is received via email**. This contravenes Australian Anti-Spam Law (Spam ACT 2003).
The current behaviour is that the Scheduled Job, fetch_bounces with is_create_activities=1 parameter creates a new Contact ("Unsubscribe" Contact) using the verb unsubscribe email address which is incorrect. An Inbound Email Activity is then created and associated with this new Contact. The Activity is created and assigned to the emailed Contact that should be unsubscribed.
The emailed Contact is not unsubscribed from the mailing list and no unsubscribe event is recorded. So further emails will be sent to this Contact, despite their explicit unsubscribe request.
The expected behaviour is that:
1. CiviCRM looks up the emailed Contact using the unsubscribe email address and then creates the Inbound Email Activity for that Contact. No new contact is required.
2. The Contact that should be unsubscribed from the mailing list.
Related https://lab.civicrm.org/dev/core/-/issues/2800
Agileware Ref: CIVICRM-1826
CiviCRM 5.40.1https://lab.civicrm.org/dev/core/-/issues/2800Scheduled Job, fetch_bounces with is_create_activities=1 parameter creates a ...2023-10-05T00:59:49Zjustinfreeman (Agileware)Scheduled Job, fetch_bounces with is_create_activities=1 parameter creates a new Contact using the Return-path email address which is incorrectScheduled Job, fetch_bounces with is_create_activities=1 parameter creates a new Contact ("Return-path" Contact) using the Return-path email address which is incorrect. An Inbound Email Activity is then created and associated with this n...Scheduled Job, fetch_bounces with is_create_activities=1 parameter creates a new Contact ("Return-path" Contact) using the Return-path email address which is incorrect. An Inbound Email Activity is then created and associated with this new Contact.
The expected behaviour is that CiviCRM looks up the **emailed Contact using the Return-path address** and then creates the Inbound Email Activity for that Contact. No new contact is required.
The impact of problem is that:
1. a lot of "Return-path" Contacts are created which confuses CiviCRM users, "who are these contacts? how did they get here? have we been hacked?"
2. a CiviCRM admin needs to manually read each Inbound Email Activity to figure out what contact it actually relates too
3. the "Return-path" Contacts need to be deleted as they serve no real purpose
4. this is a performance hit when sending out large mailings, as CiviCRM is also creating Contacts and Activities as bounce emails are processed.
It does appear that the emailed Contact is being correctly detected as bounced, as it appears in the bounced contacts report for the Mailing.
Possibly related to this documentation issue, https://lab.civicrm.org/documentation/docs/sysadmin/-/issues/217
Agileware Ref: CIVICRM-1778
CiviCRM 5.40.15.66.0https://lab.civicrm.org/dev/core/-/issues/2799Activity import: allow multivalue custom data2022-06-11T00:07:25ZMichael McAndrewActivity import: allow multivalue custom dataBefore: the current activity import does not allow the import of multi value custom data.
If I have a favourite primary colours field, I could not import a CSV with the a column for this field with the value `Red, Blue`. It would look f...Before: the current activity import does not allow the import of multi value custom data.
If I have a favourite primary colours field, I could not import a CSV with the a column for this field with the value `Red, Blue`. It would look for the entire string `Red, Blue` and complain that `Red, Blue` is not a primary colour.
After: we can now import multi value custom data using the comma as a separator.
The proposed patch explodes any _multi valued_ custom data fields on the `,` character.
Note that this does not stop people from using commas in labels of custom data fields. It just means that if people want to make use of the importer to import multi value custom data, they will need to ensure that their labels don't have any commas in them.
Saying the same thing again using some different words...
We are assuming that if people want to import multi value custom data then they will use a comma seperator to seperate fields and understand that any labels will not contain commas as a result.
This feel fairly reasonable to me.5.51.0https://lab.civicrm.org/dev/core/-/issues/2798activity import: better labels for custom fields2021-09-03T00:15:28ZMichael McAndrewactivity import: better labels for custom fieldsPreviously, in the activity import, the dropdown that allowed you to select the field that you want to map a csv column to did not include the custom group title when listing custom fields. This lead to a usability issue in data models w...Previously, in the activity import, the dropdown that allowed you to select the field that you want to map a csv column to did not include the custom group title when listing custom fields. This lead to a usability issue in data models where custom field titles are repeated across groups and there is no way of distinguishing these fields in the import UI.
With this patch, custom field group titles are prepended to field title like this: `Custom group title :: custom field title`.
This has the nice side effect that custom fields are grouped by custom group.
Also, it brings it inline with the behaviour of the contact import (win!)
See also https://github.com/eileenmcnaughton/nz.co.fuzion.csvimport/issues/37 for a similar issue fixed in the @eileen's csv api import extension.5.43.0https://lab.civicrm.org/dev/core/-/issues/2797Import: do not attempt to validate multivalue custom reference fields2021-08-31T08:24:58ZMichael McAndrewImport: do not attempt to validate multivalue custom reference fieldsThe importer validates the options submitted for all custom fields that allow multiple values ("checkboxes and multiselect", according to a code comment). It does this by checking for serialize=1 in the custom field definition and runnin...The importer validates the options submitted for all custom fields that allow multiple values ("checkboxes and multiselect", according to a code comment). It does this by checking for serialize=1 in the custom field definition and running a [validation routine](https://github.com/civicrm/civicrm-core/blob/master/CRM/Contact/Import/Parser/Contact.php#L1075-L1091).
However, we are now setting serialize = 1 for contact reference fields as part of work to allow multivalue contact reference fields. The validation routine is now being attempted on contact reference fields, but it is not designed for this type of field.
A simple solution (proposed) is to not attempt to run this validation routine on contact reference fields.5.42.0https://lab.civicrm.org/dev/core/-/issues/2794Sort order of userdashboard event listing2023-10-21T13:17:38Zmagnolia61Sort order of userdashboard event listingWhile in the event dashboard I understand the registered_date to be the sort order,
In the userdashboard tab for events a sort order by event startdate would be more logic.
I have been searching where this is configured, but could not f...While in the event dashboard I understand the registered_date to be the sort order,
In the userdashboard tab for events a sort order by event startdate would be more logic.
I have been searching where this is configured, but could not find it.
Basically I'm asking
1) if more people agree with the default sort order by event date
2) where to find a place to change the default sort order in the user dashboard tabhttps://lab.civicrm.org/dev/core/-/issues/2793Add REGEXP/NOT REGEXP operators to API42021-09-06T23:11:26ZPatrick Figelpfigel@greenpeace.orgAdd REGEXP/NOT REGEXP operators to API4We have a few SearchKit use-cases that require regular expressions in `where`, so it would be nice for API4 and SearchKit to support MySQL's `REGEXP` operator. I have a working patch to add this feature [here](https://github.com/civicrm/...We have a few SearchKit use-cases that require regular expressions in `where`, so it would be nice for API4 and SearchKit to support MySQL's `REGEXP` operator. I have a working patch to add this feature [here](https://github.com/civicrm/civicrm-core/pull/21288).
One detail I got stuck on is that for typical Civi deployments (i.e. using the default collation), MySQL's `REGEXP` is case-insensitive, which is not what you would usually expect when dealing with regular expressions. In Search Builder, where we also also offer the `REGEXP` operator, we've chosen to [force case-sensitivity via `BINARY`](https://github.com/civicrm/civicrm-core/pull/12364); I feel like while that might make sense for a user-facing component like Search Builder, it's not clear that this is the right default for a more low-level component like API4 - but you could make that argument for SearchKit, so it would be nice for API4 to at least support case-sensitivity when explicitly requested.
This could be done by making `REGEXP` a ternary operator where the last operand is roughly equivalent to `match_type` in [MySQL's `REGEXP_LIKE()`](https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-like)[^1]. Queries could look like:
```php
->addWhere('first_name', 'REGEXP', ['^A', 'c']) // case-sensitive
->addWhere('first_name', 'REGEXP', ['^A', 'i']) // case-insensitive
// optionally, also support the simpler notation
->addWhere('first_name', 'REGEXP', '^A']) // use defaults (i.e. rely on collation)
```
The above could be added after the fact in a backwards-compatible way, so adding the operator in the simpler version from my patch (and following the collation's case-sensitivity by default) would also be an option.
[^1]: `REGEXP_LIKE()` is only available in MySQL 8+, so initially we'd have to implement this using `BINARY` and only support the `c` value for the last operand. Once our minimum requirements are bumped to MySQL 8 (in a few decades :grimacing:), we could switch the implementation over to `REGEXP_LIKE()` and support other values.5.43.0https://lab.civicrm.org/dev/core/-/issues/2792MySQL limitation causes fatal error in managing custom fields and in viewing ...2023-09-17T05:03:16ZAllenShawMySQL limitation causes fatal error in managing custom fields and in viewing contacts; when custom group has more than 62 "is_searchable = yes" fieldsOverview
----------------------------------------
CiviCRM will allow the user to submit the "Create custom field" form for as many fields as a user wishes to create. However, if there are already 62 "is_searchable" custom fields in a cus...Overview
----------------------------------------
CiviCRM will allow the user to submit the "Create custom field" form for as many fields as a user wishes to create. However, if there are already 62 "is_searchable" custom fields in a custom field group, when the user submits this form for an additional custom field with "is_searchable = yes", several problems are encountered:
1. The "create custom field" form submission fails with a fatal error.
2. The newly created custom field appears in the list of fields for this custom group, but attempts to delete the field fail with a fatal error.
3. Attempting to viewing any entity to which the custom field group applies (e.g. any contact if the group is for All Contacts) also fails with a fatal error.
These fatal errors are caused by MySQL's limit of 64 indexes on any table (which limit is not configurable at runtime, if at all).
Reproduction steps
----------------------------------------
Reproduced on dmaster.demo.civicrm.org today ("Powered by CiviCRM 5.42.alpha1"):
1. Create a new custom group; note the entity to which this group applies; in this example we'll use "All contacts"
1. Create 62 custom fields with "is_searchable = yes" in the custom group; we'll name them "test 1", "test 2", etc. (In testing I use the api3 explorer for convenience.)
1. Attempt to create a new custom field e.g. "test 63" with "is_searchable = yes". Submit the "create field" form; observe fatal error, ` Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Error: unknown error` :![fatal-field](/uploads/f39c1a6ac743ba16281a51f274d69352/fatal-field.png)
Or in api3:
```
{
"code": -1,
"error_message": "DB Error: unknown error",
"mode": 16,
"debug_info": " ALTER TABLE civicrm_value_test_limit_of_7\n ADD COLUMN `test_64_78` varchar(255),\n ADD INDEX INDEX_test_64_78 ( test_64_78 ) [nativecode=1069 ** Too many keys specified; max 64 keys allowed]",
"type": "DB_Error",
"user_info": " ALTER TABLE civicrm_value_test_limit_of_7\n ADD COLUMN `test_64_78` varchar(255),\n ADD INDEX INDEX_test_64_78 ( test_64_78 ) [nativecode=1069 ** Too many keys specified; max 64 keys allowed]",
"to_string": "[db_error: message=\"DB Error: unknown error\" code=-1 mode=callback callback=CRM_Utils_REST::fatal prefix=\"\" info=\" ALTER TABLE civicrm_value_test_limit_of_7\n ADD COLUMN `test_64_78` varchar(255),\n ADD INDEX INDEX_test_64_78 ( test_64_78 ) [nativecode=1069 ** Too many keys specified; max 64 keys allowed]\"]",
"is_error": 1
}
$result = civicrm_api3('CustomField', 'create', [
'custom_group_id' => "TEST_limit_of_64_is_searchable_fields_in_a_group",
'data_type' => "String",
'html_type' => "Text",
'is_searchable' => 1,
'label' => "test 64",
]);
```
4. View the list of custom fields for this group (e.g. https://dmaster.demo.civicrm.org/civicrm/admin/custom/group/field?reset=1&new=1&gid=N&action=browse where N is custom group ID); observe the field "test 63" is listed.
5. From the "more >" link for this field, open the "Delete" link in a new tab so as to see the Delete Field form in its own window without pop-up. Submit the Delete Field form. Observe fatal error ` Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Error: not found`: ![fatal-delete](/uploads/dde828c860265080181e12c4c526ec91/fatal-delete.png)
6. Note that this custom group is for "all contacts". Attempt to view any contact, e.g. https://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=203 . Observe fatal error ` Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Error: no such field`: ![fatal-contact](/uploads/17ff7a000b47ca55a2e57d1c1b8cd78d/fatal-contact.png)
Workaround to allow contacts to be viewed again without fatal error:
1. Disable this custom field. This will cause the View Contact process to ignore the custom field, thereby avoiding the fatal error.
----------------------------------------
Related bad behavior: Enable "is searchable" on an existing field
1. In the custom group already created above, create one more field e.g. "Test 66, not searchable upon creation" with "is_searchable = no". Observe this is created without error and none of the above problems are seen.
1. Edit this field and enable the "is searchable" setting. Observe fatal error, ` Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Error: unknown error`
1. **I assume at this point that civicrm thinks the field is indexed, but that no such index exists in mysql. I can't confirm this on dmaster.demo, and haven't made time to investigate in a dev environment.**
1. View the list of custom fields for this custom group, and observe that this field is marked as "is searchable = yes" (but it's probably not indexed in mysql).
1. Navigate to Search > Advanced Search, and observe that this field "test 66, not searchable upon creation" is available as a search criteria (even though it's probably not indexed in mysql). This probably will lead to performance issues in searching.
Current behaviour
----------------------------------------
See repro above.
Expected behaviour
----------------------------------------
When attempting to create this 63rd custom field, civicrm should report a non-fatal error along these lines: `This custom group has 62 fields with the "Is Searchable" property enabled; please disable this setting on one or more fields before attempting to create another one with this setting enabled.`
Likewise, when attempting to enable "is searchable" for an existing custom field, in a group that already has 62 "is searchable" fields, the user should be prevented from doing so with a similar error.
Environment information
----------------------------------------
dmaster.demo.civicrm.org
Comments
----------------------------------------
**Not run-time configurable:**
MySQL InnoDB documentation states, "A table can contain a maximum of 64 secondary indexes." No mention is made of configurations -- runtime or otherwise -- that could change this limit. Reference: https://dev.mysql.com/doc/refman/5.7/en/innodb-limits.html
**Underlying log messages from live site with this problem:**
Fatal error upon field creation:
```
Aug 25 18:34:06 [error] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)
[code] => -1
[message] => DB Error: unknown error
[mode] => 16
[debug_info] => ALTER TABLE civicrm_value_category_codes__new_12_12__31
ADD COLUMN `brdcast_other_573` tinyint,
ADD INDEX INDEX_brdcast_other_573 ( brdcast_other_573 ) [nativecode=1069 ** Too many keys specified; max 64 keys allowed]
[type] => DB_Error
[user_info] => ALTER TABLE civicrm_value_category_codes__new_12_12__31
ADD COLUMN `brdcast_other_573` tinyint,
ADD INDEX INDEX_brdcast_other_573 ( brdcast_other_573 ) [nativecode=1069 ** Too many keys specified; max 64 keys allowed]
[to_string] => [db_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info=" ALTER TABLE civicrm_value_category_codes__new_12_12__31
ADD COLUMN `brdcast_other_573` tinyint,
ADD INDEX INDEX_brdcast_other_573 ( brdcast_other_573 ) [nativecode=1069 ** Too many keys specified; max 64 keys allowed]"]
)
Aug 25 18:34:06 [debug] $backTrace = #0 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Error.php(942): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /var/www/domains/example.client.joineryhq.com/vendor/pear/pear-core-minimal/src/PEAR.php(944): CRM_Core_Error::exceptionHandler(Object(DB_Error))
#2 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB.php(997): PEAR_Error->__construct("DB Error: unknown error", -1, 16, (Array:2), " ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...")
#3 /var/www/domains/example.client.joineryhq.com/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB_Error->__construct(-1, 16, (Array:2), " ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...")
#4 /var/www/domains/example.client.joineryhq.com/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -1, 16, (Array:2), " ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...", "DB_Error", TRUE)
#5 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/common.php(1928): PEAR->__call("raiseError", (Array:7))
#6 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/mysqli.php(936): DB_common->raiseError(-1, NULL, NULL, " ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...", "1069 ** Too many keys specified; max 64 keys allowed")
#7 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/mysqli.php(406): DB_mysqli->mysqliRaiseError()
#8 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/common.php(1234): DB_mysqli->simpleQuery(" ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...")
#9 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/DB/DataObject.php(2696): DB_common->query(" ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...")
#10 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/DB/DataObject.php(1829): DB_DataObject->_query(" ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...")
#11 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/DAO.php(454): DB_DataObject->query(" ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...")
#12 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/DAO.php(1565): CRM_Core_DAO->query(" ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...", FALSE)
#13 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/BAO/CustomField.php(1692): CRM_Core_DAO::executeQuery(" ALTER TABLE civicrm_value_category_codes__new_12_12__31\n ADD ...", (Array:0), TRUE, NULL, FALSE, FALSE)
#14 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/BAO/CustomField.php(95): CRM_Core_BAO_CustomField::createField(Object(CRM_Core_DAO_CustomField), "add")
#15 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Custom/Form/Field.php(882): CRM_Core_BAO_CustomField::create((Array:35))
#16 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Form.php(526): CRM_Custom_Form_Field->postProcess()
#17 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/QuickForm/Action/Done.php(59): CRM_Core_Form->mainProcess()
#18 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Done->perform(Object(CRM_Custom_Form_Field), "done")
#19 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Custom_Form_Field), "done")
#20 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Controller.php(347): HTML_QuickForm_Page->handle("done")
#21 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Utils/Wrapper.php(98): CRM_Core_Controller->run()
#22 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(286): CRM_Utils_Wrapper->run("CRM_Custom_Form_Field", "Custom Field - Add", (Array:0))
#23 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:13))
#24 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:6))
#25 /var/www/domains/example.client.joineryhq.com/web/modules/contrib/civicrm/src/Civicrm.php(88): CRM_Core_Invoke::invoke((Array:6))
#26 /var/www/domains/example.client.joineryhq.com/web/modules/contrib/civicrm/src/Controller/CivicrmController.php(80): Drupal\civicrm\Civicrm->invoke((Array:6))
#27 [internal function](): Drupal\civicrm\Controller\CivicrmController->main((Array:6), "")
#28 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array((Array:2), (Array:2))
#29 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/Render/Renderer.php(573): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#30 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#31 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext((Array:2), (Array:2))
#32 /var/www/domains/example.client.joineryhq.com/vendor/symfony/http-kernel/HttpKernel.php(151): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#33 /var/www/domains/example.client.joineryhq.com/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#34 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#35 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#36 /var/www/domains/example.client.joineryhq.com/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#37 /var/www/domains/example.client.joineryhq.com/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#38 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#39 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#40 /var/www/domains/example.client.joineryhq.com/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#41 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#42 /var/www/domains/example.client.joineryhq.com/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#43 {main}
```
Fatal error upon attempt to delete field:
```
Aug 26 12:34:04 [error] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)
[code] => -4
[message] => DB Error: not found
[mode] => 16
[debug_info] => ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `brdcast_other_573` [nativecode=1091 ** Can't DROP 'brdcast_other_573'; check that column/key exists]
[type] => DB_Error
[user_info] => ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `brdcast_other_573` [nativecode=1091 ** Can't DROP 'brdcast_other_573'; check that column/key exists]
[to_string] => [db_error: message="DB Error: not found" code=-4 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info=" ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `brdcast_other_573` [nativecode=1091 ** Can't DROP 'brdcast_other_573'; check that column/key exists]"]
)
Aug 26 12:34:04 [debug] $backTrace = #0 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Error.php(942): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /var/www/domains/example.client.joineryhq.com/vendor/pear/pear-core-minimal/src/PEAR.php(944): CRM_Core_Error::exceptionHandler(Object(DB_Error))
#2 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB.php(997): PEAR_Error->__construct("DB Error: not found", -4, 16, (Array:2), " ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...")
#3 /var/www/domains/example.client.joineryhq.com/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB_Error->__construct(-4, 16, (Array:2), " ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...")
#4 /var/www/domains/example.client.joineryhq.com/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -4, 16, (Array:2), " ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...", "DB_Error", TRUE)
#5 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/common.php(1928): PEAR->__call("raiseError", (Array:7))
#6 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/mysqli.php(936): DB_common->raiseError(-4, NULL, NULL, " ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...", "1091 ** Can't DROP 'brdcast_other_573'; check that column/key exists")
#7 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/mysqli.php(406): DB_mysqli->mysqliRaiseError()
#8 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/common.php(1234): DB_mysqli->simpleQuery(" ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...")
#9 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/DB/DataObject.php(2696): DB_common->query(" ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...")
#10 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/DB/DataObject.php(1829): DB_DataObject->_query(" ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...")
#11 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/DAO.php(454): DB_DataObject->query(" ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...")
#12 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/DAO.php(1565): CRM_Core_DAO->query(" ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...", FALSE)
#13 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/BAO/CustomField.php(1692): CRM_Core_DAO::executeQuery(" ALTER TABLE civicrm_value_category_codes__new_12_12__31 DROP COLUMN `...", (Array:0), TRUE, NULL, FALSE, FALSE)
#14 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/BAO/CustomField.php(1004): CRM_Core_BAO_CustomField::createField(Object(CRM_Core_DAO_CustomField), "delete")
#15 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Custom/Form/DeleteField.php(85): CRM_Core_BAO_CustomField::deleteField(Object(CRM_Core_DAO_CustomField))
#16 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Form.php(526): CRM_Custom_Form_DeleteField->postProcess()
#17 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/StateMachine.php(144): CRM_Core_Form->mainProcess()
#18 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/QuickForm/Action/Next.php(43): CRM_Core_StateMachine->perform(Object(CRM_Custom_Form_DeleteField), "next", "Next")
#19 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Custom_Form_DeleteField), "next")
#20 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Custom_Form_DeleteField), "next")
#21 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Controller.php(347): HTML_QuickForm_Page->handle("next")
#22 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Custom/Page/Field.php(246): CRM_Core_Controller->run()
#23 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(313): CRM_Custom_Page_Field->run((Array:5), NULL)
#24 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:14))
#25 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:5))
#26 /var/www/domains/example.client.joineryhq.com/web/modules/contrib/civicrm/src/Civicrm.php(88): CRM_Core_Invoke::invoke((Array:5))
#27 /var/www/domains/example.client.joineryhq.com/web/modules/contrib/civicrm/src/Controller/CivicrmController.php(80): Drupal\civicrm\Civicrm->invoke((Array:5))
#28 [internal function](): Drupal\civicrm\Controller\CivicrmController->main((Array:5), "")
#29 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array((Array:2), (Array:2))
#30 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/Render/Renderer.php(573): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#31 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#32 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext((Array:2), (Array:2))
#33 /var/www/domains/example.client.joineryhq.com/vendor/symfony/http-kernel/HttpKernel.php(151): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#34 /var/www/domains/example.client.joineryhq.com/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#35 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#36 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#37 /var/www/domains/example.client.joineryhq.com/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#38 /var/www/domains/example.client.joineryhq.com/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#39 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#40 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#41 /var/www/domains/example.client.joineryhq.com/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#42 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#43 /var/www/domains/example.client.joineryhq.com/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#44 {main}
```
Fatal error on attempting to view contact:
```
Aug 26 10:39:00 [error] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)
[code] => -19
[message] => DB Error: no such field
[mode] => 16
[debug_info] =>
SELECT [REDACTED FOR PRIVACY: very long list of custom field columns]
FROM (SELECT 303407 as entity_id ) as first
LEFT JOIN civicrm_value_key_note_21 USING (entity_id)
LEFT JOIN civicrm_value_family_2 USING (entity_id)
LEFT JOIN civicrm_value_contact_information_9 USING (entity_id)
LEFT JOIN civicrm_value_skills_and_interests_5 USING (entity_id)
LEFT JOIN civicrm_value_category_codes__new_12_12__31 USING (entity_id)
LEFT JOIN civicrm_value_motive_codes_39 USING (entity_id)
WHERE first.entity_id = 303407
[nativecode=1054 ** Unknown column 'civicrm_value_category_codes__new_12_12__31.brdcast_other_573' in 'field list']
[type] => DB_Error
[user_info] =>
SELECT [REDACTED FOR PRIVACY: very long list of custom field columns]
FROM (SELECT 303407 as entity_id ) as first
LEFT JOIN civicrm_value_key_note_21 USING (entity_id)
LEFT JOIN civicrm_value_family_2 USING (entity_id)
LEFT JOIN civicrm_value_contact_information_9 USING (entity_id)
LEFT JOIN civicrm_value_skills_and_interests_5 USING (entity_id)
LEFT JOIN civicrm_value_category_codes__new_12_12__31 USING (entity_id)
LEFT JOIN civicrm_value_motive_codes_39 USING (entity_id)
WHERE first.entity_id = 303407
[nativecode=1054 ** Unknown column 'civicrm_value_category_codes__new_12_12__31.brdcast_other_573' in 'field list']
[to_string] => [db_error: message="DB Error: no such field" code=-19 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info="
SELECT [REDACTED FOR PRIVACY: very long list of custom field columns]
FROM (SELECT 303407 as entity_id ) as first
LEFT JOIN civicrm_value_key_note_21 USING (entity_id)
LEFT JOIN civicrm_value_family_2 USING (entity_id)
LEFT JOIN civicrm_value_contact_information_9 USING (entity_id)
LEFT JOIN civicrm_value_skills_and_interests_5 USING (entity_id)
LEFT JOIN civicrm_value_category_codes__new_12_12__31 USING (entity_id)
LEFT JOIN civicrm_value_motive_codes_39 USING (entity_id)
WHERE first.entity_id = 303407
[nativecode=1054 ** Unknown column 'civicrm_value_category_codes__new_12_12__31.brdcast_other_573' in 'field list']"]
)
Aug 26 10:39:00 [debug] $backTrace = #0 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Error.php(942): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /var/www/domains/example.client.joineryhq.com/vendor/pear/pear-core-minimal/src/PEAR.php(944): CRM_Core_Error::exceptionHandler(Object(DB_Error))
#2 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB.php(997): PEAR_Error->__construct("DB Error: no such field", -19, 16, (Array:2), "\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...")
#3 /var/www/domains/example.client.joineryhq.com/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB_Error->__construct(-19, 16, (Array:2), "\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...")
#4 /var/www/domains/example.client.joineryhq.com/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -19, 16, (Array:2), "\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...", "DB_Error", TRUE)
#5 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/common.php(1928): PEAR->__call("raiseError", (Array:7))
#6 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/mysqli.php(936): DB_common->raiseError(-19, NULL, NULL, "\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...", "1054 ** Unknown column 'civicrm_value_category_codes__new_12_12__31.brdcast_o...")
#7 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/mysqli.php(406): DB_mysqli->mysqliRaiseError()
#8 /var/www/domains/example.client.joineryhq.com/vendor/pear/db/DB/common.php(1234): DB_mysqli->simpleQuery("\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...")
#9 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/DB/DataObject.php(2696): DB_common->query("\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...")
#10 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-packages/DB/DataObject.php(1829): DB_DataObject->_query("\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...")
#11 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/DAO.php(454): DB_DataObject->query("\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...")
#12 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/DAO.php(1565): CRM_Core_DAO->query("\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...", TRUE)
#13 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/BAO/CustomGroup.php(763): CRM_Core_DAO::executeQuery("\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...")
#14 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/BAO/CustomGroup.php(712): CRM_Core_BAO_CustomGroup::buildTreeEntityDataFromQuery((Array:7), "\n SELECT civicrm_value_key_note_21.id as civicrm_value_key_note_21_id, ...", (Array:6))
#15 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/BAO/CustomGroup.php(601): CRM_Core_BAO_CustomGroup::buildEntityTreeSingleFields((Array:7), 303407, (Array:79), (Array:6))
#16 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Contact/Page/View/Summary.php(43): CRM_Core_BAO_CustomGroup::getTree("Individual", (Array:2), 303407, NULL, (Array:0))
#17 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Contact/Page/View/Summary.php(71): CRM_Contact_Page_View_Summary->preProcess()
#18 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(313): CRM_Contact_Page_View_Summary->run((Array:3), NULL)
#19 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:14))
#20 /var/www/domains/example.client.joineryhq.com/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:3))
#21 /var/www/domains/example.client.joineryhq.com/web/modules/contrib/civicrm/src/Civicrm.php(88): CRM_Core_Invoke::invoke((Array:3))
#22 /var/www/domains/example.client.joineryhq.com/web/modules/contrib/civicrm/src/Controller/CivicrmController.php(80): Drupal\civicrm\Civicrm->invoke((Array:3))
#23 [internal function](): Drupal\civicrm\Controller\CivicrmController->main((Array:3), "")
#24 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array((Array:2), (Array:2))
#25 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/Render/Renderer.php(573): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#26 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#27 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext((Array:2), (Array:2))
#28 /var/www/domains/example.client.joineryhq.com/vendor/symfony/http-kernel/HttpKernel.php(151): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#29 /var/www/domains/example.client.joineryhq.com/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#30 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#31 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#32 /var/www/domains/example.client.joineryhq.com/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#33 /var/www/domains/example.client.joineryhq.com/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#34 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#35 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#36 /var/www/domains/example.client.joineryhq.com/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#37 /var/www/domains/example.client.joineryhq.com/web/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#38 /var/www/domains/example.client.joineryhq.com/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#39 {main}
```https://lab.civicrm.org/dev/joomla/-/issues/35[Joomla 4.0] Cannot access/set user permissions2023-02-25T12:13:56Znicol[Joomla 4.0] Cannot access/set user permissionsClicking the Joomla access control link (/administrator/index.php?option=com_config&view=component&component=com_civicrm) via either Civi (administrator/?option=com_civicrm&task=civicrm/admin/access&reset=1) or Joomla (administrator/inde...Clicking the Joomla access control link (/administrator/index.php?option=com_config&view=component&component=com_civicrm) via either Civi (administrator/?option=com_civicrm&task=civicrm/admin/access&reset=1) or Joomla (administrator/index.php?option=com_config#page-permissions) gives a fatal error. Without setting ACLs, the front end Civi links won't display - so this looks like a blocker for Joomla 4.0 compatibility.
According to Joomla 4's debugger the issue is:
`Compile Error: require_once(): Failed opening required '/Applications/MAMP/htdocs/Joomla_4.0.2/libraries/joomla/form/fields/rules.php' (include_path='.:/Applications/MAMP/bin/php/php7.3.7/lib/php')`
`
FatalError in /Joomla_4.0.2/administrator/components/com_civicrm/civicrm/joomla/libraries/joomla/form/fields/civiperms.php (line 6)
<?php
defined('JPATH_PLATFORM') or die;
// for some reason Joomla doesn't autoload JFormFieldRules in this context
require_once JPATH_SITE . '/libraries/joomla/form/fields/rules.php';
class JFormFieldCiviperms extends JFormFieldRules {
/**
* @var CRM_Core_Config
`Joomla 4 Integrationseamusleeseamusleehttps://lab.civicrm.org/dev/joomla/-/issues/34[Joomla 4.0] CiviCRM logo not showing in Quick Icon plugin2022-05-27T10:14:42Znicol[Joomla 4.0] CiviCRM logo not showing in Quick Icon pluginVery low priority, but the QuickIcon Joomla plugin (https://github.com/civicrm/civicrm-joomla/tree/master/admin/plugins/civicrmicon) no longer shows a Civi logo:
![image](/uploads/aed5a3996ded76fc73d42686f36f00fd/image.png)Very low priority, but the QuickIcon Joomla plugin (https://github.com/civicrm/civicrm-joomla/tree/master/admin/plugins/civicrmicon) no longer shows a Civi logo:
![image](/uploads/aed5a3996ded76fc73d42686f36f00fd/image.png)Joomla 4 Integrationnicolnicolhttps://lab.civicrm.org/dev/core/-/issues/3321[Deprecation] Synchronous XMLHttpRequest on the main thread is2024-01-02T05:03:26Zdanultimate[Deprecation] Synchronous XMLHttpRequest on the main thread isGetting this error while trying to update a membership record.
is this related to a similar issue with the stripe extension?
![Screenshot_2021-08-27_at_10.47.49](/uploads/dc00af24c9214a5035a7c2b1cd56e445/Screenshot_2021-08-27_at_10.47....Getting this error while trying to update a membership record.
is this related to a similar issue with the stripe extension?
![Screenshot_2021-08-27_at_10.47.49](/uploads/dc00af24c9214a5035a7c2b1cd56e445/Screenshot_2021-08-27_at_10.47.49.png)
I'm using:
WordPress: 5.8
CiviCRM: 3.39.0https://lab.civicrm.org/dev/core/-/issues/2791Membership start date ignores trxn_date/receive_date gets recalculated to today2021-10-27T08:58:08ZRichMembership start date ignores trxn_date/receive_date gets recalculated to todayOverview
----------------------------------------
https://chat.civicrm.org/civicrm/pl/5bwnarinz7y73nwdjri9oidyno
Reproduction steps
----------------------------------------
Do an Order.create call which includes:
- `receive_date`...Overview
----------------------------------------
https://chat.civicrm.org/civicrm/pl/5bwnarinz7y73nwdjri9oidyno
Reproduction steps
----------------------------------------
Do an Order.create call which includes:
- `receive_date`: `2020-01-01`
- entity `params` in the line item contain `2020-01-01` for `start_date`.
This works, a pending membership is created with the start date of `2020-01-01` but then the subsequent Payment.create which includes the same historical `trxn_date` updates the membership's `start_date` to today.
Expected behaviour
----------------------------------------
Membership start date should take the date of the transaction. (I belive this was the case up to and including 5.39 but not in 5.40)
Environment information
----------------------------------------
buildkit d7 Civi 5.40
Comments
----------------------------------------
<del>This was picked up by the test assertion at
https://lab.civicrm.org/extensions/gocardless/-/blob/main/tests/phpunit/GoCardlessTest.php#L915
After the work is done in
https://lab.civicrm.org/extensions/gocardless/-/blob/main/tests/phpunit/GoCardlessTest.php#L1913
and specifically the Payment.create at
https://lab.civicrm.org/extensions/gocardless/-/blob/main/tests/phpunit/GoCardlessTest.php#L1998
</del>
These tests have been completely rewritten. See https://lab.civicrm.org/extensions/gocardless/-/issues/1235.42.1https://lab.civicrm.org/dev/core/-/issues/2790Cleanup pdf classes to use a trait like we do for email classes2021-10-12T02:38:50ZeileenCleanup pdf classes to use a trait like we do for email classesThe php4 friendly pattern of making up for not having traits that we use for the pdf tasks is hard yakka.
I'm gonna start doing the clean up on them that to use the email trait that we did for emails. First step I'll return functions to...The php4 friendly pattern of making up for not having traits that we use for the pdf tasks is hard yakka.
I'm gonna start doing the clean up on them that to use the email trait that we did for emails. First step I'll return functions to classes where only those classes use them - we had good intentions to share some of them but it will be easier to do that when they are on a trait
@DaveD - I think I'll need your help5.43.0https://lab.civicrm.org/dev/backdrop/-/issues/69CiviCRM_API3_Exception: DB Constraint Violation2022-10-08T12:17:36ZbgmCiviCRM_API3_Exception: DB Constraint Violation*Created by: laryn*
I'm not sure why, but I'm getting this fatal error on a particular site after recent upgrades to CivICRM:
> CiviCRM_API3_Exception: DB Constraint Violation - region_id should possibly be marked as mandatory for Co...*Created by: laryn*
I'm not sure why, but I'm getting this fatal error on a particular site after recent upgrades to CivICRM:
> CiviCRM_API3_Exception: DB Constraint Violation - region_id should possibly be marked as mandatory for Country,get API. If so, please raise a bug report. in civicrm_api3() (line 134 of /app/modules/civicrm/api/api.php).
Strangely, it seems to be originating in `civicrm.install` where the CiviCRM version is checked and reported on the Backdrop Status Report page. More strangely, I've only noticed it on one site so far (even on the same server as another site without the problem).
If I remove the `$vc->fetch();` line, it seems to work fine on the sites I've tested it on. Does that seem reasonable?