From 9ced1a2886ea101f980f0ceff2d4c58a5e64c8ff Mon Sep 17 00:00:00 2001 From: Aditya Hase Date: Sat, 1 Dec 2018 00:29:40 +0530 Subject: [PATCH] fix(prepared-report): Show data from report matching filters and owner This fixes permission issues since users can only see the report that they themselves have generated. Also report filters and data won't mismatch. --- frappe/desk/query_report.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py index 2e5d077cd1..1f65240934 100644 --- a/frappe/desk/query_report.py +++ b/frappe/desk/query_report.py @@ -169,7 +169,7 @@ def run(report_name, filters=None, user=None): dn = filters.get("prepared_report_name") else: dn = "" - result = get_prepared_report_result(report, filters, dn) + result = get_prepared_report_result(report, filters, dn, user) else: result = generate_report_result(report, filters, user) @@ -178,9 +178,10 @@ def run(report_name, filters=None, user=None): return result -def get_prepared_report_result(report, filters, dn=""): +def get_prepared_report_result(report, filters, dn="", user=None): latest_report_data = {} - doc_list = frappe.get_all("Prepared Report", filters={"status": "Completed", "report_name": report.name}) + # Only look for completed prepared reports with given filters. + doc_list = frappe.get_all("Prepared Report", filters={"status": "Completed", "report_name": report.name, "filters": json.dumps(filters), "owner": user}) doc = None if len(doc_list): if dn: