Merge branch 'develop'
diff --git a/erpnext/__version__.py b/erpnext/__version__.py
index 33e3a7c..0246af2 100644
--- a/erpnext/__version__.py
+++ b/erpnext/__version__.py
@@ -1,2 +1,2 @@
from __future__ import unicode_literals
-__version__ = '5.7.4'
+__version__ = '5.7.5'
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index a70cc72..2a116ca 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -27,7 +27,7 @@
"""
app_icon = "icon-th"
app_color = "#e74c3c"
-app_version = "5.7.4"
+app_version = "5.7.5"
github_link = "https://github.com/frappe/erpnext"
error_report_email = "support@erpnext.com"
diff --git a/erpnext/patches/v5_7/item_template_attributes.py b/erpnext/patches/v5_7/item_template_attributes.py
index 0bd1e08..e93bfe4 100644
--- a/erpnext/patches/v5_7/item_template_attributes.py
+++ b/erpnext/patches/v5_7/item_template_attributes.py
@@ -65,6 +65,12 @@
item_attributes = frappe.db.sql("""select distinct item_attribute, item_attribute_value
from `tabItem Variant` where parent=%s""", item.name)
+ if not item_attributes and not all_variants:
+ item = frappe.get_doc("Item", item.name)
+ item.has_variants = 0
+ item.save()
+ continue
+
attribute_value_options = {}
for attribute, value in item_attributes:
attribute_value_options.setdefault(attribute, []).append(value)
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index cd3d295..f9b41f1 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -64,7 +64,7 @@
self.update_item_desc()
self.synced_with_hub = 0
self.validate_has_variants()
- self.validate_stock_for_template_must_be_zero()
+ # self.validate_stock_for_template_must_be_zero()
self.validate_attributes()
self.validate_variant_attributes()
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
index 2ba9647..f7c0f40 100644
--- a/erpnext/stock/doctype/item/test_item.py
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -46,11 +46,11 @@
item = frappe.get_doc("Item", item_code)
return item
- def test_template_cannot_have_stock(self):
- item = self.get_item(10)
- make_stock_entry(item_code=item.name, target="Stores - _TC", qty=1, basic_rate=1)
- item.has_variants = 1
- self.assertRaises(ItemTemplateCannotHaveStock, item.save)
+ # def test_template_cannot_have_stock(self):
+ # item = self.get_item(10)
+ # make_stock_entry(item_code=item.name, target="Stores - _TC", qty=1, basic_rate=1)
+ # item.has_variants = 1
+ # self.assertRaises(ItemTemplateCannotHaveStock, item.save)
def test_default_warehouse(self):
item = frappe.copy_doc(test_records[0])
diff --git a/setup.py b/setup.py
index a05d221..9ef03d2 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
from setuptools import setup, find_packages
-version = "5.7.4"
+version = "5.7.5"
with open("requirements.txt", "r") as f:
install_requires = f.readlines()