Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/hr/doctype/expense_claim/expense_claim.js b/hr/doctype/expense_claim/expense_claim.js
index 406b57a..ce3cbea 100644
--- a/hr/doctype/expense_claim/expense_claim.js
+++ b/hr/doctype/expense_claim/expense_claim.js
@@ -14,10 +14,46 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
+wn.provide("erpnext.hr");
+
+erpnext.hr.ExpenseClaimController = wn.ui.form.Controller.extend({
+ make_bank_voucher: function() {
+ var me = this;
+ wn.call({
+ method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
+ args: {
+ "company": cur_frm.doc.company,
+ "voucher_type": "Bank Voucher"
+ },
+ callback: function(r) {
+ var jv = wn.model.make_new_doc_and_get_name('Journal Voucher');
+ jv = locals['Journal Voucher'][jv];
+ jv.voucher_type = 'Bank Voucher';
+ jv.company = cur_frm.doc.company;
+ jv.remark = 'Payment against Expense Claim: ' + cur_frm.doc.name;
+ jv.fiscal_year = cur_frm.doc.fiscal_year;
+
+ var d1 = wn.model.add_child(jv, 'Journal Voucher Detail', 'entries');
+ d1.debit = cur_frm.doc.total_sanctioned_amount;
+
+ // credit to bank
+ var d1 = wn.model.add_child(jv, 'Journal Voucher Detail', 'entries');
+ d1.account = r.message[0].account;
+ d1.credit = cur_frm.doc.total_sanctioned_amount;
+ d1.balance = r.message[0].balance;
+
+ loaddoc('Journal Voucher', jv.name);
+ }
+ });
+ }
+})
+
+$.extend(cur_frm.cscript, new erpnext.hr.ExpenseClaimController({frm: cur_frm}));
+
cur_frm.add_fetch('employee', 'company', 'company');
cur_frm.add_fetch('employee','employee_name','employee_name');
-cur_frm.cscript.onload = function(doc,cdt,cdn){
+cur_frm.cscript.onload = function(doc,cdt,cdn) {
if(!doc.approval_status)
cur_frm.set_value("approval_status", "Draft")
@@ -71,15 +107,15 @@
} else {
if(doc.approval_status=="Approved") {
cur_frm.set_intro("Expense Claim has been approved.");
+ if(doc.docstatus==0) cur_frm.savesubmit();
+ if(doc.docstatus==1) cur_frm.add_custom_button("Make Bank Voucher",
+ cur_frm.cscript.make_bank_voucher);
} else if(doc.approval_status=="Rejected") {
cur_frm.set_intro("Expense Claim has been rejected.");
}
}
}
-
- if(doc.approval_status=="Approved" && doc.docstatus==0) {
- cur_frm.savesubmit()
- }}
+}
cur_frm.cscript.validate = function(doc) {
cur_frm.cscript.calculate_total(doc);