fix(item_defaults): handle multiple item defaults for a company (#15634)
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index f32e959..17cf044 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -122,6 +122,7 @@
self.validate_fixed_asset()
self.validate_retain_sample()
self.validate_uom_conversion_factor()
+ self.validate_item_defaults()
self.update_defaults_from_item_group()
if not self.get("__islocal"):
@@ -663,6 +664,12 @@
template_item.flags.ignore_permissions = True
template_item.save()
+ def validate_item_defaults(self):
+ companies = list(set([row.company for row in self.item_defaults]))
+
+ if len(companies) != len(self.item_defaults):
+ frappe.throw(_("Cannot set multiple Item Defaults for a company."))
+
def update_defaults_from_item_group(self):
"""Get defaults from Item Group"""
if self.item_group and not self.item_defaults: