From 5f48cb612843fff9674f0883f058b07923e50e95 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Fri, 27 May 2016 17:06:27 +0530 Subject: [PATCH] [enhancement] BOM treeview --- .../manufacturing/doctype/bom/bom_treeview.js | 34 +++++++++++++++++++ .../page/bom_browser/bom_browser.py | 3 +- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 erpnext/manufacturing/doctype/bom/bom_treeview.js diff --git a/erpnext/manufacturing/doctype/bom/bom_treeview.js b/erpnext/manufacturing/doctype/bom/bom_treeview.js new file mode 100644 index 0000000000..359acdff6c --- /dev/null +++ b/erpnext/manufacturing/doctype/bom/bom_treeview.js @@ -0,0 +1,34 @@ +frappe.treeview_settings["BOM"] = { + get_tree_nodes: 'erpnext.manufacturing.page.bom_browser.bom_browser.get_children', + filters: [ + { + fieldname: "bom", + fieldtype:"Link", + options: "BOM", + label: __("BOM") + } + ], + breadcrumb: "Manufacturing", + disable_add_node: true, + label: "bom", // should be fieldname from filters + get_label: function(node) { + if(node.data.qty) { + return node.data.qty + " x " + node.data.item_code; + } else { + return node.data.item_code || node.data.value; + } + }, + toolbar: [ + {toggle_btn: true}, + { + label:__("Edit"), + condition: function(node) { + return node.expandable; + }, + click: function(node) { + + frappe.set_route("Form", "BOM", node.data.value); + } + } + ], +} \ No newline at end of file diff --git a/erpnext/manufacturing/page/bom_browser/bom_browser.py b/erpnext/manufacturing/page/bom_browser/bom_browser.py index 80993897a9..3437ab4ae9 100644 --- a/erpnext/manufacturing/page/bom_browser/bom_browser.py +++ b/erpnext/manufacturing/page/bom_browser/bom_browser.py @@ -5,7 +5,8 @@ from __future__ import unicode_literals import frappe @frappe.whitelist() -def get_children(parent): +def get_children(): + parent = frappe.local.form_dict.get('bom') return frappe.db.sql("""select item_code, bom_no as value, qty, if(ifnull(bom_no, "")!="", 1, 0) as expandable