expense account optional mandatory in pos setting
diff --git a/accounts/doctype/pos_setting/pos_setting.py b/accounts/doctype/pos_setting/pos_setting.py
index 0e68e2a..a024f6e 100755
--- a/accounts/doctype/pos_setting/pos_setting.py
+++ b/accounts/doctype/pos_setting/pos_setting.py
@@ -16,30 +16,37 @@
from __future__ import unicode_literals
import webnotes
-
-from webnotes.model import db_exists
-from webnotes.model.bean import copy_doclist
-from webnotes import msgprint
-
-sql = webnotes.conn.sql
-
-
+from webnotes import msgprint, _
+from webnotes.utils import cint
class DocType:
def __init__(self,doc,doclist=[]):
self.doc, self.doclist = doc,doclist
- #--------------------get naming series from sales invoice-----------------
def get_series(self):
import webnotes.model.doctype
docfield = webnotes.model.doctype.get('Sales Invoice')
- series = [d.options for d in docfield if d.doctype == 'DocField' and d.fieldname == 'naming_series']
+ series = [d.options for d in docfield
+ if d.doctype == 'DocField' and d.fieldname == 'naming_series']
return series and series[0] or ''
def validate(self):
- res = sql("select name, user from `tabPOS Setting` where ifnull(user, '') = '%s' and name != '%s' and company = '%s'" % (self.doc.user, self.doc.name, self.doc.company))
+ self.check_for_duplicate()
+ self.validate_expense_account()
+
+ def check_for_duplicate(self):
+ res = webnotes.conn.sql("""select name, user from `tabPOS Setting`
+ where ifnull(user, '') = %s and name != %s and company = %s""",
+ (self.doc.user, self.doc.name, self.doc.company))
if res:
if res[0][1]:
- msgprint("POS Setting '%s' already created for user: '%s' and company: '%s'"%(res[0][0], res[0][1], self.doc.company), raise_exception=1)
+ msgprint("POS Setting '%s' already created for user: '%s' and company: '%s'" %
+ (res[0][0], res[0][1], self.doc.company), raise_exception=1)
else:
- msgprint("Global POS Setting already created - %s for this company: '%s'" % (res[0][0], self.doc.company), raise_exception=1)
+ msgprint("Global POS Setting already created - %s for this company: '%s'" %
+ (res[0][0], self.doc.company), raise_exception=1)
+
+ def validate_expense_account(self):
+ if cint(webnotes.defaults.get_global_default("auto_inventory_accounting")) \
+ and not self.doc.expense_account:
+ msgprint(_("Expense Account is mandatory"), raise_exception=1)
\ No newline at end of file