Prevent creation of more than 500 item variants (#14790)
diff --git a/erpnext/controllers/item_variant.py b/erpnext/controllers/item_variant.py
index bf8c88c..5e7ddbb 100644
--- a/erpnext/controllers/item_variant.py
+++ b/erpnext/controllers/item_variant.py
@@ -176,6 +176,14 @@
@frappe.whitelist()
def enqueue_multiple_variant_creation(item, args):
# There can be innumerable attribute combinations, enqueue
+ if isinstance(args, basestring):
+ variants = json.loads(args)
+ total_variants = 1
+ for key in variants:
+ total_variants *= len(variants[key])
+ if total_variants >= 600:
+ frappe.msgprint("Please do not create more than 500 items at a time", raise_exception=1)
+ return
frappe.enqueue("erpnext.controllers.item_variant.create_multiple_variants",
item=item, args=args, now=frappe.flags.in_test);