Search and Reporting - archived issueshttps://lab.civicrm.org/dev/report/-/issues2022-04-22T15:53:35Zhttps://lab.civicrm.org/dev/report/-/issues/16Unreleased regression - fee levels incorrectly show sold out (in code that wi...2022-04-22T15:53:35ZeileenUnreleased regression - fee levels incorrectly show sold out (in code that will be 5.16)Fees are incorrectly showing as sold out, blocking change fee selection.
This is an unexpected consequence of
https://github.com/civicrm/civicrm-core/pull/14244
The path is that because $this->_id is now set it gets assigned to the fo...Fees are incorrectly showing as sold out, blocking change fee selection.
This is an unexpected consequence of
https://github.com/civicrm/civicrm-core/pull/14244
The path is that because $this->_id is now set it gets assigned to the form
https://github.com/civicrm/civicrm-core/blob/5774b54f47445de233daa85672ce4f793dff347a/CRM/Event/Form/Participant.php#L265
Which then gets passed to the call to load the fee block
https://github.com/civicrm/civicrm-core/blob/c4145dedecb1f3157ecf8fd85421f562e8128e73/templates/CRM/Event/Form/Participant.tpl#L411
which results in $_pid being set & as a result online being set
https://github.com/civicrm/civicrm-core/blob/90b461f1623e75e94e0f472a3c6bf23e01defbc1/CRM/Event/Form/EventFees.php#L350
which leads to the element being frozen
https://github.com/civicrm/civicrm-core/blob/90b461f1623e75e94e0f472a3c6bf23e01defbc1/CRM/Event/Form/EventFees.php#L393
which is interpretted as 'sold out'
https://github.com/civicrm/civicrm-core/blob/6b83d5bdd0f2ca546924feae6aa42aeddb1d40cf/templates/CRM/Price/Form/PriceSet.tpl#L93
This is an example of a code antipattern which is too prevalent in our codebase - ie. hanging various assumptions off a parameter.
I *think* the right answer is to assign a variable of online & then pass that through & make appropriate decisions based on that.
The first question is - do we revert https://github.com/civicrm/civicrm-core/pull/14244 out of the rc and then re-commit into master to give us more time given how awful this code path is5.16.0https://lab.civicrm.org/dev/report/-/issues/15Regression: Can't use operators to filter contact subtypes other than "Is One...2022-04-22T17:01:30ZJonGoldRegression: Can't use operators to filter contact subtypes other than "Is One Of"This is introduced by core#544, which introduces a hard-coded `LIKE` where the code should allow for different operators.
[A commit based on 5.14 is here](https://github.com/MegaphoneJon/civicrm-core/commit/625b0b06e64d02883614e31bb4ef7...This is introduced by core#544, which introduces a hard-coded `LIKE` where the code should allow for different operators.
[A commit based on 5.14 is here](https://github.com/MegaphoneJon/civicrm-core/commit/625b0b06e64d02883614e31bb4ef79825a1b8ad2#diff-d355cdb00cea3915a3cf306c6c08f6a6L2131) and hopefully I (or someone) will have time to merge and add tests in the near future.5.16.0https://lab.civicrm.org/dev/report/-/issues/100SearchKit: Rewrite and Group By don't mix2022-04-22T15:47:57ZJonGoldSearchKit: Rewrite and Group By don't mixWhen using "Rewrite" in a search display, the rendered token for fields we've grouped by only show the first value.
### Steps to Replicate
* Install Search Kit, import the Search/Display below.
* Preview the Display.
* Turn off "Rewrite...When using "Rewrite" in a search display, the rendered token for fields we've grouped by only show the first value.
### Steps to Replicate
* Install Search Kit, import the Search/Display below.
* Preview the Display.
* Turn off "Rewrite" on the "Total Amount" field and preview again.
### Expected Result
Rendered token has the same output as the non-rewritten field.
### Actual Result
Token only renders the first value in a list.
```
[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "group_and_rewrite",
"label": "group and rewrite",
"form_values": null,
"search_custom_id": null,
"api_entity": "Contact",
"api_params": {
"version": 4,
"select": [
"id",
"display_name",
"GROUP_CONCAT(Contact_Contribution_contact_id_01.total_amount) AS GROUP_CONCAT_Contact_Contribution_contact_id_01_total_amount"
],
"orderBy": [],
"where": [],
"groupBy": [
"id"
],
"join": [
[
"Contribution AS Contact_Contribution_contact_id_01",
"LEFT",
[
"id",
"=",
"Contact_Contribution_contact_id_01.contact_id"
]
]
],
"having": []
},
"expires_date": null,
"description": null,
"mapping_id": null
}
],
"match": [
"name"
]
}
],
[
"SearchDisplay",
"save",
{
"records": [
{
"name": "Contacts_Table_1",
"label": "Contacts Table 1",
"saved_search_id.name": "group_and_rewrite",
"type": "table",
"settings": {
"actions": true,
"limit": 50,
"classes": [
"table",
"table-striped"
],
"pager": {
"show_count": true,
"expose_limit": true
},
"sort": [
[
"sort_name",
"ASC"
]
],
"columns": [
{
"type": "field",
"key": "id",
"dataType": "Integer",
"label": "Contact ID",
"sortable": true
},
{
"type": "field",
"key": "display_name",
"dataType": "String",
"label": "Display Name",
"sortable": true
},
{
"type": "field",
"key": "GROUP_CONCAT_Contact_Contribution_contact_id_01_total_amount",
"dataType": "Money",
"label": "(List) Contact Contributions: Total Amount",
"sortable": true,
"rewrite": "[GROUP_CONCAT_Contact_Contribution_contact_id_01_total_amount]"
}
]
},
"acl_bypass": false
}
],
"match": [
"name",
"saved_search_id"
]
}
]
]
```https://lab.civicrm.org/dev/report/-/issues/97SearchKit not functional on Joomla 42022-04-22T15:47:19Zjoshjosh@civicrm.orgSearchKit not functional on Joomla 4The past two release of CiviCRM have resulted in SearchKit not functioning on Joomla 4. When browsing to SearchKit, the user is presented with what appears to be unrendered code:
![Screenshot_2022-02-21_12.13.32](/uploads/5899ba97078e89...The past two release of CiviCRM have resulted in SearchKit not functioning on Joomla 4. When browsing to SearchKit, the user is presented with what appears to be unrendered code:
![Screenshot_2022-02-21_12.13.32](/uploads/5899ba97078e894cb86ba703c06eb300/Screenshot_2022-02-21_12.13.32.jpg)
Console presents the following error:
```
Error: [$injector:unpr] http://errors.angularjs.org/1.8.2/$injector/unpr?p0=savedSearchesProvider%20%3C-%20savedSearches%20%3C-%20searchList
at angular.min.js:7:168
at angular.min.js:46:468
at Object.d [as get] (angular.min.js:44:197)
at angular.min.js:47:29
at d (angular.min.js:44:197)
at e (angular.min.js:44:438)
at Object.instantiate (angular.min.js:45:333)
at angular.min.js:99:267
at Object.link (angular-modules.d0a616a75686afef23d3772fcee92a7f.js:5648:217)
at angular.min.js:17:134 '<div ng-view="" class="ng-scope">'
(anonymous) @ angular.js:15697
```
All other aspects of CiviCRM appear to be functional. The issue can be reproduced at https://cividemo.com and on fresh installs of just Joomla and CiviCRM (no extensions installed on either systems).Monish DebMonish Debhttps://lab.civicrm.org/dev/report/-/issues/95Search > Merge: Not merging correctly with a DOCX file2022-04-22T15:48:54ZswebervnaSearch > Merge: Not merging correctly with a DOCX fileIf I perform an Advanced Search, select "Thank-you letters - print or email":
![image](/uploads/3a392ad57ea180d0cced90d3db053b32/image.png)
..chose my options (group by Contact, separator Comma) and run the merge, it's not filling in any...If I perform an Advanced Search, select "Thank-you letters - print or email":
![image](/uploads/3a392ad57ea180d0cced90d3db053b32/image.png)
..chose my options (group by Contact, separator Comma) and run the merge, it's not filling in any of my merge codes in the DOCX:
![image](/uploads/d8f367d2ab4add367262d5f4def87155/image.png)
1. I triple-checked, all merge codes are typed in exactly as they are in Civi.
2. I even tried using my doc with only a few merge codes, same issue.
3. No difference if I output merge from Civi in DOCX vs PDF.
4. Interestingly, the first time I did the merge everything filled in correctly except for the table at the bottom which groups contributions by "Comma", then all future merges done with this search don't merge correctly at all.
I'm guessing this is a bug with Civi, I tried the same thing on the demo and ran into the same problem with DOCX files.
**Workaround:**
My workaround is to replicate my letter as a Message Template in Civi since the native template works with the fields 100% each time - the downside to this is the limitations of CKEditor4. It's a pain to insert page breaks, center paragraphs, etc, way too basic formatting options.https://lab.civicrm.org/dev/report/-/issues/94SearchKit: fieldset legend display in Drupal 9 Seven admin theme2022-04-22T15:47:24ZherbdoolSearchKit: fieldset legend display in Drupal 9 Seven admin themeDrupal 9's default admin theme, Seven, sets an `position: absolute` for fieldset legends (`core/themes/seven/css/components/form.css`) if the fieldset is not in a `.fieldgroup` (`fieldset:not(.fieldgroup) > legend`). It looks like:
![Sc...Drupal 9's default admin theme, Seven, sets an `position: absolute` for fieldset legends (`core/themes/seven/css/components/form.css`) if the fieldset is not in a `.fieldgroup` (`fieldset:not(.fieldgroup) > legend`). It looks like:
![Screenshot_from_2022-01-11_11-10-20](/uploads/9381f41cacc03748bd1b90b7756b8ef6/Screenshot_from_2022-01-11_11-10-20.png)
I guess the easiest is to set a `position: relative` in `civicrm/core/ext/search_kit/css/crmSearchAdmin.css`https://lab.civicrm.org/dev/report/-/issues/92SearchKit: In-place edit for custom dropdown field - can't blank it out2022-04-22T15:48:48ZDaveDSearchKit: In-place edit for custom dropdown field - can't blank it outIf you have a search display with a dropdown custom field with in-place edit enabled and the field is defined as not required, you should be able to blank it out. But there is no "X" icon or "-none-" choice.If you have a search display with a dropdown custom field with in-place edit enabled and the field is defined as not required, you should be able to blank it out. But there is no "X" icon or "-none-" choice.https://lab.civicrm.org/dev/report/-/issues/91SearchKit: In-place edit for custom date field - can't select a date2022-04-22T15:53:43ZDaveDSearchKit: In-place edit for custom date field - can't select a dateIf you have a search display with a custom date field with in-place edit enabled and you try to use the datepicker the table just completely disappears and it says unknown path.If you have a search display with a custom date field with in-place edit enabled and you try to use the datepicker the table just completely disappears and it says unknown path.5.46.0https://lab.civicrm.org/dev/report/-/issues/90SearchKit: Chicken-and-egg problem upgrading from 5.35.2 to 5.44.02022-04-22T15:52:29ZDaveDSearchKit: Chicken-and-egg problem upgrading from 5.35.2 to 5.44.0## Steps:
1. Install 5.35.2 and enable search kit.
1. Create a search with a display and save it.
1. Upgrade to 5.44.0. The civi upgrade runs ok.
* The 5.44 part isn't too relevant I think - 5.40+ seems like it would also happen.
1. ...## Steps:
1. Install 5.35.2 and enable search kit.
1. Create a search with a display and save it.
1. Upgrade to 5.44.0. The civi upgrade runs ok.
* The 5.44 part isn't too relevant I think - 5.40+ seems like it would also happen.
1. Visit the system status page and run the extension upgrades.
1. Error as below because upgrade_1001 triggers something that doesn't exist until upgrade_1005.
If you look at http://stats.civicrm.org/?tab=sites you'll notice there's a lot of sites on `5.35` because it was a security release, so will be a problem when they upgrade.
Some workarounds are upgrade in smaller steps, or manually create the column first:
`alter table civicrm_search_display add column acl_bypass tinyint DEFAULT 0 COMMENT 'Skip permission checks and ACLs when running this display.';`
## Details
```
[info] Applying update 1001 - normalize search display columns.
[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 `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`saved_search_id` AS `saved_search_id`, `a`.`type` AS `type`, `a`.`settings` AS `settings`, `a`.`acl_bypass` AS `acl_bypass`
FROM civicrm_search_display a
WHERE (`a`.`saved_search_id` = "1")
[nativecode=1054 ** Unknown column 'a.acl_bypass' in 'field list']
[type] => DB_Error
[user_info] => SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`saved_search_id` AS `saved_search_id`, `a`.`type` AS `type`, `a`.`settings` AS `settings`, `a`.`acl_bypass` AS `acl_bypass`
FROM civicrm_search_display a
WHERE (`a`.`saved_search_id` = "1")
[nativecode=1054 ** Unknown column 'a.acl_bypass' 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 `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`saved_search_id` AS `saved_search_id`, `a`.`type` AS `type`, `a`.`settings` AS `settings`, `a`.`acl_bypass` AS `acl_bypass`
FROM civicrm_search_display a
WHERE (`a`.`saved_search_id` = "1")
[nativecode=1054 ** Unknown column 'a.acl_bypass' in 'field list']"]
)
Dec 22 13:41:25 [debug] $backTrace = #0 ...\sites\all\modules\civicrm\CRM\Core\Error.php(942): CRM_Core_Error::backtrace("backTrace", TRUE)
1 ...\sites\all\modules\civicrm\vendor\pear\pear-core-minimal\src\PEAR.php(922): CRM_Core_Error::exceptionHandler(Object(DB_Error))
2 ...\sites\all\modules\civicrm\vendor\pear\db\DB.php(997): PEAR_Error->__construct("DB Error: no such field", -19, 16, (Array:2), "SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...")
3 ...\sites\all\modules\civicrm\vendor\pear\pear-core-minimal\src\PEAR.php(575): DB_Error->__construct(-19, 16, (Array:2), "SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...")
4 ...\sites\all\modules\civicrm\vendor\pear\pear-core-minimal\src\PEAR.php(223): PEAR::_raiseError(Object(DB_mysqli), NULL, -19, 16, (Array:2), "SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...", "DB_Error", TRUE)
5 ...\sites\all\modules\civicrm\vendor\pear\db\DB\common.php(1928): PEAR->__call("raiseError", (Array:7))
6 ...\sites\all\modules\civicrm\vendor\pear\db\DB\mysqli.php(936): DB_common->raiseError(-19, NULL, NULL, "SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...", "1054 ** Unknown column 'a.acl_bypass' in 'field list'")
7 ...\sites\all\modules\civicrm\vendor\pear\db\DB\mysqli.php(406): DB_mysqli->mysqliRaiseError()
8 ...\sites\all\modules\civicrm\vendor\pear\db\DB\common.php(1234): DB_mysqli->simpleQuery("SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...")
9 ...\sites\all\modules\civicrm\packages\DB\DataObject.php(2696): DB_common->query("SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...")
10 ...\sites\all\modules\civicrm\packages\DB\DataObject.php(1829): DB_DataObject->_query("SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...")
11 ...\sites\all\modules\civicrm\CRM\Core\DAO.php(468): DB_DataObject->query("SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...")
12 ...\sites\all\modules\civicrm\CRM\Core\DAO.php(1621): CRM_Core_DAO->query("SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...", TRUE)
13 ...\sites\all\modules\civicrm\Civi\Api4\Query\Api4SelectQuery.php(167): CRM_Core_DAO::executeQuery("SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`s...")
14 ...\sites\all\modules\civicrm\Civi\Api4\Generic\DAOGetAction.php(111): Civi\Api4\Query\Api4SelectQuery->run()
15 ...\sites\all\modules\civicrm\Civi\Api4\Generic\DAOGetAction.php(99): Civi\Api4\Generic\DAOGetAction->getObjects(Object(Civi\Api4\Generic\Result))
16 ...\sites\all\modules\civicrm\Civi\Api4\Provider\ActionObjectProvider.php(68): Civi\Api4\Generic\DAOGetAction->_run(Object(Civi\Api4\Generic\Result))
17 ...\sites\all\modules\civicrm\Civi\API\Kernel.php(149): Civi\Api4\Provider\ActionObjectProvider->invoke(Object(Civi\Api4\Generic\DAOGetAction))
18 ...\sites\all\modules\civicrm\Civi\Api4\Generic\AbstractAction.php(234): Civi\API\Kernel->runRequest(Object(Civi\Api4\Generic\DAOGetAction))
19 ...\sites\all\modules\civicrm\api\api.php(85): Civi\Api4\Generic\AbstractAction->execute()
20 ...\sites\all\modules\civicrm\Civi\Api4\Provider\ActionObjectProvider.php(103): civicrm_api4("SearchDisplay", "get", (Array:13), NULL)
21 ...\sites\all\modules\civicrm\Civi\Api4\Provider\ActionObjectProvider.php(84): Civi\Api4\Provider\ActionObjectProvider->runChain((Array:4), (Array:14))
22 ...\sites\all\modules\civicrm\Civi\Api4\Provider\ActionObjectProvider.php(69): Civi\Api4\Provider\ActionObjectProvider->handleChains(Object(Civi\Api4\Generic\DAOGetAction), Object(Civi\Api4\Generic\Result))
23 ...\sites\all\modules\civicrm\Civi\API\Kernel.php(149): Civi\Api4\Provider\ActionObjectProvider->invoke(Object(Civi\Api4\Generic\DAOGetAction))
24 ...\sites\all\modules\civicrm\Civi\Api4\Generic\AbstractAction.php(234): Civi\API\Kernel->runRequest(Object(Civi\Api4\Generic\DAOGetAction))
25 ...\sites\all\modules\civicrm\ext\search_kit\CRM\Search\Upgrader.php(58): Civi\Api4\Generic\AbstractAction->execute()
26 ...\sites\all\modules\civicrm\CRM\Extension\Upgrader\QueueTrait.php(49): CRM_Search_Upgrader->upgrade_1001()
27 ...\sites\all\modules\civicrm\CRM\Queue\Task.php(74): CRM_Extension_Upgrader_Base::_queueAdapter(Object(CRM_Queue_TaskContext), "org.civicrm.search_kit", "upgrade_1001")
28 ...\sites\all\modules\civicrm\CRM\Queue\Runner.php(201): CRM_Queue_Task->run(Object(CRM_Queue_TaskContext))
29 ...\sites\all\modules\civicrm\CRM\Queue\Page\AJAX.php(36): CRM_Queue_Runner->runNext(TRUE)
30 ...\sites\all\modules\civicrm\CRM\Queue\ErrorPolicy.php(89): CRM_Queue_Page_AJAX::{closure}()
31 ...\sites\all\modules\civicrm\CRM\Queue\Page\AJAX.php(38): CRM_Queue_ErrorPolicy->call(Object(Closure))
32 ...\sites\all\modules\civicrm\CRM\Core\Invoke.php(279): CRM_Queue_Page_AJAX::runNext()
33 ...\sites\all\modules\civicrm\CRM\Core\Invoke.php(69): CRM_Core_Invoke::runItem((Array:13))
34 ...\sites\all\modules\civicrm\CRM\Core\Invoke.php(36): CRM_Core_Invoke::_invoke((Array:4))
35 ...\sites\all\modules\civicrm\drupal\civicrm.module(471): CRM_Core_Invoke::invoke((Array:4))
36 ...\includes\menu.inc(527): civicrm_invoke("queue", "ajax", "runNext")
37 ...\index.php(21): menu_execute_active_handler()
38 {main}
```5.46.0https://lab.civicrm.org/dev/report/-/issues/89SearchKit: Custom integer field in-place edit doesn't let you blank out the f...2022-04-22T15:53:54ZDaveDSearchKit: Custom integer field in-place edit doesn't let you blank out the field, and (sort of) validates incorrectlyFollowing on from https://github.com/civicrm/civicrm-core/pull/22293, if you have a custom integer field in your search display and it has in-place edit, when you blank out the field and click the checkmark it just keeps the original val...Following on from https://github.com/civicrm/civicrm-core/pull/22293, if you have a custom integer field in your search display and it has in-place edit, when you blank out the field and click the checkmark it just keeps the original value instead of blanking it out.
I could put in 0, but I have a use-case where 0 is different from blank. I'm sure I could work around it, but it's inconsistent with how e.g. the contact edit form works with an integer custom field.
The validation part is that if I type in "aaaa" into the integer field, it correctly doesn't change the value, but has a "Saved" success message. Minor thing.5.46.0https://lab.civicrm.org/dev/report/-/issues/88Search Kit: "Combine text" field transformation seems to break output2022-04-22T15:52:56ZherbdoolSearch Kit: "Combine text" field transformation seems to break outputWhen changing a field transformation to Combine text, such as for doing something simple of Last Name, First name, it breaks the output. That is, I get a flash and then nothing appears in the results. When I switch it back to no transfor...When changing a field transformation to Combine text, such as for doing something simple of Last Name, First name, it breaks the output. That is, I get a flash and then nothing appears in the results. When I switch it back to no transformation it works.
I made sure to test it again with a fresh install of 5.46.x and replicated it.
I didn't see anything meaningful in the console.log (not sure if there's a debugging option). The only thing I saw was a persistent 500 error when attempting to reach https://XXXX.XX/civicrm/ajax/api4. Which I don't get without the field transformation.
Actually, I just replicated it on a dev site on a different server (wasn't sure if it was related to Lando). This site was running 5.43.x. This one gave a bit more information:
```
Uncaught Error: Syntax error, unrecognized expression: #/create/Contact?params=%7B%22version%22:4,%22select%22:%5B%22id%22,%22CONCAT_WS(display_name)%20AS%20CONCAT_WS_display_name%22%5D,%22orderBy%22:%7B%7D,%22where%22:%5B%5D,%22groupBy%22:%5B%5D,%22join%22:%5B%5D,%22having%22:%5B%5D%7D
at Function.se.error (jquery.min.js?v=3.6.0:2)
at se.tokenize (jquery.min.js?v=3.6.0:2)
at se.select (jquery.min.js?v=3.6.0:2)
at Function.se [as find] (jquery.min.js?v=3.6.0:2)
at S.fn.init.find (jquery.min.js?v=3.6.0:2)
at new S.fn.init (jquery.min.js?v=3.6.0:2)
at S (jquery.min.js?v=3.6.0:2)
at handleFragmentLinkClickOrHashChange (form.js?v=9.2.10:144)
at debounce.js?v=9.2.10:31
at dispatch (jquery.min.js?v=3.6.0:2)
```https://lab.civicrm.org/dev/report/-/issues/85Contact Logging Detail report crashes when a contribution and contact are upd...2022-04-22T15:53:56ZJonGoldContact Logging Detail report crashes when a contribution and contact are updated togetherThis is a regression, but it dates back to Civi 5.35, so I'm not going to target the RC.
### Steps to replicate
* Turn on advanced logging.
* Record a donation through a contribution page for either a) a new contact, b) an existing cont...This is a regression, but it dates back to Civi 5.35, so I'm not going to target the RC.
### Steps to replicate
* Turn on advanced logging.
* Record a donation through a contribution page for either a) a new contact, b) an existing contact, but adding/changing their name.
* Go to that contact's change log, and try to view the details of the most recent change (by clicking **Update** next to the change).
### Expected result
You see the changes.
### Actual result
`DB Error: Syntax Error`.
This regression comes from [PR 19504](https://github.com/civicrm/civicrm-core/pull/19504). Previously, not every DAO had a `_labelField` property - so `CRM_Logging_ReportDetail::convertForeignKeyValuesToLabels()` checking if the property existed was basically the same as checking if it was defined. Now it will always exist (in `CRM_Core_DAO`) but not always be defined. So we change the conditional to reflect that.5.48.0JonGoldJonGoldhttps://lab.civicrm.org/dev/report/-/issues/84SearchKit/Form: exposing a Date custom field has invalid year range2022-04-22T15:51:15ZbgmSearchKit/Form: exposing a Date custom field has invalid year rangeTo reproduce on dmaster:
1) Create a new Custom Field (ex: Lucky Day), type 'Date', searchable, by range.
![image](/uploads/bf2abb0ce3a8dd80ebe644506700a380/image.png)
Optionally you can update a contact, so that at least one has a Lu...To reproduce on dmaster:
1) Create a new Custom Field (ex: Lucky Day), type 'Date', searchable, by range.
![image](/uploads/bf2abb0ce3a8dd80ebe644506700a380/image.png)
Optionally you can update a contact, so that at least one has a Lucky Day, but it is not a requirement to reproduce the bug. For extra luck, I used 2021-08-13.
2) Create a SearchKit that lists Contacts, and display the field
3) Create a Form for that Search, and expose the Lucky Day field as a filter. Give the form an URL to view the page.
![image](/uploads/491b27b752a57122cde45e1d8f70ccf0/image.png)
Then go view the form, and notice how the date filter only lets you select dates in 2021:
![image](/uploads/8148eeb65edf2de3ee68eb7ec3888da3/image.png)
If you go back to the custom field configuration, and set a number of years in the "Dates may be up to" prior/after, then the filter works correctly. However, having these fields empty usually means that there are no restrictions (or they default to -20/+10 years).5.46.0https://lab.civicrm.org/dev/report/-/issues/83Searchkit: OptionValue search with a WHERE clause for option group returns 0 ...2022-04-22T15:52:43ZDaveDSearchkit: OptionValue search with a WHERE clause for option group returns 0 resultsThis worked the first time I tested https://github.com/civicrm/civicrm-core/pull/22081 two weeks ago, so has broken some time in between.
It looks like the query does this, mixing up `name` and `value`:
```
"where": [
[
"opti...This worked the first time I tested https://github.com/civicrm/civicrm-core/pull/22081 two weeks ago, so has broken some time in between.
It looks like the query does this, mixing up `name` and `value`:
```
"where": [
[
"option_group_id:name",
"=",
"2"
]
],
```5.44.0https://lab.civicrm.org/dev/report/-/issues/77Can't filter by anything other than contribution status in Contribution Aggre...2022-04-22T15:51:20ZDaveDCan't filter by anything other than contribution status in Contribution Aggregate by Relationship CiviReportThere's a hack(?) in the report to allow filtering by status: https://github.com/civicrm/civicrm-core/blob/08e8cd56136aed47f3c9e598c2d9f318d6c81977/CRM/Report/Form/Contribute/History.php#L432-L434
and then the query uses it at https://g...There's a hack(?) in the report to allow filtering by status: https://github.com/civicrm/civicrm-core/blob/08e8cd56136aed47f3c9e598c2d9f318d6c81977/CRM/Report/Form/Contribute/History.php#L432-L434
and then the query uses it at https://github.com/civicrm/civicrm-core/blob/08e8cd56136aed47f3c9e598c2d9f318d6c81977/CRM/Report/Form/Contribute/History.php#L688-L690
(Yes this report is in a file called History.php - I assume for _historical_ reasons...)
But choosing to filter by anything else doesn't apply the filter.
1. Create two contributions for a person, with different financial types.
1. Run the report and check the Aggregate Amount column and filter by one financial type.
1. It still includes both contributions.
There's an argument that this is "correct" in the sense described at https://lab.civicrm.org/dev/core/-/issues/2707#note_62816, i.e. "Find contacts that match the criteria, THEN run the report on them", so that it's finding _CONTACTS_ that have a contribution with that financial type, and then running the report and aggregating their contributions. But this report isn't a generic advanced search, it's specifically related to contributions, so I'd argue the contribution filters should apply to the contributions being included.
I can see why this might be a little difficult in this report because it needs to build the rows separately to handle the relationships, so it doesn't just use the stock civireport framework to do the filtering. But maybe the "hack" could be made more generic.
The report also gives an error `User deprecated function: Formatting non-numeric values is no longer supported: ... Caller: CRM_Utils_Money::formatLocaleNumericRoundedByPrecision` but that's separate. (Edit: Haha it seems I've noticed this before https://lab.civicrm.org/dev/core/-/issues/2819)5.45.0https://lab.civicrm.org/dev/report/-/issues/76Search Kit: Dropdown for the related contacts entity says "name" but for disp...2022-04-22T15:47:20ZDaveDSearch Kit: Dropdown for the related contacts entity says "name" but for display it shows "label"The field that's in the relationship_cache table is the `name` of the relationship type, so it does make sense that any dropdowns related to it would say `name`. However when you are selecting columns to include in the output, what it ac...The field that's in the relationship_cache table is the `name` of the relationship type, so it does make sense that any dropdowns related to it would say `name`. However when you are selecting columns to include in the output, what it actually displays in the table (correctly I would say) is `label`. So there's a minor disconnect.
![Untitled](/uploads/cb49a36f417ece8211c0da15e5f50c51/Untitled.png)https://lab.civicrm.org/dev/report/-/issues/73Search Kit doesn't display related contact custom fields2022-04-22T15:51:13ZJonGoldSearch Kit doesn't display related contact custom fieldsIf you have a Search Kit that includes a related contact, displaying the related contact's custom data will actually show the main contact's custom data.
See screenshots below. Teresa has a most important issue of "Education", Santina'...If you have a Search Kit that includes a related contact, displaying the related contact's custom data will actually show the main contact's custom data.
See screenshots below. Teresa has a most important issue of "Education", Santina's is "Social Justice". When I build a search and include both the `Constituent Information: Most Important Issue` and `Contact Related Contacts: Constituent Information: Most Important Issue` columns, they both have the same value.
![Selection_1184](/uploads/2784f2b7cb49e719f7d635ad9944d17b/Selection_1184.png)
![Selection_1185](/uploads/6daea0fb4b9d2e5db34913e9efff23c8/Selection_1185.png)
![Selection_1186](/uploads/a80892c685eca80550e1dfd09002b548/Selection_1186.png)5.42.0https://lab.civicrm.org/dev/report/-/issues/70Search Kit: Selecting one row selects all rows when embedded in a contact tab2022-04-22T15:51:37ZJonGoldSearch Kit: Selecting one row selects all rows when embedded in a contact tabSome Search Kit forms don't allow selecting individual contacts when embedded in an afform on a contact tab.
### Steps to replicate
* Create a Search Kit search matching the one in the screenshot below.
* Create a display of type "table...Some Search Kit forms don't allow selecting individual contacts when embedded in an afform on a contact tab.
### Steps to replicate
* Create a Search Kit search matching the one in the screenshot below.
* Create a display of type "table". Keep the defaults except "Enable Actions" should be checked.
* Create a new Afform with this search. Place it on a standalone page, also embed it in a contact tab.
* On a contact that has multiple employers, attempt to check the box next to one employer to use the action.
![Selection_1137](/uploads/394310280857735dd182c44936c0e988/Selection_1137.png)
### Expected behavior
Selecting one contact should only check the one box.
### Actual behavior
Checking any box checks/unchecks all boxes - but only on the form embedded on a tab. The standalone form works normally.
### Comments
I thought that perhaps PR [#20558](https://github.com/civicrm/civicrm-core/pull/20558) was related to this - but it certainly seems like a bug if the behavior on the standalone form and the form on the contact don't match.https://lab.civicrm.org/dev/report/-/issues/68500 error saving Search Kit Smart Group sorted on aggregated field2022-04-22T15:51:16ZBobS500 error saving Search Kit Smart Group sorted on aggregated fieldUpon saving a Search Kit Smart Group search sorted on an aggregated field, the server throws a 500 error (as seen in the browser console window) and the form continues to display the "Saving" status indefinitely.
Error occurs in Civi/Ap...Upon saving a Search Kit Smart Group search sorted on an aggregated field, the server throws a 500 error (as seen in the browser console window) and the form continues to display the "Saving" status indefinitely.
Error occurs in Civi/Api4/Query/Api4SelectQuery.php::buildOrderBy() with <br>
`Invalid field 'GROUP_CONCAT_DISTINCT_Contact_ActivityContact_Activity_01_subject'`
To recreate:
- Search | Search Kit: New Search
- Search for: Contacts.
- With Optional: Contact Activities If Contact Role = Activity Targets.
- Group By: Contact ID.
- Aggregate Fields: Subject: List Distinct.
- In the search result list, click the "Contact Activities: (List) Subject" header to sort by that column.
- Add: Smart Group.
- Enter titles for the Search Kit search and Smart Group
- Click Save.
- Observe "Saving" status, error in browser console and in Civi log file.
Civi 5.38.0. Confirmed on Demo site.https://lab.civicrm.org/dev/report/-/issues/66Reports need validation on Email Delivery fields2022-04-22T15:48:26ZandrewcormickdockeryReports need validation on Email Delivery fieldsSee attached image. When trying to send reports via the Email Delivery tab, the emails do not get sent if invalid characters are included in either the To or the CC fields. In our case, the user included extraneous spaces and commas, a...See attached image. When trying to send reports via the Email Delivery tab, the emails do not get sent if invalid characters are included in either the To or the CC fields. In our case, the user included extraneous spaces and commas, as shown in the diagram. No warning is given to the user in this instance, which leads to confusion when the emails don't get sent, and a system administrator needs to examine errors on the back end to determine the problem and correct it. It would be much preferable for appropriate validation to occur on these fields to prevent invalid values from being entered in the first place, with messages being displayed towards the user entering the invalid values.
URL for this screen: https://example.com/civicrm/report/instance/####?reset=1&output=criteria where #### is the report instance ID.
CiviCRM version: 5.35.2
![image](/uploads/d1fb446ce1c82f0d10b7a57a64f6753b/image.png)