diff --git a/accounts/doctype/pos_setting/pos_setting.py b/accounts/doctype/pos_setting/pos_setting.py index 0e68e2aced9..a024f6eb46b 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