fix: rewrite logic for duplicate check in Item Attribute
Previously, Item Attribute values were not checked for case-insensitive duplicates, and Item tttribute abbreviations were forced to be uppercase. This commit fixes both problems.
This commit is contained in:
parent
9ab8aa49d6
commit
974e12c837
@ -74,11 +74,12 @@ class ItemAttribute(Document):
|
|||||||
def validate_duplication(self):
|
def validate_duplication(self):
|
||||||
values, abbrs = [], []
|
values, abbrs = [], []
|
||||||
for d in self.item_attribute_values:
|
for d in self.item_attribute_values:
|
||||||
d.abbr = d.abbr.upper()
|
if d.attribute_value.lower() in map(str.lower, values):
|
||||||
if d.attribute_value in values:
|
frappe.throw(
|
||||||
frappe.throw(_("{0} must appear only once").format(d.attribute_value))
|
_("Attribute value: {0} must appear only once").format(d.attribute_value.title()))
|
||||||
values.append(d.attribute_value)
|
values.append(d.attribute_value)
|
||||||
|
|
||||||
if d.abbr in abbrs:
|
if d.abbr.lower() in map(str.lower, abbrs):
|
||||||
frappe.throw(_("{0} must appear only once").format(d.abbr))
|
frappe.throw(
|
||||||
|
_("Abbreviation: {0} must appear only once").format(d.abbr.title()))
|
||||||
abbrs.append(d.abbr)
|
abbrs.append(d.abbr)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user