Details
Description
the "my cases" dashlet is intended to display case records for the logged in user.
however, we only store a single cache for the dashlet (content column in dashboard table)
so if contact A refreshes the dashboard, and contact B then views the dashboard – they see my cases for contact A until they refresh again (which then throws off contact A)
this basically renders the my cases dashlet useless (and potentially compromises privacy)
i think there are two potential approaches:
- we probably should be caching the reports in civicrm_dashboard_contact. that would allow for contact-specific caches, which could also be import if some reports have ACL-based limitations
- it might be useful to have a parameter that can be assigned within the dashlet report file that disables caching for a specific report. that way developers can decide a given report is always pulled in realtime