From f6326b6145be8ed1ea2f4b4cbe80fad4b0b82205 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 7 Aug 2023 14:00:34 +0530 Subject: [PATCH] fix: check before deleting prepared report (#21950) --- frappe/core/doctype/prepared_report/prepared_report.py | 6 +++--- frappe/model/document.py | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frappe/core/doctype/prepared_report/prepared_report.py b/frappe/core/doctype/prepared_report/prepared_report.py index ef8ccce9c1..067cd728b2 100644 --- a/frappe/core/doctype/prepared_report/prepared_report.py +++ b/frappe/core/doctype/prepared_report/prepared_report.py @@ -211,9 +211,9 @@ def expire_stalled_report(): def delete_prepared_reports(reports): reports = frappe.parse_json(reports) for report in reports: - frappe.delete_doc( - "Prepared Report", report["name"], ignore_permissions=True, delete_permanently=True - ) + prepared_report = frappe.get_doc("Prepared Report", report["name"]) + if prepared_report.has_permission(): + prepared_report.delete(ignore_permissions=True, delete_permanently=True) def create_json_gz_file(data, dt, dn): diff --git a/frappe/model/document.py b/frappe/model/document.py index 9768200164..cedbe9ad71 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -1039,7 +1039,7 @@ class Document(BaseDocument): """Rename the document to `name`. This transforms the current object.""" return self._rename(name=name, merge=merge, force=force, validate_rename=validate_rename) - def delete(self, ignore_permissions=False, force=False): + def delete(self, ignore_permissions=False, force=False, *, delete_permanently=False): """Delete document.""" return frappe.delete_doc( self.doctype, @@ -1047,6 +1047,7 @@ class Document(BaseDocument): ignore_permissions=ignore_permissions, flags=self.flags, force=force, + delete_permanently=delete_permanently, ) def run_before_save_methods(self):