fix: removed sla and added auto deletion
This commit is contained in:
parent
dfebbe9529
commit
e57d2d0aa2
7 changed files with 19 additions and 53 deletions
|
|
@ -241,7 +241,7 @@ scheduler_events = {
|
|||
"frappe.email.doctype.unhandled_email.unhandled_email.remove_old_unhandled_emails",
|
||||
"frappe.core.doctype.prepared_report.prepared_report.delete_expired_prepared_reports",
|
||||
"frappe.core.doctype.log_settings.log_settings.run_log_clean_up",
|
||||
"frappe.website.doctype.personal_data_deletion_request.personal_data_deletion_request.update_sla"
|
||||
"frappe.website.doctype.personal_data_deletion_request.personal_data_deletion_request.auto_delete"
|
||||
],
|
||||
"daily_long": [
|
||||
"frappe.integrations.doctype.dropbox_settings.dropbox_settings.take_backups_daily",
|
||||
|
|
|
|||
|
|
@ -18,13 +18,5 @@ frappe.ui.form.on("Personal Data Deletion Request", {
|
|||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
before_load: function(frm) {
|
||||
frappe.db.get_single_value("Website Settings", "account_deletion_sla").then((data) => {
|
||||
if (data < 1) {
|
||||
frm.set_df_property("sla_status", "hidden", 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -7,9 +7,6 @@
|
|||
"field_order": [
|
||||
"email",
|
||||
"status",
|
||||
"column_break_3",
|
||||
"sla_status",
|
||||
"section_break_5",
|
||||
"anonymization_matrix",
|
||||
"deletion_steps"
|
||||
],
|
||||
|
|
@ -45,28 +42,10 @@
|
|||
"fieldtype": "Table",
|
||||
"label": "Deletion Steps ",
|
||||
"options": "Personal Data Deletion Step"
|
||||
},
|
||||
{
|
||||
"default": "Open",
|
||||
"fieldname": "sla_status",
|
||||
"fieldtype": "Select",
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 1,
|
||||
"label": "SLA Status",
|
||||
"options": "Open\nFulfilled\nFailed",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_3",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"fieldname": "section_break_5",
|
||||
"fieldtype": "Section Break"
|
||||
}
|
||||
],
|
||||
"links": [],
|
||||
"modified": "2021-12-07 10:48:06.194408",
|
||||
"modified": "2021-12-15 19:34:22.280235",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Website",
|
||||
"name": "Personal Data Deletion Request",
|
||||
|
|
|
|||
|
|
@ -280,12 +280,6 @@ class PersonalDataDeletionRequest(Document):
|
|||
|
||||
frappe.rename_doc("User", email, anon, force=True, show_alert=False)
|
||||
self.db_set("status", "Deleted")
|
||||
account_deletion_sla = frappe.db.get_single_value("Website Settings", "account_deletion_sla")
|
||||
if account_deletion_sla > 0 and self.sla_status == "Open":
|
||||
if date_diff(get_datetime(), self.creation) > account_deletion_sla:
|
||||
self.db_set("sla_status", "Failed")
|
||||
elif date_diff(get_datetime(), self.creation) <= account_deletion_sla:
|
||||
self.db_set("sla_status", "Fulfilled")
|
||||
|
||||
if commit:
|
||||
frappe.db.commit()
|
||||
|
|
@ -351,20 +345,20 @@ def remove_unverified_record():
|
|||
AND `creation` < (NOW() - INTERVAL '7' DAY)"""
|
||||
)
|
||||
|
||||
def update_sla():
|
||||
account_deletion_sla = frappe.db.get_single_value("Website Settings", "account_deletion_sla")
|
||||
if account_deletion_sla < 1:
|
||||
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 = {
|
||||
"sla_status": "Open"
|
||||
"status": "Pending Approval"
|
||||
},
|
||||
fields = ["name", "creation", "status"])
|
||||
|
||||
for request in requests:
|
||||
if date_diff(get_datetime(), request.creation) > account_deletion_sla and request.status != "Deleted":
|
||||
frappe.db.set_value("Personal Data Deletion Request", request.name, "sla_status", "Failed")
|
||||
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):
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@
|
|||
"route_redirects",
|
||||
"account_deletion_settings_section",
|
||||
"show_account_deletion_link",
|
||||
"account_deletion_sla"
|
||||
"auto_account_deletion"
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
|
|
@ -395,16 +395,17 @@
|
|||
"fieldtype": "Section Break",
|
||||
"label": "Account Deletion Settings"
|
||||
},
|
||||
{
|
||||
"fieldname": "account_deletion_sla",
|
||||
"fieldtype": "Int",
|
||||
"label": "Account Deletion SLA (Days)"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"fieldname": "show_account_deletion_link",
|
||||
"fieldtype": "Check",
|
||||
"label": "Show Account Deletion Link in My Account Page"
|
||||
},
|
||||
{
|
||||
"default": "3",
|
||||
"fieldname": "auto_account_deletion",
|
||||
"fieldtype": "Int",
|
||||
"label": "Auto Account Deletion within (Days)"
|
||||
}
|
||||
],
|
||||
"icon": "fa fa-cog",
|
||||
|
|
@ -413,7 +414,7 @@
|
|||
"issingle": 1,
|
||||
"links": [],
|
||||
"max_attachments": 10,
|
||||
"modified": "2021-12-01 10:15:17.403155",
|
||||
"modified": "2021-12-15 17:28:59.255184",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Website",
|
||||
"name": "Website Settings",
|
||||
|
|
|
|||
|
|
@ -179,5 +179,5 @@ def get_items(parentfield):
|
|||
return top_items
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def get_account_deletion_sla():
|
||||
return frappe.db.get_single_value("Website Settings", "account_deletion_sla")
|
||||
def get_auto_account_deletion():
|
||||
return frappe.db.get_single_value("Website Settings", "auto_account_deletion")
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
frappe.ready(function() {
|
||||
frappe.web_form.after_load = () => {
|
||||
frappe.call({
|
||||
method: "frappe.website.doctype.website_settings.website_settings.get_account_deletion_sla",
|
||||
method: "frappe.website.doctype.website_settings.website_settings.get_auto_account_deletion",
|
||||
callback: (data) => {
|
||||
if (data.message) {
|
||||
const intro_wrapper = $('#introduction .ql-editor.read-mode');
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue