From c5c439ff033d78302c7a8f7fb7db2595e9f22b28 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 16 Dec 2021 10:02:07 +0530 Subject: [PATCH] fix: on hold status for data deletion --- .../personal_data_deletion_request.json | 5 ++-- .../personal_data_deletion_request.py | 30 +++++++++---------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json b/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json index 94e1ef2593..8a0305acbd 100644 --- a/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json +++ b/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json @@ -27,8 +27,7 @@ "in_list_view": 1, "in_standard_filter": 1, "label": "Status", - "options": "Pending Verification\nPending Approval\nDeleted", - "read_only": 1 + "options": "Pending Verification\nPending Approval\nOn Hold\nDeleted" }, { "fieldname": "anonymization_matrix", @@ -45,7 +44,7 @@ } ], "links": [], - "modified": "2021-12-15 19:34:22.280235", + "modified": "2021-12-16 10:00:24.165897", "modified_by": "Administrator", "module": "Website", "name": "Personal Data Deletion Request", diff --git a/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py b/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py index 0b53d81d33..4fea7e05d3 100644 --- a/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py +++ b/frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py @@ -336,6 +336,21 @@ class PersonalDataDeletionRequest(Document): {"name": self.full_name, "email": self.email}, ) + def auto_delete(self): + auto_account_deletion = frappe.db.get_single_value("Website Settings", "auto_account_deletion") + if auto_account_deletion < 1: + return + + requests = frappe.get_all("Personal Data Deletion Request", + filters = { + "status": "Pending Approval" + }, + fields = ["name", "creation", "status"]) + + for request in requests: + if date_diff(get_datetime(), request.creation) >= auto_account_deletion: + self.trigger_data_deletion() + def remove_unverified_record(): frappe.db.sql( @@ -345,21 +360,6 @@ def remove_unverified_record(): AND `creation` < (NOW() - INTERVAL '7' DAY)""" ) -def auto_delete(): - auto_account_deletion = frappe.db.get_single_value("Website Settings", "auto_account_deletion") - if auto_account_deletion < 1: - return - - requests = frappe.get_all("Personal Data Deletion Request", - filters = { - "status": "Pending Approval" - }, - fields = ["name", "creation", "status"]) - - for request in requests: - if date_diff(get_datetime(), request.creation) >= auto_account_deletion: - self.trigger_data_deletion() - @frappe.whitelist(allow_guest=True) def confirm_deletion(email, name, host_name): if not verify_request():