Update Item Desc Button Removed from BOM, Item desc automatically updated in BOM on save of item master
diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js
index a5d500f..a230cf4 100644
--- a/erpnext/manufacturing/doctype/bom/bom.js
+++ b/erpnext/manufacturing/doctype/bom/bom.js
@@ -9,9 +9,6 @@
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_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 f77628a..7cc3919 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -134,16 +134,6 @@
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 d77cd1d..633ead1 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -69,6 +69,7 @@
self.validate_name_with_item_group()
self.update_item_price()
self.sync_variants()
+ self.update_item_desc()
def get_context(self, context):
context["parent_groups"] = get_parent_item_groups(self.item_group) + \
@@ -433,7 +434,12 @@
row = self.append("website_specifications")
row.label = label
row.description = desc
-
+
+ def update_item_desc(self):
+ 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")