Merge pull request #3314 from neilLasrado/item-var-validation

validation added to item varients
This commit is contained in:
Nabin Hait 2015-05-21 14:56:51 +05:30
commit 61704504e6

View File

@ -154,16 +154,18 @@ class Item(WebsiteGenerator):
if self.variant_of:
frappe.throw(_("Item cannot be a variant of a variant"))
variants = []
variants, attributes = [], {}
for d in self.variants:
key = (d.item_attribute, d.item_attribute_value)
if key in variants:
frappe.throw(_("{0} {1} is entered more than once in Item Variants table")
.format(d.item_attribute, d.item_attribute_value), DuplicateVariant)
variants.append(key)
attributes.setdefault(d.item_attribute, [t.attribute_value for t in frappe.db.get_all("Item Attribute Value",
fields=["attribute_value"], filters={"parent": d.item_attribute })])
if not d.item_attribute_value in [t.attribute_value for t in frappe.db.get_all("Item Attribute Value",
fields=["attribute_value"], filters={"parent": d.item_attribute })]:
if d.item_attribute_value not in attributes.get(d.item_attribute):
frappe.throw(_("Attribute value {0} does not exist in Item Attribute Master.").format(d.item_attribute_value))
else:
frappe.throw(_("Please enter atleast one attribute row in Item Variants table"))