[new feature] Product Configurator (via Item Quick Entry) (#11535)
* [Feature] Item Variant Creation from Quick Entry * [minor] formatted js * [minor] set 3 attribute per page instead of 5 in template * [fix] fixed codecy issue * [fix] label translation * [minor] changed trigger event of item template * [fix] moved item ui tests under stock * [UI test] added test for item attribute * [UI test] added test for creation of item variant from quick entry * [fix] item variant ui test fixes * [wip] * [cleanup] item quick entry * [remove] tests, fixtures were missing * [refactor] use set_only_once in item
This commit is contained in:
committed by
Nabin Hait
parent
4d99ebaeb5
commit
d5c6416d91
@@ -239,3 +239,20 @@ def make_variant_item_code(template_item_code, template_item_name, variant):
|
||||
if abbreviations:
|
||||
variant.item_code = "{0}-{1}".format(template_item_code, "-".join(abbreviations))
|
||||
variant.item_name = "{0}-{1}".format(template_item_name, "-".join(abbreviations))
|
||||
|
||||
@frappe.whitelist()
|
||||
def create_variant_doc_for_quick_entry(template, args):
|
||||
variant_based_on = frappe.db.get_value("Item", template, "variant_based_on")
|
||||
args = json.loads(args)
|
||||
if variant_based_on == "Manufacturer":
|
||||
variant = get_variant(template, **args)
|
||||
else:
|
||||
existing_variant = get_variant(template, args)
|
||||
if existing_variant:
|
||||
return existing_variant
|
||||
else:
|
||||
variant = create_variant(template, args=args)
|
||||
variant.name = variant.item_code
|
||||
validate_item_variant_attributes(variant, args)
|
||||
return variant.as_dict()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user