[fixes] change is group to check box
diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
index 9520928..cc86159 100644
--- a/erpnext/accounts/doctype/account/account.py
+++ b/erpnext/accounts/doctype/account/account.py
@@ -95,7 +95,7 @@
 			if self.check_gle_exists():
 				throw(_("Account with existing transaction cannot be converted to ledger"))
 			elif self.is_group:
-				if self.account_type:
+				if self.account_type and not self.flags.exclude_account_type_check:
 					throw(_("Cannot covert to Group because Account Type is selected."))
 			elif self.check_if_child_exists():
 				throw(_("Account with child nodes cannot be set as ledger"))
@@ -139,7 +139,7 @@
 	def convert_ledger_to_group(self):
 		if self.check_gle_exists():
 			throw(_("Account with existing transaction can not be converted to group."))
-		elif self.account_type:
+		elif self.account_type and not self.flags.exclude_account_type_check:
 			throw(_("Cannot covert to Group because Account Type is selected."))
 		else:
 			self.is_group = 1
diff --git a/erpnext/patches/v7_0/create_warehouse_nestedset.py b/erpnext/patches/v7_0/create_warehouse_nestedset.py
index 80dbf2e..aaccfb9 100644
--- a/erpnext/patches/v7_0/create_warehouse_nestedset.py
+++ b/erpnext/patches/v7_0/create_warehouse_nestedset.py
@@ -15,7 +15,7 @@
 
 def set_parent_to_warehouses(warehouse, company):
 	warehouse = frappe.get_doc("Warehouse", warehouse.name)
-	warehouse.is_group = "Yes" if warehouse.is_group == "Yes" else "No"
+	warehouse.is_group = warehouse.is_group
 	
 	if not warehouse.parent_warehouse and warehouse.name != "{0} - {1}".format(_("All Warehouses"), company.abbr):
 		warehouse.parent_warehouse = "{0} - {1}".format(_("All Warehouses"), company.abbr)
@@ -42,7 +42,7 @@
 	frappe.get_doc({
 		"doctype": "Warehouse",
 		"warehouse_name": _("All Warehouses"),
-		"is_group": "Yes",
+		"is_group": 1,
 		"company": company.name,
 		"parent_warehouse": ""
 	}).insert(ignore_permissions=True)
\ No newline at end of file
diff --git a/erpnext/patches/v7_0/set_is_group_for_warehouse.py b/erpnext/patches/v7_0/set_is_group_for_warehouse.py
index d74b97b..d3aca21 100644
--- a/erpnext/patches/v7_0/set_is_group_for_warehouse.py
+++ b/erpnext/patches/v7_0/set_is_group_for_warehouse.py
@@ -2,5 +2,5 @@
 
 def execute():
 	frappe.reload_doc("stock", "doctype", "warehouse")
-	
-	frappe.db.sql("""update tabWarehouse set is_group = if (is_group="Yes", 1, 0)""")
\ No newline at end of file
+	frappe.db.sql("""update tabWarehouse
+		set is_group = if ((ifnull(is_group, "No") = "Yes" or ifnull(is_group, 0) = 1), 1, 0)""")
\ No newline at end of file
diff --git a/erpnext/public/js/queries.js b/erpnext/public/js/queries.js
index acc0409..c1f09a5 100644
--- a/erpnext/public/js/queries.js
+++ b/erpnext/public/js/queries.js
@@ -73,7 +73,7 @@
 		return {
 			filters: [
 				["Warehouse", "company", "in", ["", cstr(doc.company)]],
-				["Warehouse", "is_group", "=", "No"]
+				["Warehouse", "is_group", "=",0]
 				
 			]
 		}
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index 7d88297..6b66324 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -88,10 +88,10 @@
 
 	def create_default_warehouses(self):
 		for wh_detail in [
-			{"warehouse_name": _("All Warehouses"), "is_group": "Yes"},
-			{"warehouse_name": _("Stores"), "is_group": "No"},
-			{"warehouse_name": _("Work In Progress"), "is_group": "No"},
-			{"warehouse_name": _("Finished Goods"), "is_group": "No"}]:
+			{"warehouse_name": _("All Warehouses"), "is_group": 1},
+			{"warehouse_name": _("Stores"), "is_group": 0},
+			{"warehouse_name": _("Work In Progress"), "is_group": 0},
+			{"warehouse_name": _("Finished Goods"), "is_group": 0}]:
 			
 			if not frappe.db.exists("Warehouse", "{0} - {1}".format(wh_detail["warehouse_name"], self.abbr)):
 				stock_group = frappe.db.get_value("Account", {"account_type": "Stock",
@@ -103,7 +103,7 @@
 						"is_group": wh_detail["is_group"],
 						"company": self.name,
 						"parent_warehouse": "{0} - {1}".format(_("All Warehouses"), self.abbr) \
-							if wh_detail["is_group"] == "No" else "",
+							if not wh_detail["is_group"] else "",
 						"create_account_under": stock_group
 					})
 					warehouse.flags.ignore_permissions = True
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index f35fa58..5bb0061 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -163,13 +163,13 @@
 		
 		frm.fields_dict['default_warehouse'].get_query = function(doc) {
 			return {
-				filters: { "is_group": "No" }
+				filters: { "is_group": 0 }
 			}
 		}
 		
 		frm.fields_dict.reorder_levels.grid.get_field("warehouse_group").get_query = function(doc, cdt, cdn) {
 			return {
-				filters: { "is_group": "Yes" }
+				filters: { "is_group": 1 }
 			}
 		}
 		
@@ -177,7 +177,7 @@
 			var d = locals[cdt][cdn];
 			return {
 				filters: {
-					"is_group": "No",
+					"is_group": 0,
 					"parent_warehouse": d.warehouse_group
 				}
 			}
diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
index 9cc27b7..f9629a1 100644
--- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
@@ -117,7 +117,7 @@
 	frappe.db.set_value("Item", item_code, "valuation_method", valuation_method)
 
 	for warehouse in frappe.get_all("Warehouse", filters={"company": "_Test Company"}, fields=["name", "is_group"]):
-		if warehouse.is_group == "No":
+		if not warehouse.is_group:
 			update_entries_after({
 				"item_code": item_code,
 				"warehouse": warehouse.name
diff --git a/erpnext/stock/doctype/warehouse/test_records.json b/erpnext/stock/doctype/warehouse/test_records.json
index c1dad5c..4dd9f6b 100644
--- a/erpnext/stock/doctype/warehouse/test_records.json
+++ b/erpnext/stock/doctype/warehouse/test_records.json
@@ -4,67 +4,67 @@
   "create_account_under": "Stock Assets - _TC",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Warehouse",
-  "is_group": "No"
+  "is_group": 0
  },
  {
   "company": "_Test Company",
   "create_account_under": "Stock Assets - _TC",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Warehouse",
-  "is_group": "No"
+  "is_group": 0
  },
  {
   "company": "_Test Company",
   "create_account_under": "Fixed Assets - _TC",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Warehouse 1",
-  "is_group": "No"
+  "is_group": 0
  },
  {
   "company": "_Test Company",
   "create_account_under": "Fixed Assets - _TC",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Warehouse 2",
-  "is_group": "No"
+  "is_group": 0
  },
  {
   "company": "_Test Company",
   "create_account_under": "Stock Assets - _TC",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Rejected Warehouse",
-  "is_group": "No"
+  "is_group": 0
  },
  {
   "company": "_Test Company 1",
   "create_account_under": "Stock Assets - _TC1",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Warehouse 2",
-  "is_group": "No"
+  "is_group": 0
  },
  {
   "company": "_Test Company",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Warehouse No Account",
-  "is_group": "No"
+  "is_group": 0
  },
  {
   "company": "_Test Company",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Warehouse Group",
-  "is_group": "Yes"
+  "is_group": 1
  },
  {
   "company": "_Test Company",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Warehouse Group-C1",
-  "is_group": "No",
+  "is_group": 0,
   "parent_warehouse": "_Test Warehouse Group - _TC"
  },
  {
   "company": "_Test Company",
   "doctype": "Warehouse",
   "warehouse_name": "_Test Warehouse Group-C2",
-  "is_group": "No",
+  "is_group": 0,
   "parent_warehouse": "_Test Warehouse Group - _TC"
  }
 ]
diff --git a/erpnext/stock/doctype/warehouse/test_warehouse.py b/erpnext/stock/doctype/warehouse/test_warehouse.py
index b6eaa13..2232584 100644
--- a/erpnext/stock/doctype/warehouse/test_warehouse.py
+++ b/erpnext/stock/doctype/warehouse/test_warehouse.py
@@ -10,7 +10,7 @@
 class TestWarehouse(unittest.TestCase):
 	def test_parent_warehouse(self):
 		parent_warehouse = frappe.get_doc("Warehouse", "_Test Warehouse Group - _TC")
-		self.assertEquals(parent_warehouse.is_group, "Yes")
+		self.assertEquals(parent_warehouse.is_group, 1)
 		
 	def test_warehouse_hierarchy(self):
 		p_warehouse = frappe.get_doc("Warehouse", "_Test Warehouse Group - _TC")
@@ -20,6 +20,6 @@
 		
 		for child_warehouse in child_warehouses:
 			self.assertEquals(p_warehouse.name, child_warehouse.parent_warehouse)
-			self.assertEquals(child_warehouse.is_group, "No")
+			self.assertEquals(child_warehouse.is_group, 0)
 		
 		
diff --git a/erpnext/stock/doctype/warehouse/warehouse.js b/erpnext/stock/doctype/warehouse/warehouse.js
index 5983014..8b1b679 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.js
+++ b/erpnext/stock/doctype/warehouse/warehouse.js
@@ -27,6 +27,8 @@
 			frm.add_custom_button(__('Non-Group to Group'),
 				function() { convert_to_group_or_ledger(frm); }, 'icon-retweet', 'btn-default')
 		}
+		
+		cur_frm.toggle_enable(['is_group', 'company'], false);
 
 		frm.fields_dict['parent_warehouse'].get_query = function(doc) {
 			return {
diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py
index 0ceaeda..3b50f30 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.py
+++ b/erpnext/stock/doctype/warehouse/warehouse.py
@@ -50,7 +50,7 @@
 
 	def create_account_head(self):
 		if cint(frappe.defaults.get_global_default("auto_accounting_for_stock")):
-			if not self.get_account(self.name):
+			if not self.get_account():
 				if self.get("__islocal") or not frappe.db.get_value(
 						"Stock Ledger Entry", {"warehouse": self.name}):
 
@@ -168,7 +168,7 @@
 
 	def get_account(self, warehouse=None):
 		filters = {
-			"account_type": "Warehouse",
+			"account_type": "Stock",
 			"company": self.company,
 			"is_group": self.is_group
 		}
@@ -213,7 +213,9 @@
 		else:
 			account_name = self.get_account()
 			if account_name:
-				frappe.get_doc("Account", account_name).convert_group_to_ledger()
+				doc = frappe.get_doc("Account", account_name)
+				doc.warehouse = self.name
+				doc.convert_group_to_ledger()
 			
 			self.is_group = 0
 			self.save()
@@ -225,8 +227,10 @@
 		else:
 			account_name = self.get_account(self.name)
 			if account_name:
-				frappe.get_doc("Account", account_name).convert_ledger_to_group()
-			
+				doc = frappe.get_doc("Account", account_name)
+				doc.flags.exclude_account_type_check = True
+				doc.convert_ledger_to_group()
+
 			self.is_group = 1
 			self.save()
 			return 1
diff --git a/erpnext/stock/doctype/warehouse/warehouse_tree.js b/erpnext/stock/doctype/warehouse/warehouse_tree.js
index 0361493..9069160 100644
--- a/erpnext/stock/doctype/warehouse/warehouse_tree.js
+++ b/erpnext/stock/doctype/warehouse/warehouse_tree.js
@@ -10,6 +10,12 @@
 		label: __("Company"),
 		default: frappe.defaults.get_default('company') ? frappe.defaults.get_default('company'): ""
 	}],
+	fields:[
+		{fieldtype:'Data', fieldname: 'name_field',
+			label:__('New Warehouse Name'), reqd:true},
+		{fieldtype:'Check', fieldname:'is_group', label:__('Group Node'),
+			description: __("Further nodes can be only created under 'Group' type nodes")}
+	],
 	onrender: function(node) {
 		if (node.data && node.data.balance!==undefined) {
 			$('<span class="balance-area pull-right text-muted small">'
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 51d82a6..6797f8e 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -18,7 +18,7 @@
 		
 		lft, rgt, is_group = frappe.db.get_value("Warehouse", warehouse, ["lft", "rgt", "is_group"])
 		
-		if is_group == "Yes":
+		if is_group:
 			values.extend([lft, rgt])
 			condition += "and exists (\
 				select name from `tabWarehouse` wh where wh.name = sle.warehouse\
@@ -189,6 +189,6 @@
 			InvalidWarehouseCompany)
 
 def is_group_warehouse(warehouse):
-	if frappe.db.get_value("Warehouse", warehouse, "is_group") == "Yes":
+	if frappe.db.get_value("Warehouse", warehouse, "is_group"):
 		frappe.throw(_("Group node warehouse is not allowed to select for transactions"))
 	
\ No newline at end of file