From b8a57a4b4dacd9d7b5a085847bb25991571204f8 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Wed, 29 Jun 2016 18:48:07 +0530 Subject: [PATCH] [fix] wareehouse nestedset fix if company not associated with warehouse --- .../patches/v7_0/create_warehouse_nestedset.py | 2 +- erpnext/stock/doctype/warehouse/warehouse.py | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/erpnext/patches/v7_0/create_warehouse_nestedset.py b/erpnext/patches/v7_0/create_warehouse_nestedset.py index 71a22fd45e..5a6d638a81 100644 --- a/erpnext/patches/v7_0/create_warehouse_nestedset.py +++ b/erpnext/patches/v7_0/create_warehouse_nestedset.py @@ -18,7 +18,7 @@ def execute(): def set_parent_to_warehouse(company): frappe.db.sql(""" update tabWarehouse set parent_warehouse = %s - where (is_group = 0 or is_group is null or is_group = '') and company = %s + where (is_group = 0 or is_group is null or is_group = '') and ifnull(company, '') = %s """,("{0} - {1}".format(_("All Warehouses"), company.abbr), company.name)) rebuild_tree("Warehouse", "parent_warehouse") diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py index 515d260337..adef7ce893 100644 --- a/erpnext/stock/doctype/warehouse/warehouse.py +++ b/erpnext/stock/doctype/warehouse/warehouse.py @@ -11,9 +11,12 @@ class Warehouse(NestedSet): nsm_parent_field = 'parent_warehouse' def autoname(self): - suffix = " - " + frappe.db.get_value("Company", self.company, "abbr") - if not self.warehouse_name.endswith(suffix): - self.name = self.warehouse_name + suffix + if self.company: + suffix = " - " + frappe.db.get_value("Company", self.company, "abbr") + if not self.warehouse_name.endswith(suffix): + self.name = self.warehouse_name + suffix + else: + self.name = self.warehouse_name def onload(self): '''load account name for General Ledger Report''' @@ -31,6 +34,7 @@ class Warehouse(NestedSet): def update_parent_account(self): if not getattr(self, "__islocal", None) \ + and cint(frappe.defaults.get_global_default("auto_accounting_for_stock")) \ and (self.create_account_under != frappe.db.get_value("Warehouse", self.name, "create_account_under")): self.validate_parent_account() @@ -251,9 +255,10 @@ def get_children(): is_group as expandable from `tab{doctype}` where docstatus < 2 - and ifnull(`{parent_field}`,'') = %s and `company` = %s - order by name""".format(doctype=frappe.db.escape(doctype), parent_field=frappe.db.escape(parent_field)), - (parent, company), as_dict=1) + and ifnull(`{parent_field}`,'') = %s + and (`company` = %s or company is null or company = '') + order by name""".format(doctype=frappe.db.escape(doctype), + parent_field=frappe.db.escape(parent_field)), (parent, company), as_dict=1) # return warehouses for wh in warehouses: