From af679d2ff71ab124b9a2601ba625facdd68d7058 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Jul 2013 17:48:00 +0530 Subject: [PATCH 1/2] [feature] Make bank voucher option in Expense Claim --- hr/doctype/expense_claim/expense_claim.js | 46 ++++++++++++++++++++--- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/hr/doctype/expense_claim/expense_claim.js b/hr/doctype/expense_claim/expense_claim.js index 406b57a1e7..ce3cbea621 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 . +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 @@ cur_frm.cscript.refresh = function(doc,cdt,cdn){ } 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); From ea51b4123958090fe948103aced770302bfee579 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 25 Jul 2013 18:01:13 +0530 Subject: [PATCH 2/2] [fix] [minor] allowed territory group in all transactions --- accounts/doctype/pos_setting/pos_setting.js | 11 ----------- accounts/doctype/sales_invoice/sales_invoice.js | 8 -------- .../doctype/installation_note/installation_note.js | 6 ------ selling/doctype/sales_order/sales_order.js | 6 ------ stock/doctype/delivery_note/delivery_note.js | 8 -------- support/doctype/customer_issue/customer_issue.js | 5 ----- .../maintenance_schedule/maintenance_schedule.js | 6 ------ .../doctype/maintenance_visit/maintenance_visit.js | 8 -------- 8 files changed, 58 deletions(-) diff --git a/accounts/doctype/pos_setting/pos_setting.js b/accounts/doctype/pos_setting/pos_setting.js index 2f8beabe05..62549bb2ce 100755 --- a/accounts/doctype/pos_setting/pos_setting.js +++ b/accounts/doctype/pos_setting/pos_setting.js @@ -60,17 +60,6 @@ cur_frm.fields_dict['cost_center'].get_query = function(doc,cdt,cdn) { } } -//get query select Territory -//================================================================= -cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { - return{ - filters:{ - 'is_group': "No" - } - } -} - - // ------------------ Get Print Heading ------------------------------------ cur_frm.fields_dict['select_print_heading'].get_query = function(doc, cdt, cdn) { return{ diff --git a/accounts/doctype/sales_invoice/sales_invoice.js b/accounts/doctype/sales_invoice/sales_invoice.js index 773956a67a..1ef73346b0 100644 --- a/accounts/doctype/sales_invoice/sales_invoice.js +++ b/accounts/doctype/sales_invoice/sales_invoice.js @@ -283,14 +283,6 @@ cur_frm.fields_dict['project_name'].get_query = function(doc, cdt, cdn) { } } -//Territory -//----------------------------- -cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { - return{ - filters: {'is_group': 'NO'} - } -} - // Income Account in Details Table // -------------------------------- cur_frm.set_query("income_account", "entries", function(doc) { diff --git a/selling/doctype/installation_note/installation_note.js b/selling/doctype/installation_note/installation_note.js index 3f02c834f3..dce0a31252 100644 --- a/selling/doctype/installation_note/installation_note.js +++ b/selling/doctype/installation_note/installation_note.js @@ -48,12 +48,6 @@ erpnext.selling.InstallationNote = wn.ui.form.Controller.extend({ } }); - this.frm.set_query("territory", function() { - return { - filters: {'is_group': "No" } - } - }); - this.frm.set_query("customer", function() { return { query: "controllers.queries.customer_query" diff --git a/selling/doctype/sales_order/sales_order.js b/selling/doctype/sales_order/sales_order.js index 7eeb22d23e..88442ea974 100644 --- a/selling/doctype/sales_order/sales_order.js +++ b/selling/doctype/sales_order/sales_order.js @@ -197,12 +197,6 @@ cur_frm.cscript['Unstop Sales Order'] = function() { } } -cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { - return{ - filters:{ 'is_group': "No"} - } -} - cur_frm.cscript.on_submit = function(doc, cdt, cdn) { if(cint(wn.boot.notification_settings.sales_order)) { cur_frm.email_doc(wn.boot.notification_settings.sales_order_message); diff --git a/stock/doctype/delivery_note/delivery_note.js b/stock/doctype/delivery_note/delivery_note.js index e93e6d3a78..3dac29db76 100644 --- a/stock/doctype/delivery_note/delivery_note.js +++ b/stock/doctype/delivery_note/delivery_note.js @@ -130,14 +130,6 @@ cur_frm.cscript['Make Packing Slip'] = function() { loaddoc('Packing Slip', n); } - -//get query select Territory -cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { - return{ - filters: { 'is_group': "No" } - } -} - var set_print_hide= function(doc, cdt, cdn){ var dn_fields = wn.meta.docfield_map['Delivery Note']; var dn_item_fields = wn.meta.docfield_map['Delivery Note Item']; diff --git a/support/doctype/customer_issue/customer_issue.js b/support/doctype/customer_issue/customer_issue.js index 226849363a..96662b95c7 100644 --- a/support/doctype/customer_issue/customer_issue.js +++ b/support/doctype/customer_issue/customer_issue.js @@ -117,11 +117,6 @@ cur_frm.fields_dict['item_code'].get_query = function(doc, cdt, cdn) { cur_frm.add_fetch('item_code', 'item_name', 'item_name'); cur_frm.add_fetch('item_code', 'description', 'description'); -cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { - return{ - filters:{ 'is_group': "No"} - } -} cur_frm.fields_dict.customer.get_query = function(doc,cdt,cdn) { return{ query:"controllers.queries.customer_query" } } diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.js b/support/doctype/maintenance_schedule/maintenance_schedule.js index fab9b2a625..d84726986a 100644 --- a/support/doctype/maintenance_schedule/maintenance_schedule.js +++ b/support/doctype/maintenance_schedule/maintenance_schedule.js @@ -123,11 +123,5 @@ cur_frm.cscript.generate_schedule = function(doc, cdt, cdn) { } } -cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { - return{ - filters:{ 'is_group': "No"} - } -} - cur_frm.fields_dict.customer.get_query = function(doc,cdt,cdn) { return{ query:"controllers.queries.customer_query" } } diff --git a/support/doctype/maintenance_visit/maintenance_visit.js b/support/doctype/maintenance_visit/maintenance_visit.js index 0b0d0109bd..f3faf3f292 100644 --- a/support/doctype/maintenance_visit/maintenance_visit.js +++ b/support/doctype/maintenance_visit/maintenance_visit.js @@ -118,14 +118,6 @@ cur_frm.cscript.item_code = function(doc, cdt, cdn) { } } -//get query select Territory -cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) { - return{ - filters:{ - 'is_group': "No" - } - } -} cur_frm.fields_dict.customer.get_query = function(doc,cdt,cdn) { return {query: "controllers.queries.customer_query" }