diff --git a/erpnext/utilities/bulk_transaction.py b/erpnext/utilities/bulk_transaction.py index 51447e0591b..1dc45b426b7 100644 --- a/erpnext/utilities/bulk_transaction.py +++ b/erpnext/utilities/bulk_transaction.py @@ -16,9 +16,30 @@ def transaction_processing(data, from_doctype, to_doctype): else: deserialized_data = data + skipped_records = [d for d in deserialized_data if d.get("status") in ("On Hold", "Closed")] + + deserialized_data = [d for d in deserialized_data if d.get("status") not in ("On Hold", "Closed")] + length_of_data = len(deserialized_data) - frappe.msgprint(_("Started a background job to create {1} {0}").format(to_doctype, length_of_data)) + skipped_msg = "" + + if skipped_records: + skipped_msg = _("{0} creation for the following records will be skipped.").format(to_doctype) + + skipped_msg += ( + "

" + ) + + if not length_of_data: + frappe.msgprint(skipped_msg) + return + + frappe.msgprint( + _("Started a background job to create {1} {0}. {2}").format(to_doctype, length_of_data, skipped_msg) + ) frappe.enqueue( job, deserialized_data=deserialized_data,