CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2024-03-22T05:03:27Zhttps://lab.civicrm.org/dev/core/-/issues/3768Improvement to Case Detail report2024-03-22T05:03:27ZyashodhaImprovement to Case Detail reportExpose some of the useful columns and filters :
- expose city in case detail report
- add filter for 'Activity type of the last activity'Expose some of the useful columns and filters :
- expose city in case detail report
- add filter for 'Activity type of the last activity'yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/3757Users with administer_reports should be able to delete dashlets from the dash...2024-03-19T05:03:27ZandyburnsUsers with administer_reports should be able to delete dashlets from the dashboardThe current behavior I see is anyone with `administer_reports` can access the "Access" tab in a given report in CiviReport. Therefore, they can create dashlets. However, upon making a dashlet available for the dashboard, these can not be...The current behavior I see is anyone with `administer_reports` can access the "Access" tab in a given report in CiviReport. Therefore, they can create dashlets. However, upon making a dashlet available for the dashboard, these can not be removed by that same user, potentially resulting in a cluttered dashboard and user frustration.
Non-admins are missing trash can delete function:
![image](/uploads/206f154220c69227a784cc2d40e87a39/image.png)
Admin sees trash can:
![image](/uploads/21dbc1ca9cc3247a4752324df98a68b2/image.png)
Sure, interest in civireport is quite low now but this same behavior affects dashlets created from search kit.
For search kit, I would set that `administer data` or maybe `administer_reports` would be the needed permission to remove dashlets. Currently, it is not enough.https://lab.civicrm.org/dev/core/-/issues/3647Deleting C or Final mailing for A/B test makes report on A and B segments unv...2024-02-24T05:03:28ZlarsssandergreenDeleting C or Final mailing for A/B test makes report on A and B segments unviewableIf you create and A/B test, send the A & B segments and then delete the C or Final segment from Draft and Unscheduled Mailings, you can no longer view the mailing report for the A/B test. The mailing report URL just shows a blank page wi...If you create and A/B test, send the A & B segments and then delete the C or Final segment from Draft and Unscheduled Mailings, you can no longer view the mailing report for the A/B test. The mailing report URL just shows a blank page with header and footer.
I think it is probably not that uncommon an occurrence for someone to create an A/B test and later need to make a small change to the final version before sending it. That's easy enough to do by re-using one of the mailings and excluding the A and B mailings from your recipients. However, you will probably delete the C mailing from the unscheduled list at this point and then no longer be able to view the original A/B mailing report.
I'm testing on 5.28.4. This happens with both Mosaico and traditional mailings.https://lab.civicrm.org/dev/core/-/issues/2819Contribution Aggregate by Relationship civireport has deprecation notice abou...2023-12-28T05:03:22ZDaveDContribution Aggregate by Relationship civireport has deprecation notice about formatting non-numeric values`User deprecated function: Formatting non-numeric values is no longer supported: Díaz, Santina Caller: CRM_Utils_Money::formatLocaleNumericRoundedByPrecision in CRM_Core_Error::deprecatedWarning() (line 1060 of /srv/buildkit/build/dmaste...`User deprecated function: Formatting non-numeric values is no longer supported: Díaz, Santina Caller: CRM_Utils_Money::formatLocaleNumericRoundedByPrecision in CRM_Core_Error::deprecatedWarning() (line 1060 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Error.php).`
Repeated many times.
A proper solution maybe involves checking the field data type first but a quick fix is to wrap https://github.com/civicrm/civicrm-core/blob/28878097fa2908956cac2df1f63e7ce32bb85668/CRM/Report/Form/Contribute/History.php#L821 with `if is_numeric($value) {`:
L821: `$value = CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency($value);`
The reason that quickfix isn't enough is because this report will do something like format a postal code 90210 as "90,210.00" if you include that field in the columns, but that pre-dates the deprecation.https://lab.civicrm.org/dev/core/-/issues/3217[Feature] Please give us the option to disable subtotals for Soft Credit Cont...2023-12-26T05:03:25Zswebervna[Feature] Please give us the option to disable subtotals for Soft Credit Contribution ReportsCurrently, Soft Credit Contribution Reports always output subtotal: ![image](https://lab.civicrm.org/dev/mail/uploads/39254fd8a1be8b42d9889da4230d91d0/image.png)
I think it would be nice to disable this as an option, so we can remove th...Currently, Soft Credit Contribution Reports always output subtotal: ![image](https://lab.civicrm.org/dev/mail/uploads/39254fd8a1be8b42d9889da4230d91d0/image.png)
I think it would be nice to disable this as an option, so we can remove the subtotal if we don't need them.https://lab.civicrm.org/dev/core/-/issues/3210Report Listing improved UX2023-12-23T05:03:22ZJonGoldReport Listing improved UXWhen you go to **Reports menu » X Reports**, where `X` is anything, you get the report listing page (`CRM_Report_Page_InstanceList`). This page hard-codes the order the reports appear in.
* First by component
* Second by the weight o...When you go to **Reports menu » X Reports**, where `X` is anything, you get the report listing page (`CRM_Report_Page_InstanceList`). This page hard-codes the order the reports appear in.
* First by component
* Second by the weight of the report template ID in the `report_template` option value list
* Third alphabetized by title.
The second sort criterium is the problematic one. I propose we sort by component, then alphabetically.
I assume the original thinking was, "Let's keep all the Contribution Summary reports together, all the Contribution Detail reports", etc. However, I think this isn't an ideal UX:
* Users don't know (or care about) the order of report templates in the option value list.
* Reports can be sorted any number of ways: By user, department, workflow - but those are unlikely to map to report templates.
* This is all especially true in an era where there's many report extensions that provide overlapping reports with core (Extended Reports, Reports Plus, Pivot Reports). I think it makes more sense not to sort by report type.JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3207Reports need validation on Email Delivery fields2023-12-21T05:03:21ZandrewcormickdockeryReports 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/3992c1afe0180afe2815b0ca7ec2f6a0/image.png)https://lab.civicrm.org/dev/core/-/issues/3201Participant Listing report Unknown column 'contact_civireport.age_at_event2023-12-20T05:03:24ZEmerykZielinskiParticipant Listing report Unknown column 'contact_civireport.age_at_eventHey all,
when I try to sort Participant Listing report by age of the Participant (in the time of the event) i get the following error:
`[debug] $backTrace = #0 /var/www/html/sites/all/modules/civicrm/CRM/Core/Error.php(208): CRM_Core_E...Hey all,
when I try to sort Participant Listing report by age of the Participant (in the time of the event) i get the following error:
`[debug] $backTrace = #0 /var/www/html/sites/all/modules/civicrm/CRM/Core/Error.php(208): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /var/www/html/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(922): CRM_Core_Error::handle(Object(DB_Error))
#2 /var/www/html/sites/all/modules/civicrm/packages/DB.php(987): PEAR_Error->__construct("DB Error: no such field", -19, 16, (Array:2), "SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...")
#3 /var/www/html/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB_Error->__construct(-19, 16, (Array:2), "SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...")
#4 /var/www/html/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -19, 16, (Array:2), "SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...", "DB_Error", TRUE)
#5 /var/www/html/sites/all/modules/civicrm/packages/DB/common.php(1920): PEAR->__call("raiseError", (Array:7))
#6 /var/www/html/sites/all/modules/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-19, NULL, NULL, "SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...", "1054 ** Unknown column 'contact_civireport.age_at_event' in 'field list'")
#7 /var/www/html/sites/all/modules/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError()
#8 /var/www/html/sites/all/modules/civicrm/packages/DB/common.php(1229): DB_mysqli->simpleQuery("SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...")
#9 /var/www/html/sites/all/modules/civicrm/packages/DB/DataObject.php(2416): DB_common->query("SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...")
#10 /var/www/html/sites/all/modules/civicrm/packages/DB/DataObject.php(1607): DB_DataObject->_query("SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...")
#11 /var/www/html/sites/all/modules/civicrm/CRM/Core/DAO.php(435): DB_DataObject->query("SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...")
#12 /var/www/html/sites/all/modules/civicrm/CRM/Core/DAO.php(1428): CRM_Core_DAO->query("SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...", TRUE)
#13 /var/www/html/sites/all/modules/civicrm/CRM/Report/Form.php(3076): CRM_Core_DAO::executeQuery("SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...")
#14 /var/www/html/sites/all/modules/civicrm/CRM/Report/Form.php(3561): CRM_Report_Form->buildRows("SELECT SQL_CALC_FOUND_ROWS contact_civireport.sort_name as civicrm_contact_so...", (Array:0))
#15 /var/www/html/sites/all/modules/civicrm/CRM/Report/Form/Event/ParticipantListing.php(616): CRM_Report_Form->postProcess()
#16 /var/www/html/sites/all/modules/civicrm/CRM/Core/Form.php(495): CRM_Report_Form_Event_ParticipantListing->postProcess()
#17 /var/www/html/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Submit.php(74): CRM_Core_Form->mainProcess()
#18 /var/www/html/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Submit->perform(Object(CRM_Report_Form_Event_ParticipantListing), "submit")
#19 /var/www/html/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Report_Form_Event_ParticipantListing), "submit")
#20 /var/www/html/sites/all/modules/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("submit")
#21 /var/www/html/sites/all/modules/civicrm/CRM/Utils/Wrapper.php(114): CRM_Core_Controller->run()
#22 /var/www/html/sites/all/modules/civicrm/CRM/Report/Page/Instance.php(90): CRM_Utils_Wrapper->run("CRM_Report_Form_Event_ParticipantListing", NULL, (Array:0))
#23 /var/www/html/sites/all/modules/civicrm/CRM/Core/Invoke.php(284): CRM_Report_Page_Instance->run((Array:4), NULL)
#24 /var/www/html/sites/all/modules/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:14))
#25 /var/www/html/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#26 /var/www/html/sites/all/modules/civicrm/drupal/civicrm.module(444): CRM_Core_Invoke::invoke((Array:4))
#27 /var/www/html/includes/menu.inc(527): civicrm_invoke("report", "instance", "26")
#28 /var/www/html/index.php(21): menu_execute_active_handler()
#29 {main}`
is there a way to set up the column `contact_civireport.age_at_event` by myself?https://lab.civicrm.org/dev/core/-/issues/3198Can't see Soft Credit fields on a Contribution Detail Report?2023-12-18T05:03:27ZswebervnaCan't see Soft Credit fields on a Contribution Detail Report?When I add Soft Credit columns to a Contribution Detail Report, the data doesn't show - they're just empty cells:
![image](/uploads/63ee33909c9e1a3b9e314bbd3cd0308e/image.png)
(That first row/entry you see is in fact a contribution with...When I add Soft Credit columns to a Contribution Detail Report, the data doesn't show - they're just empty cells:
![image](/uploads/63ee33909c9e1a3b9e314bbd3cd0308e/image.png)
(That first row/entry you see is in fact a contribution with a soft credit, I checked.)https://lab.civicrm.org/dev/core/-/issues/3196Event ID is displaying Event Title in reports2023-12-17T05:03:31ZjgentlesEvent ID is displaying Event Title in reportsFirst, when you run a report and include the event ID column in some cases it displays the event title instead. In other cases, it does not show anything for the event id field. This is in CiviCRM 5.36.1.First, when you run a report and include the event ID column in some cases it displays the event title instead. In other cases, it does not show anything for the event id field. This is in CiviCRM 5.36.1.https://lab.civicrm.org/dev/core/-/issues/3176Contribution Detail report does not import filters passed on URL causing wron...2023-12-15T05:03:27ZRichContribution Detail report does not import filters passed on URL causing wrong data to be returnedOverview
----------------------------------------
You can click through from the Contribution Summary report to 'drill-down' into a group of contribution records, e.g. for a given month. This launches a Contribution Details report with ...Overview
----------------------------------------
You can click through from the Contribution Summary report to 'drill-down' into a group of contribution records, e.g. for a given month. This launches a Contribution Details report with the date filter on the URL query string. It shows the correct results, but it loads an empty form for the report. This means that when you submit the form, e.g. click View Results, or choose CSV download, it's not operating without that date filter.
This is a problem because people come through wanting a csv, say, of some segment of the data, but instead they get *all* contributions, ever(!) which is (a) wrong and (b) may crash the server (out of memory).
Reproduction steps
----------------------------------------
(this works with the sample data in civibuildkit)
1. click: Reports » Contribution Reports
2. click: Contribution Summary Report
3. click Refresh Report to get some data to look at
4. click a month in the report, note the number of contributions, e.g. *N*
5. you should see a contribution detail report with *N* rows.
6. click the **View results** button (or choose export CSV) - expecting to still see *N* rows...
7. you will now see a contribution details report for *all* contributions; the filters passed through in (4) are lost.
Current behaviour
----------------------------------------
Filters not imported to form; cannot download CSV of correct results.
Expected behaviour
----------------------------------------
Filters should be imported into the form so that CSV download works.
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __CiviCRM:__ 5.47
* __PHP:__ 7.4
Comments
----------------------------------------
I don't know whether other params can be passed into the report in the same way, and whether this bug also affects those, or whether it's just date.https://lab.civicrm.org/dev/core/-/issues/3164Report Filter Statistics don't show filters with value of "0"2023-12-13T05:03:28ZAllenShawReport Filter Statistics don't show filters with value of "0"Reproduce on dmaster as of today's date:
- Open a report (e.g. Constituent Summary) and specify a value of "0" for any filter (e.g. Postal Code Suffix :: contains :: "0")
- Refresh results and observe.
- Good behavior:
- The filter a...Reproduce on dmaster as of today's date:
- Open a report (e.g. Constituent Summary) and specify a value of "0" for any filter (e.g. Postal Code Suffix :: contains :: "0")
- Refresh results and observe.
- Good behavior:
- The filter appears to be used to limit the output of the report (e.g. it shows only contacts having "0" in their Postal Code Suffix)
- Other specified filters (e.g. Is Deceased :: is equal to :: no) display correctly in the Filter Statistics section above report rows.
- Bad behavior
- The filter with a 0 value is not displayed in the Filter Statistics
![filter-0](/uploads/6e0b1d2fefa38b41e9fe4fd66deb7062/filter-0.png)
Proposed fix:
I believe this patch should fix the problem. Maybe somebody wants to use this as a starting point for a PR:
```
diff --git a/CRM/Report/Form.php b/CRM/Report/Form.php
index 9793e13..c27e48f 100644
--- a/CRM/Report/Form.php
+++ b/CRM/Report/Form.php
@@ -3510,7 +3510,7 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
$value = CRM_Utils_Array::value($op, $pair) . " " .
CRM_Utils_Array::value($val, $field['options'], $val);
}
- elseif ($val) {
+ elseif ($val || $val == '0') {
$value = CRM_Utils_Array::value($op, $pair) . " " . $val;
}
}
```https://lab.civicrm.org/dev/core/-/issues/1416Export to PDF with useful filename2023-11-22T05:03:22ZCoreyBurgerExport to PDF with useful filenameIf you export a report to PDF, the file name is "CiviReport.PDF". That is a major headache if you are exporting multiple reports. Ideally, the report should be exported with some kind of useful title, likely a shortening of the report titleIf you export a report to PDF, the file name is "CiviReport.PDF". That is a major headache if you are exporting multiple reports. Ideally, the report should be exported with some kind of useful title, likely a shortening of the report titlehttps://lab.civicrm.org/dev/core/-/issues/3053Usability issue reported by user: All Reports page overrides report results s...2023-11-20T05:03:18ZDevAppUsability issue reported by user: All Reports page overrides report results settingWhen clicking on a report name on the All Reports page located at /wp-admin/admin.php?page=CiviCRM&q=civicrm%2Freport%2Flist&reset=1
The resulting link loads the report with output=criteria on the end. This stops the default parameters ...When clicking on a report name on the All Reports page located at /wp-admin/admin.php?page=CiviCRM&q=civicrm%2Freport%2Flist&reset=1
The resulting link loads the report with output=criteria on the end. This stops the default parameters of the results from loading, which was set to view results. The user expected results to appear when loading the report per the saved report setting. The result to the user is the report is broken.
The output=criteria is overriding the saved report behaviour. Whilst there is a view results button the right hand side of the All Reports page, it does create some confusion to the user with consistency. Perhaps if the setting is already set on the report to view results, the output=criteria could be removed from that link to create consistency... Or the GUI clearer about why the report wasn't run.
This isn't a bug, but more a usability issue.https://lab.civicrm.org/dev/core/-/issues/3012Expose email on hold as filter for reports2023-11-14T05:03:22ZyashodhaExpose email on hold as filter for reportsIt would be helpful to have email on hold exposed as filter for reportsIt would be helpful to have email on hold exposed as filter for reportsyashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/3202In membership detail report the join date field has a different output date f...2023-11-10T00:08:12ZDaveDIn membership detail report the join date field has a different output date format than the other date fieldsCan reproduce on dmaster.demo.
On the membership details report in the columns tab select join date as a field. When you run the report the join date column has a different date format than the start/end date. It seems to always be yyyy...Can reproduce on dmaster.demo.
On the membership details report in the columns tab select join date as a field. When you run the report the join date column has a different date format than the start/end date. It seems to always be yyyy-mm-dd.
Doesn't seem to be a recent issue.5.69.0https://lab.civicrm.org/dev/core/-/issues/2944Make report column groups hookable2023-10-13T05:03:24ZyashodhaMake report column groups hookableProvide a way to manipulate column groups in report to change the order of the column checkboxes in the _Columns_ tab.Provide a way to manipulate column groups in report to change the order of the column checkboxes in the _Columns_ tab.yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/2723Event participant role filter not working in Participant list report2023-09-08T05:03:14ZvitiusEvent participant role filter not working in Participant list reportParticipant list report with Event participant role filter could show more rows.
Reproduction steps
----------------------------------------
1. Create new participant role with id 11 (or 10, 21,...).
2. Register new participant to event...Participant list report with Event participant role filter could show more rows.
Reproduction steps
----------------------------------------
1. Create new participant role with id 11 (or 10, 21,...).
2. Register new participant to event with this new role
3. Show Participant list report on this event
4. Use Participant Role filter to show only Attendees (id of attendee role is 1)
5. In report will you see also participant with new role with id 11
Current behaviour
----------------------------------------
If you use Participant Role filter in Participant list report, that will be work like that: `role.id LIKE '%1%'` and not like `role.id = '1'`.
Expected behaviour
----------------------------------------
Report should show only exact role.
Environment information
----------------------------------------
* __CiviCRM:__ _Master/5.37.0/5.33.2https://lab.civicrm.org/dev/core/-/issues/2670Emails shown in mailing reports are primary accounts and not the recipient email2023-08-28T05:03:24Zphil.mooreEmails shown in mailing reports are primary accounts and not the recipient emailThe email address listed in mailing reports is the 'primary' email address for the contacts mailed. This is regardless of whether the mailing was sent to the 'primary' email address or if an alternative email had been selected.
Eg. cont...The email address listed in mailing reports is the 'primary' email address for the contacts mailed. This is regardless of whether the mailing was sent to the 'primary' email address or if an alternative email had been selected.
Eg. contacts have work addresses listed as 'primary' and personal addresses listed as 'home'. The mailing is sent to 'home' email addresses, but the emails listed in the report are the 'primary' emails. This gives a false representation to the user of which email address the mailing has gone to.https://lab.civicrm.org/dev/core/-/issues/4532Add sort for country/state fields in reports2023-08-24T15:17:42ZyashodhaAdd sort for country/state fields in reportsAdd sort for country/state fields in reportsAdd sort for country/state fields in reports5.66.0yashodhayashodha