[fixes] bulk close facility, rename Drop Ship to Delivered By Supplier
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index 8c50974..9b9ab24 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -51,10 +51,10 @@
 
 		if(doc.docstatus==1 && !doc.is_return) {
 			
-			var is_drop_ship = false;
+			var is_delivered_by_supplier = false;
 			
-			is_drop_ship = cur_frm.doc.items.some(function(item){
-				return item.is_drop_ship ? true : false;
+			is_delivered_by_supplier = cur_frm.doc.items.some(function(item){
+				return item.is_delivered_by_supplier ? true : false;
 			})
 			
 			cur_frm.add_custom_button(doc.update_stock ? __('Sales Return') : __('Credit Note'),
@@ -68,7 +68,7 @@
 						return item.delivery_note ? true : false;
 					});
 
-				if(!from_delivery_note && !is_drop_ship) {
+				if(!from_delivery_note && !is_delivered_by_supplier) {
 					cur_frm.add_custom_button(__('Delivery'), cur_frm.cscript['Make Delivery Note']).addClass("btn-primary");
 				}
 			}
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 60fdc1a..6abf1ba 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -668,7 +668,7 @@
 				"so_detail": "so_detail"
 			},
 			"postprocess": update_item,
-			"condition": lambda doc: doc.is_drop_ship!=1
+			"condition": lambda doc: doc.delivered_by_supplier!=1
 		},
 		"Sales Taxes and Charges": {
 			"doctype": "Sales Taxes and Charges",
diff --git a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
index 37b60d1..0a98d87 100644
--- a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
+++ b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -684,14 +684,14 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 1, 
-   "collapsible_depends_on": "eval:doc.is_drop_ship==1", 
-   "fieldname": "drop_ship", 
+   "collapsible_depends_on": "eval:doc.delivered_by_supplier==1", 
+   "fieldname": "by_supplier", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
-   "label": "Drop Ship", 
+   "label": "Delivered By Sypplier", 
    "no_copy": 0, 
    "permlevel": 0, 
    "precision": "", 
@@ -707,18 +707,18 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "fieldname": "is_drop_ship", 
+   "fieldname": "delivered_by_supplier", 
    "fieldtype": "Check", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
-   "label": "Is Drop Ship Item", 
+   "label": "Delivered By Supplier", 
    "no_copy": 0, 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
-   "read_only": 1, 
+   "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
    "search_index": 0, 
@@ -1327,7 +1327,7 @@
  "is_submittable": 0, 
  "issingle": 0, 
  "istable": 1, 
- "modified": "2015-10-21 19:06:40.313900", 
+ "modified": "2015-10-26 17:22:23.631195", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Sales Invoice Item", 
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js
index a9ca76f..b6a785c 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.js
@@ -26,7 +26,7 @@
 
 			cur_frm.add_custom_button(__('Close'), this.close_purchase_order);
 			
-			if(doc.is_drop_ship && doc.status!="Delivered"){
+			if(doc.delivered_by_supplier && doc.status!="Delivered"){
 				cur_frm.add_custom_button(__('Delivered By Supplier'), this.delivered_by_supplier);
 			}
 				
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index a416663..45444b9 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -162,7 +162,7 @@
 		clear_doctype_notifications(self)
 
 	def on_submit(self):
-		if self.is_drop_ship == 1:
+		if self.delivered_by_supplier == 1:
 			self.update_status_updater()
 		
 		super(PurchaseOrder, self).on_submit()
@@ -179,7 +179,7 @@
 		purchase_controller.update_last_purchase_rate(self, is_submit = 1)
 
 	def on_cancel(self):
-		if self.is_drop_ship == 1:
+		if self.delivered_by_supplier == 1:
 			self.update_status_updater()
 		
 		pc_obj = frappe.get_doc('Purchase Common')
@@ -236,9 +236,9 @@
 	for name in names:
 		po = frappe.get_doc("Purchase Order", name)
 		if po.docstatus == 1:
-			if status=="Stopped":
-				if po.status not in ("Stopped", "Cancelled") and (po.per_received < 100 or po.per_billed < 100):
-					po.update_status("Stopped")
+			if status in ("Stopped", "Closed"):
+				if po.status not in ("Stopped", "Cancelled", "Closed") and (po.per_received < 100 or po.per_billed < 100):
+					po.update_status(status)
 			else:
 				if po.status == "Stopped":
 					po.update_status("Draft")
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order_list.js b/erpnext/buying/doctype/purchase_order/purchase_order_list.js
index 82231b8..0f1581d 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order_list.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order_list.js
@@ -32,6 +32,9 @@
 		listview.page.add_menu_item(__("Set as Unstopped"), function() {
 			listview.call_for_selected_items(method, {"status": "Submitted"});
 		});
-
+		
+		listview.page.add_menu_item(__("Set as Closed"), function() {
+			listview.call_for_selected_items(method, {"status": "Closed"});
+		});
 	}
 };
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index c354242..2951d28 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -15,15 +15,15 @@
 	refresh: function(doc, dt, dn) {
 		this._super();
 		this.frm.dashboard.reset();
-		var is_drop_ship = false;
+		var is_delivered_by_supplier = false;
 		var is_delivery_note = false;
 		
 		if(doc.docstatus==1) {
 			if(doc.status != 'Stopped' && doc.status != 'Closed') {
 				
 				$.each(cur_frm.doc.items, function(i, item){
-					if(item.is_drop_ship == 1 || item.supplier){
-						is_drop_ship = true;
+					if(item.is_delivered_by_supplier == 1 || item.supplier){
+						is_delivered_by_supplier = true;
 					}
 					else{
 						is_delivery_note = true;
@@ -45,7 +45,7 @@
 
 				// stop
 				if((flt(doc.per_delivered, 2) < 100 && is_delivery_note) || doc.per_billed < 100 
-					|| (flt(doc.per_ordered,2) < 100 && is_drop_ship)){
+					|| (flt(doc.per_ordered,2) < 100 && is_delivered_by_supplier)){
 						cur_frm.add_custom_button(__('Stop'), this.stop_sales_order)
 					}
 				
@@ -67,7 +67,7 @@
 					cur_frm.add_custom_button(__('Invoice'), this.make_sales_invoice).addClass("btn-primary");
 				}
 				
-				if(flt(doc.per_ordered, 2) < 100 && is_drop_ship)
+				if(flt(doc.per_ordered, 2) < 100 && is_delivered_by_supplier)
 					cur_frm.add_custom_button(__('Make Purchase Order'), cur_frm.cscript.make_purchase_order).addClass("btn-primary");
 
 			} else {
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 8c5cf59..f452fa9 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -150,7 +150,7 @@
 
 	def validate_drop_ship(self):
 		for d in self.get('items'):
-			if d.is_drop_ship and not d.supplier:
+			if d.delivered_by_supplier and not d.supplier:
 				frappe.throw(_("Row #{0}: Set Supplier for item {1}").format(d.idx, d.item_code))
 
 	def on_submit(self):
@@ -277,9 +277,9 @@
 	for name in names:
 		so = frappe.get_doc("Sales Order", name)
 		if so.docstatus == 1:
-			if status=="Stop":
-				if so.status not in ("Stopped", "Cancelled") and (so.per_delivered < 100 or so.per_billed < 100):
-					so.stop_sales_order()
+			if status in ("Stopped", "Closed"):
+				if so.status not in ("Stopped", "Cancelled", "Closed") and (so.per_delivered < 100 or so.per_billed < 100):
+					so.stop_sales_order(status)
 			else:
 				if so.status == "Stopped":
 					so.unstop_sales_order()
@@ -359,7 +359,7 @@
 				"parent": "against_sales_order",
 			},
 			"postprocess": update_item,
-			"condition": lambda doc: doc.delivered_qty < doc.qty and doc.is_drop_ship!=1
+			"condition": lambda doc: doc.delivered_qty < doc.qty and doc.delivered_by_supplier!=1
 		},
 		"Sales Taxes and Charges": {
 			"doctype": "Sales Taxes and Charges",
@@ -507,7 +507,7 @@
 		if default_price_list:
 			target.buying_price_list = default_price_list
 			
-		target.is_drop_ship = 1
+		target.delivered_by_supplier = 1
 		target.run_method("set_missing_values")
 		target.run_method("calculate_taxes_and_totals")
 
diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js
index 6c6254b..8030ff8 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_list.js
+++ b/erpnext/selling/doctype/sales_order/sales_order_list.js
@@ -45,12 +45,16 @@
 		var method = "erpnext.selling.doctype.sales_order.sales_order.stop_or_unstop_sales_orders";
 
 		listview.page.add_menu_item(__("Set as Stopped"), function() {
-			listview.call_for_selected_items(method, {"status": "Stop"});
+			listview.call_for_selected_items(method, {"status": "Stoped"});
 		});
 
 		listview.page.add_menu_item(__("Set as Unstopped"), function() {
 			listview.call_for_selected_items(method, {"status": "Unstop"});
 		});
+		
+		listview.page.add_menu_item(__("Set as Closed"), function() {
+			listview.call_for_selected_items(method, {"status": "Closed"});
+		});
 
 	}
 };
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 367be5e..667f21b 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -302,7 +302,7 @@
 		from erpnext.buying.doctype.purchase_order.purchase_order import delivered_by_supplier
 
 		po_item = make_item("_Test Item for Drop Shipping", {"is_stock_item": 1, "is_sales_item": 1,
-			"is_purchase_item": 1, "is_drop_ship": 1, 'default_supplier': '_Test Supplier'})
+			"is_purchase_item": 1, "delivered_by_supplier": 1, 'default_supplier': '_Test Supplier'})
 
 		dn_item = make_item("_Test Regular Item", {"is_stock_item": 1, "is_sales_item": 1,
 			"is_purchase_item": 1})
@@ -314,7 +314,7 @@
 				"qty": 2,
 				"rate": 400,
 				"conversion_factor": 1.0,
-				"is_drop_ship": 1,
+				"delivered_by_supplier": 1,
 				"supplier": '_Test Supplier'
 			},
 			{
diff --git a/erpnext/selling/doctype/sales_order_item/sales_order_item.json b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
index cd56cc5..1118157 100644
--- a/erpnext/selling/doctype/sales_order_item/sales_order_item.json
+++ b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -687,14 +687,14 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 1, 
-   "collapsible_depends_on": "eval:doc.is_drop_ship==1", 
-   "fieldname": "drop_ship", 
+   "collapsible_depends_on": "eval:doc.delivered_by_supplier==1||doc.supplier", 
+   "fieldname": "by_supplier", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
-   "label": "Drop Ship", 
+   "label": "Delivered by Supplier", 
    "no_copy": 0, 
    "permlevel": 0, 
    "precision": "", 
@@ -707,20 +707,20 @@
    "unique": 0
   }, 
   {
-   "allow_on_submit": 1, 
+   "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "fieldname": "is_drop_ship", 
+   "fieldname": "delivered_by_supplier", 
    "fieldtype": "Check", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
-   "label": "Is Drop Ship Item", 
+   "label": "Delivered By Supplier", 
    "no_copy": 0, 
    "permlevel": 0, 
    "precision": "", 
-   "print_hide": 1, 
+   "print_hide": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -1206,7 +1206,7 @@
  "is_submittable": 0, 
  "issingle": 0, 
  "istable": 1, 
- "modified": "2015-10-21 19:25:21.712515", 
+ "modified": "2015-10-26 17:17:04.378067", 
  "modified_by": "Administrator", 
  "module": "Selling", 
  "name": "Sales Order Item", 
diff --git a/erpnext/stock/doctype/item/item.json b/erpnext/stock/doctype/item/item.json
index bd812a0..0f076f4 100644
--- a/erpnext/stock/doctype/item/item.json
+++ b/erpnext/stock/doctype/item/item.json
@@ -250,13 +250,13 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "fieldname": "is_drop_ship", 
+   "fieldname": "delivered_by_supplier", 
    "fieldtype": "Check", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
-   "label": "Is Drop Ship", 
+   "label": "Delivered By Supplier", 
    "no_copy": 0, 
    "permlevel": 0, 
    "precision": "", 
@@ -2157,7 +2157,11 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 1, 
+<<<<<<< ac7a1da680daa876b9f107cec87150cf7a195138
  "modified": "2015-10-29 02:25:26.256373", 
+=======
+ "modified": "2015-10-26 17:18:54.615802", 
+>>>>>>> [fixes] bulk close facility, rename Drop Ship to Delivered By Supplier
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Item", 
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 0c5f7c7..6c6f84b 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -174,7 +174,7 @@
 		"net_amount": 0.0,
 		"discount_percentage": 0.0,
 		"supplier": item.default_supplier,
-		"is_drop_ship": item.is_drop_ship,
+		"delivered_by_supplier": item.delivered_by_supplier,
 	})
 
 	# if default specified in item is for another company, fetch from company