diff --git a/hr/doctype/expense_claim/expense_claim.js b/hr/doctype/expense_claim/expense_claim.js index 57944299fa..d8bee8bc22 100644 --- a/hr/doctype/expense_claim/expense_claim.js +++ b/hr/doctype/expense_claim/expense_claim.js @@ -46,6 +46,13 @@ cur_frm.cscript.refresh = function(doc,cdt,cdn){ if (doc.docstatus == 0) unhide_field('calculate_total_amount'); } +cur_frm.cscript.validate = function(doc) { + if(cint(doc.docstatus) == 0) { + doc.approval_status = "Draft"; + } + cur_frm.cscript.calculate_total(doc); +} + cur_frm.cscript.employee = function(doc,cdt,cdn){ if(doc.employee){ $c_obj(make_doclist(doc.doctype, doc.name),'set_approver','', function(r,rt){ diff --git a/hr/doctype/expense_claim/expense_claim.py b/hr/doctype/expense_claim/expense_claim.py index b8bd41e473..2371f3bbae 100644 --- a/hr/doctype/expense_claim/expense_claim.py +++ b/hr/doctype/expense_claim/expense_claim.py @@ -77,10 +77,13 @@ class DocType: set(self.doc, 'remark', self.doc.remark) def approve_voucher(self): + missing_count = 0 for d in getlist(self.doclist, 'expense_voucher_details'): if not d.sanctioned_amount: - msgprint("Please add 'Sanctioned Amount' for all expenses") - return cstr('Incomplete') + missing_count += 1 + if missing_count == len(getlist(self.doclist, 'expense_voucher_details')): + msgprint("Please add 'Sanctioned Amount' for atleast one expense") + return cstr('Incomplete') if not self.doc.total_sanctioned_amount: msgprint("Please calculate total sanctioned amount using button 'Calculate Total Amount'") @@ -112,7 +115,7 @@ class DocType: def validate(self): self.validate_fiscal_year() - + def on_update(self): set(self.doc, 'approval_status', 'Draft')