Просмотр исходного кода

fix: removed sla and added auto deletion

version-14
Jannat Patel 3 лет назад
Родитель
Сommit
e57d2d0aa2
7 измененных файлов: 19 добавлений и 53 удалений
  1. +1
    -1
      frappe/hooks.py
  2. +0
    -8
      frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.js
  3. +1
    -22
      frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json
  4. +6
    -12
      frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py
  5. +8
    -7
      frappe/website/doctype/website_settings/website_settings.json
  6. +2
    -2
      frappe/website/doctype/website_settings/website_settings.py
  7. +1
    -1
      frappe/website/web_form/request_to_delete_data/request_to_delete_data.js

+ 1
- 1
frappe/hooks.py Просмотреть файл

@@ -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",


+ 0
- 8
frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.js Просмотреть файл

@@ -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);
}
});
}
});

+ 1
- 22
frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json Просмотреть файл

@@ -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",


+ 6
- 12
frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py Просмотреть файл

@@ -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):


+ 8
- 7
frappe/website/doctype/website_settings/website_settings.json Просмотреть файл

@@ -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",


+ 2
- 2
frappe/website/doctype/website_settings/website_settings.py Просмотреть файл

@@ -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
- 1
frappe/website/web_form/request_to_delete_data/request_to_delete_data.js Просмотреть файл

@@ -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');


Загрузка…
Отмена
Сохранить