From 3adaf607f07402a2948d118f9dc882a623b27d82 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 14 Dec 2012 14:25:51 +0530 Subject: [PATCH] bom cleanup --- manufacturing/doctype/bom/bom.js | 36 +++- manufacturing/doctype/bom/bom.py | 16 +- manufacturing/doctype/bom/bom.txt | 177 ++++++++---------- manufacturing/doctype/bom/bom_list.js | 2 +- manufacturing/doctype/bom_item/bom_item.txt | 44 ++--- .../production_order/production_order.js | 3 +- .../production_planning_tool.py | 2 +- .../production_planning_tool.txt | 22 +-- patches/december_2012/production_cleanup.py | 7 + patches/november_2012/cancelled_bom_patch.py | 2 +- public/js/utils.js | 2 +- stock/doctype/item/item.js | 2 +- .../purchase_receipt/purchase_receipt.py | 6 +- stock/doctype/stock_entry/stock_entry.py | 2 +- 14 files changed, 170 insertions(+), 153 deletions(-) diff --git a/manufacturing/doctype/bom/bom.js b/manufacturing/doctype/bom/bom.js index 7cd6e06e76..6d049bd9d6 100644 --- a/manufacturing/doctype/bom/bom.js +++ b/manufacturing/doctype/bom/bom.js @@ -17,9 +17,40 @@ // On REFRESH cur_frm.cscript.refresh = function(doc,dt,dn){ cur_frm.toggle_enable("item", doc.__islocal); + if (!doc.__islocal && doc.docstatus==0) { cur_frm.set_intro("Submit the BOM to use it in production"); } else cur_frm.set_intro(""); + + cur_frm.cscript.track_operations(doc); + set_operation_no(doc); +} + +cur_frm.cscript.track_operations = function(doc) { + cur_frm.fields_dict["bom_materials"].grid.set_column_disp("operation_no", doc.track_operations); + cur_frm.fields_dict["bom_materials"].grid.toggle_reqd("operation_no", doc.track_operations) +} + +cur_frm.cscript.operation_no = function(doc, cdt, cdn) { + var child = locals[cdt][cdn]; + if(child.parentfield=="bom_operations") set_operation_no(doc); +} + +var set_operation_no = function(doc) { + var op_table = getchildren('BOM Operation', doc.name, 'bom_operations'); + var operations = []; + + for (var i=0, j=op_table.length; i