Merge pull request #3 from nabinhait/master

"Make next document" hide/unhide issue in SO/DN
diff --git a/crm/doctype/sales_order/sales_order.js b/crm/doctype/sales_order/sales_order.js
index 48da9ca..587933c 100644
--- a/crm/doctype/sales_order/sales_order.js
+++ b/crm/doctype/sales_order/sales_order.js
@@ -20,9 +20,7 @@
   
   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 @@
   } 
 }
 
-// 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.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 {
   	
diff --git a/material_management/doctype/delivery_note/delivery_note.js b/material_management/doctype/delivery_note/delivery_note.js
index 2f61de9..823eca4 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.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
+ 
+  if(doc.per_billed < 100 && doc.docstatus==1) cur_frm.add_custom_button('Make Invoice', cur_frm.cscript['Make Sales Invoice']);
   
-  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(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']);