diff --git a/frappe/model/delete_doc.py b/frappe/model/delete_doc.py index 5125f9d5e0..3bf49a5f6a 100644 --- a/frappe/model/delete_doc.py +++ b/frappe/model/delete_doc.py @@ -59,6 +59,7 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reloa frappe.db.sql("delete from `tabCustom Script` where dt = %s", name) frappe.db.sql("delete from `tabProperty Setter` where doc_type = %s", name) frappe.db.sql("delete from `tabReport` where ref_doctype=%s", name) + frappe.db.sql("delete from `tabCustom DocPerm` where parent=%s", name) delete_from_table(doctype, name, ignore_doctypes, None) diff --git a/frappe/patches.txt b/frappe/patches.txt index a546b49acd..564c73c002 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -187,3 +187,4 @@ frappe.patches.v8_0.update_gender_and_salutation execute:frappe.db.sql('update tabReport set module="Desk" where name="ToDo"') frappe.patches.v8_1.enable_allow_error_traceback_in_system_settings frappe.patches.v8_1.update_format_options_in_auto_email_report +frappe.patches.v8_1.delete_custom_docperm_if_doctype_not_exists \ No newline at end of file diff --git a/frappe/patches/v8_1/delete_custom_docperm_if_doctype_not_exists.py b/frappe/patches/v8_1/delete_custom_docperm_if_doctype_not_exists.py new file mode 100644 index 0000000000..a46db68a16 --- /dev/null +++ b/frappe/patches/v8_1/delete_custom_docperm_if_doctype_not_exists.py @@ -0,0 +1,7 @@ +import frappe + +def execute(): + frappe.db.sql("""delete from `tabCustom DocPerm` + where parent not in ( select name from `tabDoctype` ) + and parent not in ( select name from `tabCustom Doctype` ) + """)