From 8e67a3a8a84e22844c05f750fa309b703c84c8a6 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Sat, 7 Sep 2019 12:29:29 +0530 Subject: [PATCH] fix: check if 'All Item Group' exists before settings it as parent_item_group (#18956) * fix: check if 'All Item Group' exists before settings it as parent_item_group * feat: get cached value to avoid db call on each insert --- erpnext/setup/doctype/item_group/item_group.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/erpnext/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py index bb357d8bf8..b309b504e0 100644 --- a/erpnext/setup/doctype/item_group/item_group.py +++ b/erpnext/setup/doctype/item_group/item_group.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import frappe import copy +from frappe import _ from frappe.utils import nowdate, cint, cstr from frappe.utils.nestedset import NestedSet from frappe.website.website_generator import WebsiteGenerator @@ -28,7 +29,8 @@ class ItemGroup(NestedSet, WebsiteGenerator): super(ItemGroup, self).validate() if not self.parent_item_group and not frappe.flags.in_test: - self.parent_item_group = 'All Item Groups' + if frappe.db.exists("Item Group", _('All Item Groups'), cache=True): + self.parent_item_group = _('All Item Groups') self.make_route()