Merge pull request #2695 from neilLasrado/bom-item-desc

Update BOM Item Description
This commit is contained in:
Nabin Hait 2015-02-06 16:20:05 +05:30
commit 2813f38c5a
3 changed files with 8 additions and 23 deletions

View File

@ -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");

View File

@ -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`

View File

@ -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")