Merge branch 'version-12-hotfix' into contacts-ref
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index 588f74d..a7dc4c7 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -727,7 +727,7 @@
 		where
 			t2.parent = t1.name and t1.item = %s
 			and t1.docstatus = 1 and t1.is_active = 1 and t1.name = %s
-			and t2.item_code = t3.name and t3.is_stock_item = 1""".format(doctype),
+			and t2.item_code = t3.name""".format(doctype),
 			(item_code, bom), as_dict=1)
 
 	if not bom_items:
diff --git a/erpnext/public/js/controllers/buying.js b/erpnext/public/js/controllers/buying.js
index acc09ed..118aee9 100644
--- a/erpnext/public/js/controllers/buying.js
+++ b/erpnext/public/js/controllers/buying.js
@@ -452,7 +452,8 @@
 					company: frm.doc.company,
 					is_subcontracted: frm.doc.is_subcontracted,
 					transaction_date: frm.doc.transaction_date || frm.doc.posting_date,
-					ignore_pricing_rule: frm.doc.ignore_pricing_rule
+					ignore_pricing_rule: frm.doc.ignore_pricing_rule,
+					doctype: frm.doc.doctype
 				}
 			},
 			freeze: true,
diff --git a/erpnext/quality_management/doctype/quality_procedure/quality_procedure.json b/erpnext/quality_management/doctype/quality_procedure/quality_procedure.json
index 7b241ef..472b751 100644
--- a/erpnext/quality_management/doctype/quality_procedure/quality_procedure.json
+++ b/erpnext/quality_management/doctype/quality_procedure/quality_procedure.json
@@ -1,11 +1,11 @@
 {
- "autoname": "format:PRC-{procedure}",
+ "autoname": "format:PRC-{quality_procedure_name}",
  "creation": "2018-10-06 00:06:29.756804",
  "doctype": "DocType",
  "editable_grid": 1,
  "engine": "InnoDB",
  "field_order": [
-  "procedure",
+  "quality_procedure_name",
   "parent_quality_procedure",
   "is_group",
   "sb_00",
@@ -62,14 +62,14 @@
    "options": "Quality Procedure Process"
   },
   {
-   "fieldname": "procedure",
+   "fieldname": "quality_procedure_name",
    "fieldtype": "Data",
    "in_list_view": 1,
-   "label": "Procedure",
+   "label": "Quality Procedure",
    "reqd": 1
   }
  ],
- "modified": "2019-05-26 22:11:53.771428",
+ "modified": "2019-08-05 13:09:29.945082",
  "modified_by": "Administrator",
  "module": "Quality Management",
  "name": "Quality Procedure",
diff --git a/erpnext/quality_management/doctype/quality_procedure/quality_procedure.py b/erpnext/quality_management/doctype/quality_procedure/quality_procedure.py
index 52c3320..4d3c522 100644
--- a/erpnext/quality_management/doctype/quality_procedure/quality_procedure.py
+++ b/erpnext/quality_management/doctype/quality_procedure/quality_procedure.py
@@ -36,12 +36,10 @@
 			doc.load_from_db()
 
 			for process in doc.processes:
-				if process.procedure:
-					flag_is_group = 1
+				flag_is_group = 1 if process.procedure else 0
 
-			if flag_is_group == 0:
-				doc.is_group = 0
-				doc.save(ignore_permissions=True)
+			doc.is_group = 0 if flag_is_group == 0 else 1
+			doc.save(ignore_permissions=True)
 
 	def set_parent(self):
 		for process in self.processes:
diff --git a/erpnext/quality_management/doctype/quality_procedure/quality_procedure_tree.js b/erpnext/quality_management/doctype/quality_procedure/quality_procedure_tree.js
index 15b7784..8fd785f 100644
--- a/erpnext/quality_management/doctype/quality_procedure/quality_procedure_tree.js
+++ b/erpnext/quality_management/doctype/quality_procedure/quality_procedure_tree.js
@@ -6,8 +6,8 @@
 	add_tree_node: 'erpnext.quality_management.doctype.quality_procedure.quality_procedure.add_node',
 	filters: [
 		{
-			fieldname: "Quality Procedure",
-			fieldtype:"Link",
+			fieldname: "quality_procedure",
+			fieldtype: "Link",
 			options: "Quality Procedure",
 			label: __("Quality Procedure"),
 			get_query: function() {
@@ -19,7 +19,7 @@
 	],
 	breadcrumb: "Setup",
 	root_label: "All Quality Procedures",
-	get_tree_root: false,
+	get_tree_root: true,
 	menu_items: [
 		{
 			label: __("New Quality Procedure"),
@@ -32,8 +32,4 @@
 	onload: function(treeview) {
 		treeview.make_tree();
 	},
-	onrender: function() {
-		$("button:contains('Add Child')").remove();
-		$("button:contains('New')").remove();
-	}
 };
\ No newline at end of file
diff --git a/erpnext/quality_management/doctype/quality_procedure/test_quality_procedure.py b/erpnext/quality_management/doctype/quality_procedure/test_quality_procedure.py
index 79f8771..3289bb5 100644
--- a/erpnext/quality_management/doctype/quality_procedure/test_quality_procedure.py
+++ b/erpnext/quality_management/doctype/quality_procedure/test_quality_procedure.py
@@ -18,7 +18,7 @@
 def create_procedure():
 	procedure = frappe.get_doc({
 		"doctype": "Quality Procedure",
-		"procedure": "_Test Quality Procedure",
+		"quality_procedure_name": "_Test Quality Procedure",
 		"processes": [
 			{
 				"process_description": "_Test Quality Procedure Table",
@@ -37,7 +37,7 @@
 def create_nested_procedure():
 	nested_procedure = frappe.get_doc({
 		"doctype": "Quality Procedure",
-		"procedure": "_Test Nested Quality Procedure",
+		"quality_procedure_name": "_Test Nested Quality Procedure",
 		"processes": [
 			{
 				"procedure": "PRC-_Test Quality Procedure"