From 608d38a172ef20f2b44c6a2b0d5032406d1f5947 Mon Sep 17 00:00:00 2001 From: Anjali Patel Date: Wed, 13 Aug 2025 09:33:54 +0000 Subject: [PATCH 1/2] fix: prevent self in "Reports To" dropdown (UI-level check) Ensures employee cannot select themselves in the "Reports To" field via UI. This complements server-side validation by improving UX. --- erpnext/setup/doctype/employee/employee.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/erpnext/setup/doctype/employee/employee.js b/erpnext/setup/doctype/employee/employee.js index f6b4a12a760..fdff186d0f6 100755 --- a/erpnext/setup/doctype/employee/employee.js +++ b/erpnext/setup/doctype/employee/employee.js @@ -11,7 +11,13 @@ erpnext.setup.EmployeeController = class EmployeeController extends frappe.ui.fo }; }; this.frm.fields_dict.reports_to.get_query = function (doc, cdt, cdn) { - return { query: "erpnext.controllers.queries.employee_query" }; + // return { query: "erpnext.controllers.queries.employee_query" }; + return { + filters: [ + ["status", "=", "Active"], // only active employees + ["name", "!=", doc.name] // exclude self + ] + }; }; } From cbfb14a6547258a21ea2c73c043b7069eec79a18 Mon Sep 17 00:00:00 2001 From: Anjali Patel Date: Wed, 13 Aug 2025 13:37:48 +0000 Subject: [PATCH 2/2] fix: add missing query key in 'Reports To' field filter --- erpnext/setup/doctype/employee/employee.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/erpnext/setup/doctype/employee/employee.js b/erpnext/setup/doctype/employee/employee.js index fdff186d0f6..6325d204d63 100755 --- a/erpnext/setup/doctype/employee/employee.js +++ b/erpnext/setup/doctype/employee/employee.js @@ -11,12 +11,12 @@ erpnext.setup.EmployeeController = class EmployeeController extends frappe.ui.fo }; }; this.frm.fields_dict.reports_to.get_query = function (doc, cdt, cdn) { - // return { query: "erpnext.controllers.queries.employee_query" }; return { + query: "erpnext.controllers.queries.employee_query", filters: [ - ["status", "=", "Active"], // only active employees - ["name", "!=", doc.name] // exclude self - ] + ["status", "=", "Active"], + ["name", "!=", doc.name], + ], }; }; }