diff --git a/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.json b/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.json index bd45b1c109d..aa06d14b170 100644 --- a/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.json +++ b/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.json @@ -57,6 +57,7 @@ "fieldname": "status", "fieldtype": "Select", "label": "Status", + "no_copy": 1, "options": "Queued\nRunning\nFailed\nCompleted\nCancelled", "read_only": 1 }, @@ -118,13 +119,14 @@ "fieldname": "initialize_doctypes_table", "fieldtype": "Check", "label": "Initialize Summary Table", + "no_copy": 1, "read_only": 1 } ], "index_web_pages_for_search": 1, "is_submittable": 1, "links": [], - "modified": "2024-02-04 15:28:29.532826", + "modified": "2024-02-05 10:25:28.462255", "modified_by": "Administrator", "module": "Setup", "name": "Transaction Deletion Record", diff --git a/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py b/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py index 15a9ca9d2cf..fef5d7f2085 100644 --- a/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py +++ b/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py @@ -61,6 +61,15 @@ class TransactionDeletionRecord(Document): ) def before_submit(self): + if queued_docs := frappe.db.get_all( + "Transaction Deletion Record", filters={"company": self.company, "status": "Queued"} + ): + frappe.throw( + _("There is another document: {0} Queued. Cannot queue multi docs for one company.").format( + self.queued_docs + ) + ) + if not self.doctypes_to_be_ignored: self.populate_doctypes_to_be_ignored_table() @@ -69,6 +78,7 @@ class TransactionDeletionRecord(Document): self.delete_bin_data = 0 self.delete_leads_and_addresses = 0 self.delete_transactions = 0 + self.initialize_doctypes_table = 0 self.reset_company_default_values = 0 def before_save(self): @@ -91,15 +101,6 @@ class TransactionDeletionRecord(Document): enqueue_after_commit=True, ) - @frappe.whitelist() - def start_deletion_process(self): - self.delete_bins() - self.delete_lead_addresses() - self.reset_company_values() - self.delete_notifications() - self.initialize_doctypes_to_be_deleted_table() - self.delete_company_transactions() - def delete_notifications(self): self.validate_doc_status() if not self.clear_notifications: