fix: Validate Serial/Batch No naming series in Item itself (#21168)

* fix: Validate Serial/Batch No naming series in Item itself

* fix: Consider '#' too
This commit is contained in:
Marica
2020-04-07 14:15:48 +05:30
committed by GitHub
parent d2da8bd6e2
commit d76ecb960e

View File

@@ -101,6 +101,7 @@ class Item(WebsiteGenerator):
self.add_default_uom_in_conversion_factor_table() self.add_default_uom_in_conversion_factor_table()
self.validate_conversion_factor() self.validate_conversion_factor()
self.validate_item_type() self.validate_item_type()
self.validate_naming_series()
self.check_for_active_boms() self.check_for_active_boms()
self.fill_customer_code() self.fill_customer_code()
self.check_item_tax() self.check_item_tax()
@@ -522,6 +523,13 @@ class Item(WebsiteGenerator):
if self.has_serial_no == 0 and self.serial_no_series: if self.has_serial_no == 0 and self.serial_no_series:
self.serial_no_series = None self.serial_no_series = None
def validate_naming_series(self):
for field in ["serial_no_series", "batch_number_series"]:
series = self.get(field)
if series and "#" in series and "." not in series:
frappe.throw(_("Invalid naming series (. missing) for {0}")
.format(frappe.bold(self.meta.get_field(field).label)))
def check_for_active_boms(self): def check_for_active_boms(self):
if self.default_bom: if self.default_bom:
bom_item = frappe.db.get_value("BOM", self.default_bom, "item") bom_item = frappe.db.get_value("BOM", self.default_bom, "item")