From 907b60d453a149e3a98f6eb02862f08fe5e8d48c Mon Sep 17 00:00:00 2001 From: nabinhait Date: Thu, 9 Jun 2011 16:57:21 +0530 Subject: [PATCH 1/2] fixed make next document visibility issue --- crm/doctype/sales_order/sales_order.js | 29 +++++++------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/crm/doctype/sales_order/sales_order.js b/crm/doctype/sales_order/sales_order.js index 48da9ca649..587933ca94 100644 --- a/crm/doctype/sales_order/sales_order.js +++ b/crm/doctype/sales_order/sales_order.js @@ -20,9 +20,7 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) { if(doc.__islocal){ hide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group','shipping_address']); - } - - + } } cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) { @@ -33,33 +31,20 @@ cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) { } } -// REFRESH -// ================================================================================================ -cur_frm.cscript.get_open_status = function(doc) { - var open_delivery = 0; var open_invoicing=0; - var ch = getchildren('Sales Order Detail',doc.name,'sales_order_details'); - for(var i in ch){ - if(ch[i].qty > ch[i].delivered_qty) open_delivery = 1; - if(ch[i].qty > ch[i].billed_qty) open_invoicing = 1; - if(ch[i].amount > ch[i].billed_amt) open_invoicing = 1; - } - return [open_delivery, open_invoicing]; -} - - +// Refresh +//================== cur_frm.cscript.refresh = function(doc, cdt, cdn) { cur_frm.clear_custom_buttons(); - var open_status = cur_frm.cscript.get_open_status(doc); if(doc.docstatus==1) { if(doc.status != 'Stopped') { cur_frm.add_custom_button('Send SMS', cur_frm.cscript['Send SMS']); // delivery note - if(open_status[0] && doc.order_type!='Maintenance') + if(doc.per_delivered < 100 && doc.order_type!='Maintenance') cur_frm.add_custom_button('Make Delivery', cur_frm.cscript['Make Delivery Note']); // maintenance - if(open_status[0] && doc.order_type=='Maintenance') { + if(doc.per_delivered < 100 && doc.order_type=='Maintenance') { cur_frm.add_custom_button('Make Maint. Visit', cur_frm.cscript['Make Maintenance Visit']); cur_frm.add_custom_button('Make Maint. Schedule', cur_frm.cscript['Make Maintenance Schedule']); } @@ -69,11 +54,11 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) { cur_frm.add_custom_button('Make Indent', cur_frm.cscript['Make Indent']); // sales invoice - if(open_status[1]) + if(doc.per_billed < 100) cur_frm.add_custom_button('Make Invoice', cur_frm.cscript['Make Sales Invoice']); // stop - if(open_status[0] || open_status[1]) + if(doc.per_delivered < 100 || doc.per_billed < 100) cur_frm.add_custom_button('Stop!', cur_frm.cscript['Stop Sales Order']); } else { From c47ef60b8d2239e1eb3f9962e2aeab3054f2bf6e Mon Sep 17 00:00:00 2001 From: nabinhait Date: Thu, 9 Jun 2011 17:08:22 +0530 Subject: [PATCH 2/2] fixed make invoice visibility issue --- .../doctype/delivery_note/delivery_note.js | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/material_management/doctype/delivery_note/delivery_note.js b/material_management/doctype/delivery_note/delivery_note.js index 2f61de9cfb..823eca499f 100644 --- a/material_management/doctype/delivery_note/delivery_note.js +++ b/material_management/doctype/delivery_note/delivery_note.js @@ -35,20 +35,10 @@ cur_frm.cscript.onload_post_render = function(doc, dt, dn) { cur_frm.cscript.refresh = function(doc, cdt, cdn) { cur_frm.clear_custom_buttons(); - - var ch = getchildren('Delivery Note Detail',doc.name,'delivery_note_details'); - var is_billed = 1; // assume all qty's are billed - var is_installed = 1; //assume all qty's are installed - - for(var i in ch){ - if(ch[i].billed_qty < ch[i].qty) is_billed = 0; - if(ch[i].installed_qty < ch[i].qty) is_installed = 0; - if(ch[i].billed_amt < ch[i].amount) is_billed = 0; - } - - if(is_billed==0 && doc.docstatus==1) cur_frm.add_custom_button('Make Invoice', cur_frm.cscript['Make Sales Invoice']); + + if(doc.per_billed < 100 && doc.docstatus==1) cur_frm.add_custom_button('Make Invoice', cur_frm.cscript['Make Sales Invoice']); - if(is_installed==0 && doc.docstatus==1) cur_frm.add_custom_button('Make Installation Note', cur_frm.cscript['Make Installation Note']); + if(doc.per_installed < 100 && doc.docstatus==1) cur_frm.add_custom_button('Make Installation Note', cur_frm.cscript['Make Installation Note']); if (doc.docstatus!=1) { hide_field(['SMS', 'Send SMS', 'message', 'customer_mobile_no', 'Repair Delivery Note']);