feat: fetch leave approver from both employee and department approvers (#19613)

* fix: fetch leave approvers from both department and employee master

* fix: creaate a set of approvers
diff --git a/erpnext/hr/doctype/department_approver/department_approver.py b/erpnext/hr/doctype/department_approver/department_approver.py
index d6b66da..df0f75a 100644
--- a/erpnext/hr/doctype/department_approver/department_approver.py
+++ b/erpnext/hr/doctype/department_approver/department_approver.py
@@ -20,10 +20,6 @@
 	department_details = {}
 	department_list = []
 	employee = frappe.get_value("Employee", filters.get("employee"), ["department", "leave_approver"], as_dict=True)
-	if employee.leave_approver:
-		approver = frappe.db.get_value("User", employee.leave_approver, ['name', 'first_name', 'last_name'])
-		approvers.append(approver)
-		return approvers
 
 	employee_department = filters.get("department") or employee.department
 	if employee_department:
@@ -34,6 +30,9 @@
 			and disabled=0
 			order by lft desc""", (department_details.lft, department_details.rgt), as_list=True)
 
+	if filters.get("doctype") == "Leave Application" and employee.leave_approver:
+		approvers.append(frappe.db.get_value("User", employee.leave_approver, ['name', 'first_name', 'last_name']))
+
 	if filters.get("doctype") == "Leave Application":
 		parentfield = "leave_approvers"
 	else:
@@ -47,4 +46,4 @@
 				and approver.parentfield = %s
 				and approver.approver=user.name""",(d, "%" + txt + "%", parentfield), as_list=True)
 
-	return approvers
+	return set(tuple(approver) for approver in approvers)