From 15343be38695c575a99bd1a2baa6f65c4d0e96b1 Mon Sep 17 00:00:00 2001 From: Valmik Jangla Date: Thu, 17 Mar 2016 11:45:36 +0530 Subject: [PATCH] Commonified functions for retrieving Leave Approvers --- .../employee_leave_approver.py | 11 ++++++++--- .../hr/doctype/leave_application/leave_application.py | 8 ++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py b/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py index d6a1a97136..061f606156 100755 --- a/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py +++ b/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py @@ -12,8 +12,13 @@ class EmployeeLeaveApprover(Document): pass def get_approvers(doctype, txt, searchfield, start, page_len, filters): - return frappe.db.sql("""select user.name, user.first_name, user.last_name from + return get_approver_list(filters.get("user")) + + +def get_approver_list(name): + return frappe.db.sql("""select user.name, user.first_name, user.last_name from tabUser user, tabUserRole user_role where + user_role.role = "Leave Approver" + and user_role.parent = user.name and user.name != %s - and user_role.role = "Leave Approver" - and user_role.parent = user.name""", filters.get("user")) \ No newline at end of file + """, name) \ No newline at end of file diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py index e40745385a..5bf7e9ddfa 100755 --- a/erpnext/hr/doctype/leave_application/leave_application.py +++ b/erpnext/hr/doctype/leave_application/leave_application.py @@ -9,6 +9,7 @@ from frappe.utils import cint, cstr, date_diff, flt, formatdate, getdate, get_li from erpnext.hr.utils import set_employee_name from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates from erpnext.hr.doctype.employee.employee import get_holiday_list_for_employee +from erpnext.hr.doctype.employee_leave_approver.employee_leave_approver import get_approver_list class LeaveDayBlockedError(frappe.ValidationError): pass @@ -256,12 +257,7 @@ def get_approvers(doctype, txt, searchfield, start, page_len, filters): and approver.leave_approver=user.name""", (filters.get("employee"), "%" + txt + "%")) if not approvers_list: - approvers_list = frappe.db.sql("""select user.name, user.first_name, user.last_name from - tabUser user, tabUserRole user_role where - user_role.role = "Leave Approver" - and user_role.parent = user.name - and user.name != %s - """, employee_user) + approvers_list = get_approver_list(employee_user) return approvers_list @frappe.whitelist()