feat: flag to delete docs permanently
This commit is contained in:
parent
c4b0f54943
commit
f97cc370cf
2 changed files with 11 additions and 6 deletions
|
|
@ -854,8 +854,8 @@ def get_meta_module(doctype):
|
|||
import frappe.modules
|
||||
return frappe.modules.load_doctype_module(doctype)
|
||||
|
||||
def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None,
|
||||
for_reload=False, ignore_permissions=False, flags=None, ignore_on_trash=False, ignore_missing=True):
|
||||
def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reload=False,
|
||||
ignore_permissions=False, flags=None, ignore_on_trash=False, ignore_missing=True, delete_permanently=False):
|
||||
"""Delete a document. Calls `frappe.model.delete_doc.delete_doc`.
|
||||
|
||||
:param doctype: DocType of document to be delete.
|
||||
|
|
@ -866,7 +866,7 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None,
|
|||
:param ignore_permissions: Ignore user permissions."""
|
||||
import frappe.model.delete_doc
|
||||
frappe.model.delete_doc.delete_doc(doctype, name, force, ignore_doctypes, for_reload,
|
||||
ignore_permissions, flags, ignore_on_trash, ignore_missing)
|
||||
ignore_permissions, flags, ignore_on_trash, ignore_missing, delete_permanently)
|
||||
|
||||
def delete_doc_if_exists(doctype, name, force=0):
|
||||
"""Delete document if exists."""
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ from frappe.exceptions import FileNotFoundError
|
|||
doctypes_to_skip = ("Communication", "ToDo", "DocShare", "Email Unsubscribe", "Activity Log", "File",
|
||||
"Version", "Document Follow", "Comment" , "View Log", "Tag Link", "Notification Log", "Email Queue")
|
||||
|
||||
def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reload=False,
|
||||
ignore_permissions=False, flags=None, ignore_on_trash=False, ignore_missing=True):
|
||||
def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reload=False, ignore_permissions=False,
|
||||
flags=None, ignore_on_trash=False, ignore_missing=True, delete_permanently=False):
|
||||
"""
|
||||
Deletes a doc(dt, dn) and validates if it is not submitted and not linked in a live record
|
||||
"""
|
||||
|
|
@ -125,8 +125,13 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reloa
|
|||
# delete tag link entry
|
||||
delete_tags_for_document(doc)
|
||||
|
||||
if doc and not for_reload:
|
||||
if for_reload:
|
||||
delete_permanently = True
|
||||
|
||||
if not delete_permanently:
|
||||
add_to_deleted_document(doc)
|
||||
|
||||
if doc and not for_reload:
|
||||
if not frappe.flags.in_patch:
|
||||
try:
|
||||
doc.notify_update()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue