From 3d72da568d63f09efe48aabecb9c168eb4a67113 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 27 Jul 2012 10:51:51 +0530 Subject: [PATCH 1/2] SO and DN mandatory only for stock item if made mandatory in global defaults --- .../accounts/doctype/sales_invoice/sales_invoice.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 2d0a9f270b..8c40f3d000 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -404,14 +404,13 @@ class DocType(TransactionBase): #check in manage account if sales order / delivery note required or not. def so_dn_required(self): - dict = {'Sales Order':'so_required','Delivery Note':'dn_required'} - for i in dict: - res = webnotes.conn.sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = '%s'"%dict[i]) - if res and res[0][0] == 'Yes': + dic = {'Sales Order':'so_required','Delivery Note':'dn_required'} + for i in dic: + if webnotes.conn.get_value('Global Defaults', 'Global Defaults', dic[i]) == 'Yes': for d in getlist(self.doclist,'entries'): - if not d.fields[i.lower().replace(' ','_')]: - msgprint("%s No. required against item %s"%(i,d.item_code)) - raise Exception + if webnotes.conn.get_value('Item', d.item_code, 'is_stock_item') == 'Yes' \ + and not d.fields[i.lower().replace(' ','_')]: + msgprint("%s is mandatory for stock item which is not mentioed against item: %s"%(i,d.item_code), raise_exception=1) #check for does customer belong to same project as entered.. #------------------------------------------------------------------------------------------------- From f5b3a44da1855425cc690cf79b8156284c13be11 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 27 Jul 2012 10:54:18 +0530 Subject: [PATCH 2/2] SO and DN mandatory only for stock item if made mandatory in global defaults --- erpnext/stock/doctype/delivery_note/delivery_note.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index ce83db041a..32315234be 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -141,8 +141,7 @@ class DocType(TransactionBase): def so_required(self): """check in manage account if sales order required or not""" - res = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'so_required'") - if res and res[0][0] == 'Yes': + if webnotes.conn.get_value('Global Defaults', 'Global Defaults', 'so_required') == 'Yes': for d in getlist(self.doclist,'delivery_note_details'): if not d.prevdoc_docname: msgprint("Sales Order No. required against item %s"%d.item_code)