diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js index a5d500f87c0..a230cf4ab9c 100644 --- a/erpnext/manufacturing/doctype/bom/bom.js +++ b/erpnext/manufacturing/doctype/bom/bom.js @@ -9,9 +9,6 @@ cur_frm.cscript.refresh = function(doc,dt,dn){ if (!doc.__islocal && doc.docstatus<2) { cur_frm.add_custom_button(__("Update Cost"), cur_frm.cscript.update_cost, "icon-money", "btn-default"); - - cur_frm.add_custom_button(__("Update Item Description"), cur_frm.cscript.update_item_desc, - "icon-tag", "btn-default"); } } @@ -25,15 +22,6 @@ cur_frm.cscript.update_cost = function() { }) } -cur_frm.cscript.update_item_desc = function() { - return frappe.call({ - doc: cur_frm.doc, - method: "update_item_desc", - callback: function(r) { - if(!r.exc) cur_frm.refresh_fields(); - } - }) -} cur_frm.add_fetch("item", "description", "description"); cur_frm.add_fetch("item", "item_name", "item_name"); cur_frm.add_fetch("item", "stock_uom", "uom"); diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index f77628a4176..7cc3919e2fe 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -134,16 +134,6 @@ class BOM(Document): self.ignore_validate_update_after_submit = True self.calculate_cost() self.save() - - def update_item_desc(self): - if self.docstatus < 2: - self.ignore_validate_update_after_submit = True - self.description = frappe.db.get_value("Item", self.item, "description") - for d in self.get("items"): - d.description = frappe.db.get_value("Item", d.item_code, "description") - for d in self.get("exploded_items"): - d.description = frappe.db.get_value("Item", d.item_code, "description") - self.save() def get_bom_unitcost(self, bom_no): bom = frappe.db.sql("""select name, total_cost/quantity as unit_cost from `tabBOM` diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py index d77cd1d50b7..351f7178c92 100644 --- a/erpnext/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -57,6 +57,7 @@ class Item(WebsiteGenerator): self.validate_reorder_level() self.validate_warehouse_for_reorder() self.validate_variants() + self.update_item_desc() if not self.get("__islocal"): self.old_item_group = frappe.db.get_value(self.doctype, self.name, "item_group") @@ -433,7 +434,13 @@ class Item(WebsiteGenerator): row = self.append("website_specifications") row.label = label row.description = desc - + + def update_item_desc(self): + if frappe.db.get_value('BOM',self.name, 'description') != self.description: + frappe.db.sql("""update `tabBOM` set description = %s where item = %s and docstatus < 2""",(self.description, self.name)) + frappe.db.sql("""update `tabBOM Item` set description = %s where item_code = %s and docstatus < 2""",(self.description, self.name)) + frappe.db.sql("""update `tabBOM Explosion Item` set description = %s where item_code = %s and docstatus < 2""",(self.description, self.name)) + def validate_end_of_life(item_code, end_of_life=None, verbose=1): if not end_of_life: end_of_life = frappe.db.get_value("Item", item_code, "end_of_life")