Merge pull request #4270 from rmehta/email-digest-fix

Email digest fixes
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js
index 3fca0f8..38146cf 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.js
@@ -25,11 +25,11 @@
 				cur_frm.add_custom_button(__('Stop'), this.stop_purchase_order);
 
 			cur_frm.add_custom_button(__('Close'), this.close_purchase_order);
-			
+
 			if(doc.delivered_by_supplier && doc.status!="Delivered"){
 				cur_frm.add_custom_button(__('Delivered By Supplier'), this.delivered_by_supplier);
 			}
-				
+
 			if(flt(doc.per_billed)==0) {
 				cur_frm.add_custom_button(__('Payment'), cur_frm.cscript.make_bank_entry);
 			}
@@ -51,8 +51,8 @@
 			cur_frm.cscript.add_from_mappers();
 		}
 
-		if(doc.docstatus == 1 && doc.status == 'Stopped')
-			cur_frm.add_custom_button(__('Unstop'), this.unstop_purchase_order);
+		if(doc.docstatus == 1 && (doc.status === 'Stopped' || doc.status === "Closed"))
+			cur_frm.add_custom_button(__('Re-open'), this.unstop_purchase_order);
 	},
 
 	make_stock_entry: function() {
@@ -167,7 +167,7 @@
 		cur_frm.cscript.update_status('Stop', 'Stopped')
 	},
 	unstop_purchase_order: function(){
-		cur_frm.cscript.update_status('Resume', 'Submitted')
+		cur_frm.cscript.update_status('Re-open', 'Submitted')
 	},
 	close_purchase_order: function(){
 		cur_frm.cscript.update_status('Close', 'Closed')
@@ -193,19 +193,18 @@
 $.extend(cur_frm.cscript, new erpnext.buying.PurchaseOrderController({frm: cur_frm}));
 
 cur_frm.cscript.update_status= function(label, status){
-	var doc = cur_frm.doc;
-	var check = confirm(__("Do you really want to {0} {1}",[label, doc.name]));
-	
-	if (check) {
-		frappe.call({
-			method: "erpnext.buying.doctype.purchase_order.purchase_order.update_status",
-			args:{status: status, name: doc.name},
-			callback:function(r){
-				cur_frm.set_value("status", status);
-				cur_frm.reload_doc();			
-			}
-		})
-	}
+	frappe.ui.form.is_saving = true;
+	frappe.call({
+		method: "erpnext.buying.doctype.purchase_order.purchase_order.update_status",
+		args: {status: status, name: cur_frm.doc.name},
+		callback: function(r) {
+			cur_frm.set_value("status", status);
+			cur_frm.reload_doc();
+		},
+		always: function() {
+			frappe.ui.form.is_saving = false;
+		}
+	})
 }
 
 cur_frm.fields_dict['supplier_address'].get_query = function(doc, cdt, cdn) {
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 4f373e0..6d0ddb4 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -164,7 +164,7 @@
 	def on_submit(self):
 		if self.delivered_by_supplier == 1:
 			self.update_status_updater()
-		
+
 		super(PurchaseOrder, self).on_submit()
 
 		purchase_controller = frappe.get_doc("Purchase Common")
@@ -181,7 +181,7 @@
 	def on_cancel(self):
 		if self.delivered_by_supplier == 1:
 			self.update_status_updater()
-		
+
 		pc_obj = frappe.get_doc('Purchase Common')
 		self.check_for_stopped_or_closed_status(pc_obj)
 
@@ -219,7 +219,7 @@
 			for field in ("received_qty", "billed_amt", "prevdoc_doctype", "prevdoc_docname",
 				"prevdoc_detail_docname", "supplier_quotation", "supplier_quotation_item"):
 					d.set(field, None)
-					
+
 	def update_status_updater(self):
 		self.status_updater[0].update({
 			"target_parent_dt": "Sales Order",
@@ -227,7 +227,7 @@
 			'target_field': 'ordered_qty',
 			"target_parent_field": ''
 		})
-		
+
 @frappe.whitelist()
 def stop_or_unstop_purchase_orders(names, status):
 	if not frappe.has_permission("Purchase Order", "write"):
@@ -241,7 +241,7 @@
 				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":
+				if po.status in ("Stopped", "Closed"):
 					po.update_status("Draft")
 
 	frappe.local.message_log = []
@@ -344,22 +344,20 @@
 def update_status(status, name):
 	po = frappe.get_doc("Purchase Order", name)
 	po.update_status(status)
-	
+
 @frappe.whitelist()
 def	delivered_by_supplier(purchase_order):
 	po = frappe.get_doc("Purchase Order", purchase_order)
 	update_delivered_qty(po)
 	po.update_status("Delivered")
-	
+
 def update_delivered_qty(purchase_order):
-	sales_order_list = []
 	so_name = ''
 	for item in purchase_order.items:
 		if item.prevdoc_doctype == "Sales Order":
 			so_name = item.prevdoc_docname
-			
+
 	so = frappe.get_doc("Sales Order", so_name)
 	so.update_delivery_status(purchase_order.name)
 	so.set_status(update=True)
 	so.notify_update()
-	
\ No newline at end of file
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order_list.js b/erpnext/buying/doctype/purchase_order/purchase_order_list.js
index 0f1581d..253eb4b 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order_list.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order_list.js
@@ -25,16 +25,16 @@
 	onload: function(listview) {
 		var method = "erpnext.buying.doctype.purchase_order.purchase_order.stop_or_unstop_purchase_orders";
 
-		listview.page.add_menu_item(__("Set as Stopped"), function() {
+		listview.page.add_menu_item(__("Close"), function() {
+			listview.call_for_selected_items(method, {"status": "Closed"});
+		});
+
+		listview.page.add_menu_item(__("Stop"), function() {
 			listview.call_for_selected_items(method, {"status": "Stopped"});
 		});
 
-		listview.page.add_menu_item(__("Set as Unstopped"), function() {
+		listview.page.add_menu_item(__("Re-open"), 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/hr/doctype/process_payroll/process_payroll.js b/erpnext/hr/doctype/process_payroll/process_payroll.js
index d882349..3da896c 100644
--- a/erpnext/hr/doctype/process_payroll/process_payroll.js
+++ b/erpnext/hr/doctype/process_payroll/process_payroll.js
@@ -25,8 +25,8 @@
 
 cur_frm.cscript.submit_salary_slip = function(doc, cdt, cdn) {
 	cur_frm.cscript.display_activity_log("");
-	var check = confirm(__("Do you really want to Submit all Salary Slip for month {0} and year {1}", [doc.month, doc.fiscal_year]));
-	if(check){
+
+	frappe.confirm(__("Do you really want to Submit all Salary Slip for month {0} and year {1}", [doc.month, doc.fiscal_year]), function() {
 		// clear all in locals
 		if(locals["Salary Slip"]) {
 			$.each(locals["Salary Slip"], function(name, d) {
@@ -40,7 +40,7 @@
 		}
 
 		return $c('runserverobj', args={'method':'submit_salary_slip','docs':doc},callback);
-	}
+	});
 }
 
 cur_frm.cscript.make_bank_entry = function(doc,cdt,cdn){
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.js b/erpnext/manufacturing/doctype/production_order/production_order.js
index 7c92f2d..7349447 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.js
+++ b/erpnext/manufacturing/doctype/production_order/production_order.js
@@ -83,7 +83,7 @@
 				frm.add_custom_button(__('Stop'), cur_frm.cscript['Stop Production Order'],
 					"icon-exclamation", "btn-default");
 			} else if (doc.status == 'Stopped') {
-				frm.add_custom_button(__('Unstop'), cur_frm.cscript['Unstop Production Order'],
+				frm.add_custom_button(__('Re-open'), cur_frm.cscript['Unstop Production Order'],
 				"icon-check", "btn-default");
 			}
 
@@ -239,18 +239,11 @@
 });
 
 cur_frm.cscript['Stop Production Order'] = function() {
-	var doc = cur_frm.doc;
-	var check = confirm(__("Do you really want to stop production order: " + doc.name));
-	if (check) {
-		return $c_obj(doc, 'stop_unstop', 'Stopped', function(r, rt) {cur_frm.refresh();});
-	}
+	$c_obj(cur_frm.doc, 'stop_unstop', 'Stopped', function(r, rt) {cur_frm.refresh();});
 }
 
 cur_frm.cscript['Unstop Production Order'] = function() {
-	var doc = cur_frm.doc;
-	var check = confirm(__("Do really want to unstop production order: " + doc.name));
-	if (check)
-		return $c_obj(doc, 'stop_unstop', 'Unstopped', function(r, rt) {cur_frm.refresh();});
+	$c_obj(cur_frm.doc, 'stop_unstop', 'Unstopped', function(r, rt) {cur_frm.refresh();});
 }
 
 cur_frm.cscript['Transfer Raw Materials'] = function() {
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index e7ef1e3..cd5ca9d 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -17,10 +17,10 @@
 		this.frm.dashboard.reset();
 		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.delivered_by_supplier == 1 || item.supplier){
 						if(item.qty > item.ordered_qty)
@@ -49,8 +49,8 @@
 				if(flt(doc.per_delivered, 2) < 100 || flt(doc.per_billed) < 100) {
 						cur_frm.add_custom_button(__('Stop'), this.stop_sales_order)
 					}
-				
-				
+
+
 				cur_frm.add_custom_button(__('Close'), this.close_sales_order)
 
 				// maintenance
@@ -67,14 +67,13 @@
 				if(flt(doc.per_billed, 2) < 100) {
 					cur_frm.add_custom_button(__('Invoice'), this.make_sales_invoice).addClass("btn-primary");
 				}
-				
+
 				if(flt(doc.per_delivered, 2) < 100 && is_delivered_by_supplier)
 					cur_frm.add_custom_button(__('Make Purchase Order'), cur_frm.cscript.make_purchase_order).addClass("btn-primary");
 
 			} else {
 				// un-stop
-				if( doc.status != 'Closed')
-					cur_frm.add_custom_button(__('Unstop'), cur_frm.cscript['Unstop Sales Order']);
+				cur_frm.add_custom_button(__('Re-open'), cur_frm.cscript['Unstop Sales Order']);
 			}
 		}
 
@@ -206,10 +205,10 @@
 		dialog.show();
 	},
 	stop_sales_order: function(){
-		cur_frm.cscript.update_status("Stop", "Stopped") 
+		cur_frm.cscript.update_status("Stop", "Stopped")
 	},
 	close_sales_order: function(){
-		cur_frm.cscript.update_status("Close", "Closed") 
+		cur_frm.cscript.update_status("Close", "Closed")
 	}
 
 });
@@ -235,32 +234,27 @@
 
 cur_frm.cscript.update_status = function(label, status){
 	var doc = cur_frm.doc;
-	var check = confirm(__("Do you really want to {0} {1}",[label, doc.name]));
-	
-	if (check) {
-		frappe.call({
-			method: "erpnext.selling.doctype.sales_order.sales_order.update_status",
-			args:{status: status, name: doc.name},
-			callback:function(r){
-				cur_frm.reload_doc();
-			}
-		})
-	}
+	frappe.ui.form.is_saving = true;
+	frappe.call({
+		method: "erpnext.selling.doctype.sales_order.sales_order.update_status",
+		args: {status: status, name: doc.name},
+		callback: function(r){
+			cur_frm.reload_doc();
+		},
+		always: function() {
+			frappe.ui.form.is_saving = false;
+		}
+	});
 }
 
 cur_frm.cscript['Unstop Sales Order'] = function() {
 	var doc = cur_frm.doc;
-
-	var check = confirm(__("Are you sure you want to UNSTOP ") + doc.name);
-
-	if (check) {
-		return $c('runserverobj', {
-			'method':'unstop_sales_order',
-			'docs': doc
-		}, function(r,rt) {
-			cur_frm.refresh();
-		});
-	}
+	return $c('runserverobj', {
+		'method':'unstop_sales_order',
+		'docs': doc
+	}, function(r,rt) {
+		cur_frm.refresh();
+	});
 }
 
 cur_frm.cscript.on_submit = function(doc, cdt, cdn) {
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 7ea796c..d55d49d 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -258,23 +258,23 @@
 
 	def on_update(self):
 		pass
-	
+
 	def before_update_after_submit(self):
-		self.validate_drop_ship()	
+		self.validate_drop_ship()
 		self.validate_po()
-		
+
 	def validate_po(self):
 		exc_list = []
-		
+
 		for item in self.items:
-			supplier = frappe.db.get_value("Sales Order Item", {"parent": self.name, "item_code": item.item_code}, 
+			supplier = frappe.db.get_value("Sales Order Item", {"parent": self.name, "item_code": item.item_code},
 				"supplier")
 			if item.ordered_qty > 0.0 and item.supplier != supplier:
 				exc_list.append("Row #{0}: Not allowed to change supplier as Purchase Order already exists".format(item.idx))
-		
-		if exc_list:		
+
+		if exc_list:
 			frappe.throw('\n'.join(exc_list))
-		
+
 	def update_delivery_status(self, po_name):
 		tot_qty, delivered_qty = 0.0, 0.0
 
@@ -282,12 +282,12 @@
 			if item.delivered_by_supplier:
 				delivered_qty = frappe.db.get_value("Purchase Order Item", {"parent": po_name, "item_code": item.item_code}, "qty")
 				frappe.db.set_value("Sales Order Item", item.name, "delivered_qty", delivered_qty)
-				
+
 			delivered_qty += item.delivered_qty
 			tot_qty += item.qty
-			
+
 		frappe.db.set_value("Sales Order", self.name, "per_delivered", flt(delivered_qty/tot_qty) * 100)
-		
+
 def get_list_context(context=None):
 	from erpnext.controllers.website_list_for_contact import get_list_context
 	list_context = get_list_context(context)
@@ -307,7 +307,7 @@
 				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":
+				if so.status in ("Stopped", "Closed"):
 					so.unstop_sales_order()
 
 	frappe.local.message_log = []
@@ -525,14 +525,14 @@
 	return data
 
 @frappe.whitelist()
-def make_purchase_order_for_drop_shipment(source_name, for_supplier, target_doc=None):	
+def make_purchase_order_for_drop_shipment(source_name, for_supplier, target_doc=None):
 	def set_missing_values(source, target):
 		target.supplier = for_supplier
-		
+
 		default_price_list = frappe.get_value("Supplier", for_supplier, "default_price_list")
 		if default_price_list:
 			target.buying_price_list = default_price_list
-			
+
 		target.delivered_by_supplier = 1
 		target.run_method("set_missing_values")
 		target.run_method("calculate_taxes_and_totals")
@@ -552,10 +552,10 @@
 				"contact_person": "customer_contact_person"
 			},
 			"field_no_map": [
-				"address_display", 
-				"contact_display", 
-				"contact_mobile", 
-				"contact_email", 
+				"address_display",
+				"contact_display",
+				"contact_mobile",
+				"contact_email",
 				"contact_person"
 			],
 			"validation": {
@@ -579,7 +579,7 @@
 			"condition": lambda doc: doc.ordered_qty < doc.qty and doc.supplier == for_supplier
 		}
 	}, target_doc, set_missing_values)
-	
+
 	return doclist
 
 @frappe.whitelist()
@@ -615,4 +615,3 @@
 def update_status(status, name):
 	so = frappe.get_doc("Sales Order", name)
 	so.stop_sales_order(status)
-	
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js
index 8030ff8..ff9ff91 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_list.js
+++ b/erpnext/selling/doctype/sales_order/sales_order_list.js
@@ -7,7 +7,7 @@
 
         } else if(doc.status==="Closed"){
         	return [__("Closed"), "green", "status,=,Closed"];
-			
+
         } else if (doc.order_type !== "Maintenance"
 			&& flt(doc.per_delivered, 2) < 100 && frappe.datetime.get_diff(doc.delivery_date) < 0) {
 			// to bill & overdue
@@ -44,17 +44,17 @@
 	onload: function(listview) {
 		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": "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.page.add_menu_item(__("Close"), function() {
 			listview.call_for_selected_items(method, {"status": "Closed"});
 		});
 
+		listview.page.add_menu_item(__("Stop"), function() {
+			listview.call_for_selected_items(method, {"status": "Stoped"});
+		});
+
+		listview.page.add_menu_item(__("Re-open"), function() {
+			listview.call_for_selected_items(method, {"status": "Unstop"});
+		});
+
 	}
-};
\ No newline at end of file
+};
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 93ba3a5..b0f7109 100644
--- a/erpnext/selling/doctype/sales_order_item/sales_order_item.json
+++ b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -729,27 +729,6 @@
    "unique": 0
   }, 
   {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "column_break_32", 
-   "fieldtype": "Column Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
    "allow_on_submit": 1, 
    "bold": 0, 
    "collapsible": 0, 
@@ -776,6 +755,27 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
+   "fieldname": "column_break_32", 
+   "fieldtype": "Column Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
    "fieldname": "warehouse_and_reference", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -1206,7 +1206,7 @@
  "is_submittable": 0, 
  "issingle": 0, 
  "istable": 1, 
- "modified": "2015-11-02 15:15:05.774529", 
+ "modified": "2015-11-03 07:58:15.034750", 
  "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 8632d12..678bedd 100644
--- a/erpnext/stock/doctype/item/item.json
+++ b/erpnext/stock/doctype/item/item.json
@@ -250,28 +250,6 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "fieldname": "delivered_by_supplier", 
-   "fieldtype": "Check", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Delivered By Supplier", 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
    "fieldname": "image", 
    "fieldtype": "Attach", 
    "hidden": 0, 
@@ -1191,6 +1169,28 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
+   "fieldname": "delivered_by_supplier", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Delivered By Supplier (Drop Ship)", 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 1, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
    "depends_on": "eval:doc.is_purchase_item", 
    "fieldname": "default_supplier", 
    "fieldtype": "Link", 
@@ -2157,7 +2157,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 1, 
- "modified": "2015-10-29 02:25:26.256373", 
+ "modified": "2015-11-03 07:52:41.416937", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Item", 
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index a7b9df4..3a1f508 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -28,14 +28,6 @@
 	refresh: function(doc) {
 		this._super();
 
-		// dashboard
-		cur_frm.dashboard.reset();
-		if(doc.docstatus===1) {
-			if(doc.status==="Stopped") {
-				cur_frm.dashboard.set_headline_alert(__("Stopped"), "alert-danger", "octicon octicon-circle-slash")
-			}
-		}
-
 		if(doc.docstatus==0) {
 			cur_frm.add_custom_button(__("Get Items from BOM"),
 				cur_frm.cscript.get_items_from_bom, "icon-sitemap", "btn-default");
@@ -84,7 +76,7 @@
 		}
 
 		if(doc.docstatus == 1 && doc.status == 'Stopped')
-			cur_frm.add_custom_button(__('Unstop Material Request'),
+			cur_frm.add_custom_button(__('Re-open'),
 				cur_frm.cscript['Unstop Material Request'], "icon-check");
 
 	},
@@ -175,24 +167,16 @@
 
 cur_frm.cscript['Stop Material Request'] = function() {
 	var doc = cur_frm.doc;
-	var check = confirm(__("Do you really want to STOP this Material Request?"));
-
-	if (check) {
-		return $c('runserverobj', args={'method':'update_status', 'arg': 'Stopped', 'docs': doc}, function(r,rt) {
-			cur_frm.refresh();
-		});
-	}
+	$c('runserverobj', args={'method':'update_status', 'arg': 'Stopped', 'docs': doc}, function(r,rt) {
+		cur_frm.refresh();
+	});
 };
 
 cur_frm.cscript['Unstop Material Request'] = function(){
 	var doc = cur_frm.doc;
-	var check = confirm(__("Do you really want to UNSTOP this Material Request?"));
-
-	if (check) {
-		return $c('runserverobj', args={'method':'update_status', 'arg': 'Submitted','docs': doc}, function(r,rt) {
-			cur_frm.refresh();
-		});
-	}
+	$c('runserverobj', args={'method':'update_status', 'arg': 'Submitted','docs': doc}, function(r,rt) {
+		cur_frm.refresh();
+	});
 };
 
 
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index 9ca4758..e65cc4b 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -98,7 +98,6 @@
 		self.check_modified_date()
 		frappe.db.set(self, 'status', cstr(status))
 		self.update_requested_qty()
-		frappe.msgprint(_("Status updated to {0}").format(_(status)))
 
 	def on_cancel(self):
 		pc_obj = frappe.get_doc('Purchase Common')