CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2023-08-24T15:17:42Zhttps://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.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4106Add filter on pledge payment in contribution report templates2023-02-28T06:44:39ZyashodhaAdd filter on pledge payment in contribution report templates Add a filter on "contribution is a pledge payment Yes/No" in contribution report templates Add a filter on "contribution is a pledge payment Yes/No" in contribution report templatesyashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/3992Expose created date column in contact reports2022-11-16T21:33:39ZyashodhaExpose created date column in contact reportsExpose created date column in contact reports and as filter as well.Expose created date column in contact reports and as filter as well.5.57.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/3825Changing report rows per page doesn't change rows per page, but limits what i...2022-09-26T20:22:56ZspalmstromChanging report rows per page doesn't change rows per page, but limits what is displayed.Overview
----------------------------------------
Changing the Rows Per Page value at the bottom of the report gives strange results.
Reproduction steps
----------------------------------------
1. Click on **Reports** and choose say a **...Overview
----------------------------------------
Changing the Rows Per Page value at the bottom of the report gives strange results.
Reproduction steps
----------------------------------------
1. Click on **Reports** and choose say a **Contact** report.
1. Click on **View Results**.
1. You get a report with 50 rows.
1. Change the Rows Per Page to something other than 50
Current behaviour
----------------------------------------
You still get 50 rows per page. The figure for the number of pages available may be different and you might not even be able to see the remaining values.
I put 75 rows per page into Activity Details on the Drupal Sandbox and got:
![image](/uploads/1c115534c79b8b08d18e0c31633f4563/image.png)
Expected behaviour
----------------------------------------
I should have seen 72 rows on the page or at least be able to go to the next 22 rows.
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. -->
* __Browser:__ _MS Edge_ but probably irrelevant.
* __CiviCRM:__ _5.54.alpha1/5.52.2_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _7.4.30_ but probably irrelevant.
* __CMS:__ _Drupal Whatever the sandbox runs_ but probably irrelevant
* __Database:__ _Whatever the sandbox runs_ but probably irrelevant.
* __Web Server:__ _Whatever the sandbox runs/IIS 10_ but probably irrelevant.
Comments
----------------------------------------
_Anything else you would like the reviewer to note._5.55.0https://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/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/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/3228Can't filter by anything other than contribution status in Contribution Aggre...2022-04-22T15:51:19ZDaveDCan'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/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/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/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/2684CiviReport grouping broken wrt filters2021-07-16T13:07:53ZeileenCiviReport grouping broken wrt filtersWhen declaring columns for civireport there is a 'grouping' mechanism - to group tables together - but in the UI it doesn't work because the tpl doesn't know how to group them together
![image](/uploads/666557d6e2606a320e59005aa277ed58/...When declaring columns for civireport there is a 'grouping' mechanism - to group tables together - but in the UI it doesn't work because the tpl doesn't know how to group them together
![image](/uploads/666557d6e2606a320e59005aa277ed58/image.png)5.41.0https://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/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/2628Contribution Detail Report Select County2023-08-15T05:03:14ZandyburnsContribution Detail Report Select CountyThis report `CRM_Report_Form_Contribute_Detail`, and any reports based on it, have the order of Country, State, County wrong. It allows you to select the County first, then State, then Country. e.g. There are 12 entries for Douglas Count...This report `CRM_Report_Form_Contribute_Detail`, and any reports based on it, have the order of Country, State, County wrong. It allows you to select the County first, then State, then Country. e.g. There are 12 entries for Douglas County in Colorado, USA, and choosing the wrong one returns no donations. The order of these fields needs to be reversed, so that only the counties in the selected state are shown and this would match how Advanced Search works.
![image](/uploads/c3a5ae49d598a698df9d6423298decba/image.png)
Revised order:
1. Country
1. State/Province
1. Countyhttps://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/2574Grant report: Grant details not showing properly state/province and country2021-04-28T05:32:44ZVangelisPGrant report: Grant details not showing properly state/province and country## Issue
This issue is similar to the one reported [here - #220](https://lab.civicrm.org/dev/core/-/issues/220)
On the Detailed Grant report, the state/province shows the numeric values instead of the actual text labels.
## How to rep...## Issue
This issue is similar to the one reported [here - #220](https://lab.civicrm.org/dev/core/-/issues/220)
On the Detailed Grant report, the state/province shows the numeric values instead of the actual text labels.
## How to replicate
On https://dmaster.demo.civicrm.org create 1-2 grants. Then go to Grants - Grant Reports -> Allow state/province in the list of columns and render the report.
![image](/uploads/dea83dd0ab256d3fcea7b7d017b9ac14/image.png)
`Country` and `state/province` show numeric values instead.
## How to fix
Adding the following line:
`$entryFound = $this->alterDisplayAddressFields($row, $rows, $rowNum, NULL, NULL) ? TRUE : $entryFound;`
before [here](https://lab.civicrm.org/dev/core/-/blob/master/CRM/Report/Form/Grant/Detail.php#L248) seems to be solving the issue (code replicated from issue #220)
Edit: PR is [here - 20169](https://github.com/civicrm/civicrm-core/pull/20169)5.38.0