HomePhabricator

This commit contains new features for CiviCRM's report interface.

Description

This commit contains new features for CiviCRM's report interface.

  • Add report menu items for each report instance nested within the report component. There is now a special link you can click on the Navigation admin page that allows the user to reset the reports navigation menu to a default state. Civi has no method for handling upgrading the menu structure to match changes made to the menu in an update. Those changes are stored in a one-off sql template file and once they get loaded during installation, they are never used again. So, this commit does the grunt work of migrating old installation's Reports menu to use the new Reports menu structure we've implemented.
  • Do not show results when first going to the report criteria page. For reports that take a long time to generate, having the report run immediately when going to the criteria page can be cumbersome. We've added a new button to the reports criteria page to actually run the report.
  • Rename the Update Report button to "Save" and add a "Save a Copy" option. Users have reported that in a shared environment, some reports are getting overwritten with different criteria because some users are confused about what Update Report means. So, we have a new "Save" button that has a popup dialog when clicked that explains what saving the report will do and recommends clicking "Save a Copy" if the user does not want to overwrite that report.
  • Re-arrange buttons on the report criteria page. We've added an "Actions" menu to the report criteria and listing pages to make the links on that page easier to understand and less overwhelming.
  • Separate the report settings from the report criteria page. Again, to streamline the reports interface, we've moved the settings page into its own screen.

Add new add to group interface for reports.

This changed in the latest version of Civi, so this commit brings in the new
UI.

Add "Add to My Reports" field.

This field, when checked, saves the current user's contact_id in the owner_id
field for the report instance that was edited. If a report is copied, the
copied report is defaulted to be owned by the current user.

Add Add to My Reports field.

This field controls whether a report is private to the person who selected
Add to My Reports and saved the report. If that happens, the report is no
longer accessible to any other user, unless that user has the "administer
CiviReport" permission. This also controls whether the report will appear in
the navigation menu or not.

Show list of My Reports at the top of the reports listing page.

Fix issue with reports creating invalid URLs when updated.

When updating a report, if the Report Settings is set to "Include Report in
Navigation Menu", the navigation url that is created is formatted like
/civicrm/report/instance/1_reset_1, which is incorrect. The correct URL
should be /civicrm/report/instance/1?reset=1.

Revert "Add new add to group interface for reports."

This reverts commit ded233b4087a8dacf22dc4500b29b3e75c39d105.

Fix for reports navigation menu for 4.4.x.

The civicrm_generated.mysql file had to be fixed for 4.4.x to allow for the
reports navigation menu to be generated correctly when CiviCRM is installed.

Fix js errors in 4.4.

Civi 4.4's js code is pretty different, so I had to fix a few errors to get
the new reports features to work.

Fix actions button size and other styling issues related to 4.4.x.

Backport of urlPath page variable.

In CiviCRM 4.5+ there is a urlPath variable available for all pages that
inherit from CRM_Core_Page. It's a one-liner, so I backported it to 4.4 as we
use it for the reports settings forms.

More js fixes for 4.4.

Make Add to My Reports a Yes/No radio button.

Fix Reports Add to Group for CiviCRM 4.4.

Add new generated sql for CiviCRM demo installs.

Styling for reports buttons.

Add My Reports report listing page and nav item. Issue #20223.

Anne requested that we have a link to a separate page that lists the My
Reports for a contact. This commit takes care of that.

Add Permissions to restrict users from changing the settings on another user's My Reports. Issue #20239.

Anne requested that if a report is private, no other users should be allowed
to edit the settings or change the criteria for the report by saving the
report. They are concerned that someone may inadvertantly "steal" a report by
editing the settings and saving it with Add to My Reports still selected,
which would make the user that saved the settings page the new report owner.

Change View Results to Refresh Results on Report Criteria page. Issue #20897.

Anne requested that we change View Results to Refresh Results once the
results for a report are displayed. She thought View Results was confusing
to the user since they were technically already viewing the results.

Fix report accordions not working. Issue #20928.

The problem here was that CiviCRM 4.4 handles the javascript for accordions
differently than 4.5+ does. In 4.4, a bit of javascript needs to be added to
each template that accordions are on to initiate the functionality. In 4.5+,
this is all handled without the extra javascript. So, to backport to 4.4, we
have to add that bit in.

Add new owner_id field to the 4.4.11 upgrade process.

Add owner_id to the CRM_Report_DAO_ReportInstance class.

This is normally done automatically as part of the DAO generation process,
but since the DAOs have already been generated in this repo, we have to do
that work manually.

Change-Id: I97d2f19460fcf4001ce1259bf1df649d7bd895a4

Details

Provenance
Anthony NemirovskyAuthored on
Parents
rWFCHdd2bb749fbe0: check in .gitreview to make the branch sticky
Branches
Unknown
Tags
Unknown
References
giantrabbit-v4.4
ChangeId
I97d2f19460fcf4001ce1259bf1df649d7bd895a4

Event Timeline

Anthony Nemirovsky <anemirovsky@giantrabbit.com> committed rWFCH7c21dba263c6: This commit contains new features for CiviCRM's report interface. (authored by Anthony Nemirovsky <anemirovsky@giantrabbit.com>).Feb 25 2015, 8:21 PM