[fix] cleanup stop-resume code

This commit is contained in:
Rushabh Mehta 2015-11-03 18:20:39 +05:30
parent 7d23e4286e
commit 5951692db0
10 changed files with 100 additions and 134 deletions

View File

@ -51,8 +51,8 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend(
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 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend(
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 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend(
$.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.ui.form.is_saving = true;
frappe.call({
method: "erpnext.buying.doctype.purchase_order.purchase_order.update_status",
args:{status: status, name: doc.name},
callback:function(r){
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) {

View File

@ -241,7 +241,7 @@ def stop_or_unstop_purchase_orders(names, status):
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 = []
@ -352,7 +352,6 @@ def delivered_by_supplier(purchase_order):
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":
@ -362,4 +361,3 @@ def update_delivered_qty(purchase_order):
so.update_delivery_status(purchase_order.name)
so.set_status(update=True)
so.notify_update()

View File

@ -25,16 +25,16 @@ frappe.listview_settings['Purchase Order'] = {
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"});
});
}
};

View File

@ -25,8 +25,8 @@ cur_frm.cscript.create_salary_slip = function(doc, cdt, cdn) {
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 @@ cur_frm.cscript.submit_salary_slip = function(doc, cdt, cdn) {
}
return $c('runserverobj', args={'method':'submit_salary_slip','docs':doc},callback);
}
});
}
cur_frm.cscript.make_bank_entry = function(doc,cdt,cdn){

View File

@ -83,7 +83,7 @@ erpnext.production_order = {
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 @@ $.extend(cur_frm.cscript, {
});
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() {

View File

@ -73,8 +73,7 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
} 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']);
}
}
@ -235,32 +234,27 @@ cur_frm.fields_dict['project_name'].get_query = function(doc, cdt, cdn) {
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.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){
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();
});
}
}
cur_frm.cscript.on_submit = function(doc, cdt, cdn) {

View File

@ -307,7 +307,7 @@ def stop_or_unstop_sales_orders(names, status):
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 = []
@ -615,4 +615,3 @@ def get_supplier(doctype, txt, searchfield, start, page_len, filters):
def update_status(status, name):
so = frappe.get_doc("Sales Order", name)
so.stop_sales_order(status)

View File

@ -44,17 +44,17 @@ frappe.listview_settings['Sales Order'] = {
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.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(__("Set as Unstopped"), function() {
listview.page.add_menu_item(__("Re-open"), 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"});
});
}
};

View File

@ -28,14 +28,6 @@ erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.exten
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 @@ erpnext.buying.MaterialRequestController = erpnext.buying.BuyingController.exten
}
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 @@ $.extend(cur_frm.cscript, new erpnext.buying.MaterialRequestController({frm: cur
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) {
$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) {
$c('runserverobj', args={'method':'update_status', 'arg': 'Submitted','docs': doc}, function(r,rt) {
cur_frm.refresh();
});
}
};

View File

@ -98,7 +98,6 @@ class MaterialRequest(BuyingController):
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')