From 70e2093941dba32ae06d4af123e9daa2441c8e71 Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Tue, 26 Sep 2023 16:34:19 +0530 Subject: [PATCH] fix: validate duplicate serial no on submit in DN (#37243) --- erpnext/stock/doctype/delivery_note/delivery_note.py | 4 +++- erpnext/stock/doctype/delivery_note/test_delivery_note.py | 8 ++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index ba6e247d2e4..115827a60cb 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -138,7 +138,9 @@ class DeliveryNote(SellingController): self.validate_uom_is_integer("stock_uom", "stock_qty") self.validate_uom_is_integer("uom", "qty") self.validate_with_previous_doc() - self.validate_duplicate_serial_nos() + + if self.get("_action") == "submit": + self.validate_duplicate_serial_nos() from erpnext.stock.doctype.packed_item.packed_item import make_packing_list diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py index 2acfd84d944..093e16c1cf8 100644 --- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py @@ -1234,14 +1234,10 @@ class TestDeliveryNote(FrappeTestCase): ) dn.items[0].serial_no = "\n".join(serial_nos[:2]) dn.append("items", dn.items[0].as_dict()) + dn.save() # Test - 1: ValidationError should be raised - self.assertRaises(frappe.ValidationError, dn.save) - - # Step - 4: Submit Delivery Note with unique Serial Nos - dn.items[1].serial_no = "\n".join(serial_nos[2:]) - dn.save() - dn.submit() + self.assertRaises(frappe.ValidationError, dn.submit) def tearDown(self): frappe.db.rollback()