From f1f0a8ac196f25dddf2d3b88ea974475a78bbadb Mon Sep 17 00:00:00 2001 From: Neil Trini Lasrado Date: Fri, 16 Jan 2015 14:06:02 +0530 Subject: [PATCH 1/2] bom - button added to update item desc. --- erpnext/manufacturing/doctype/bom/bom.js | 13 +++++++++++++ erpnext/manufacturing/doctype/bom/bom.py | 10 ++++++++++ 2 files changed, 23 insertions(+) diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js index 19c3fcff6b..d983ffbb6d 100644 --- a/erpnext/manufacturing/doctype/bom/bom.js +++ b/erpnext/manufacturing/doctype/bom/bom.js @@ -9,6 +9,9 @@ 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"), cur_frm.cscript.update_item_desc, + "icon-tag", "btn-default"); } cur_frm.cscript.with_operations(doc); @@ -25,6 +28,16 @@ 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.cscript.with_operations = function(doc) { cur_frm.fields_dict["items"].grid.set_column_disp("operation", doc.with_operations); cur_frm.fields_dict["items"].grid.toggle_reqd("operation", doc.with_operations); diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index 636d86b827..2917e6d85d 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -132,6 +132,16 @@ class BOM(Document): self.ignore_validate_update_after_submit = True self.calculate_cost() self.save() + + def update_item_desc(self): + if self.docstatus == 1: + 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` From 26b01f7852bdba24fb51dad110453f49fadb37e4 Mon Sep 17 00:00:00 2001 From: Neil Trini Lasrado Date: Mon, 19 Jan 2015 17:18:43 +0530 Subject: [PATCH 2/2] fixes --- erpnext/manufacturing/doctype/bom/bom.js | 2 +- erpnext/manufacturing/doctype/bom/bom.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js index d983ffbb6d..4f78c4185a 100644 --- a/erpnext/manufacturing/doctype/bom/bom.js +++ b/erpnext/manufacturing/doctype/bom/bom.js @@ -10,7 +10,7 @@ cur_frm.cscript.refresh = function(doc,dt,dn){ cur_frm.add_custom_button(__("Update Cost"), cur_frm.cscript.update_cost, "icon-money", "btn-default"); - cur_frm.add_custom_button(__("Update Item"), cur_frm.cscript.update_item_desc, + cur_frm.add_custom_button(__("Update Item Description"), cur_frm.cscript.update_item_desc, "icon-tag", "btn-default"); } diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index 2917e6d85d..5c4a841fc5 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -134,7 +134,7 @@ class BOM(Document): self.save() def update_item_desc(self): - if self.docstatus == 1: + 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"):