Show only users with Expense Approver role in Expense Claim Approver field
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js
index d279074..b556172 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.js
@@ -63,7 +63,7 @@
cur_frm.set_query("exp_approver", function() {
return {
- filters: [["UserRole", "role", "=", "Expense Approver"]]
+ query: "erpnext.hr.doctype.expense_claim.expense_claim.get_expense_approver"
};
});
}
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py
index 6687399..112a626 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.py
@@ -58,4 +58,13 @@
def validate_sanctioned_amount(self):
for d in self.get('expenses'):
if flt(d.sanctioned_amount) > flt(d.claim_amount):
- frappe.throw(_("Sanctioned Amount cannot be greater than Claim Amount in Row {0}.").format(d.idx))
\ No newline at end of file
+ frappe.throw(_("Sanctioned Amount cannot be greater than Claim Amount in Row {0}.").format(d.idx))
+
+
+@frappe.whitelist()
+def get_expense_approver(doctype, txt, searchfield, start, page_len, filters):
+ return frappe.db.sql("""
+ select u.name, concat(u.first_name, ' ', u.last_name)
+ from tabUser u, tabUserRole r
+ where u.name = r.parent and r.role = 'Expense Approver' and u.name like %s
+ """, ("%" + txt + "%"))
\ No newline at end of file