From 046bcfa60632408d380c10e68a2b8fdac9da75c5 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Fri, 11 Apr 2025 13:14:52 +0200 Subject: [PATCH 1/2] fix(Employee): add/delete user permission --- erpnext/setup/doctype/employee/employee.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/erpnext/setup/doctype/employee/employee.py b/erpnext/setup/doctype/employee/employee.py index e6a5c104b07..faf606494e5 100755 --- a/erpnext/setup/doctype/employee/employee.py +++ b/erpnext/setup/doctype/employee/employee.py @@ -85,9 +85,7 @@ class Employee(NestedSet): self.reset_employee_emails_cache() def update_user_permissions(self): - if not has_permission("User Permission", ptype="write", print_logs=False) or ( - not self.has_value_changed("user_id") and not self.has_value_changed("create_user_permission") - ): + if not self.has_value_changed("user_id") and not self.has_value_changed("create_user_permission"): return employee_user_permission_exists = frappe.db.exists( From 08f21c790508806c5d5203a8b157973f562abdca Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Sun, 13 Apr 2025 15:29:38 +0200 Subject: [PATCH 2/2] fix: remove hook that does nothing --- erpnext/hooks.py | 5 +---- erpnext/setup/doctype/employee/employee.py | 9 --------- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 83418f2243b..171261f78b5 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -335,10 +335,7 @@ doc_events = { "User": { "after_insert": "frappe.contacts.doctype.contact.contact.update_contact", "validate": "erpnext.setup.doctype.employee.employee.validate_employee_role", - "on_update": [ - "erpnext.setup.doctype.employee.employee.update_user_permissions", - "erpnext.portal.utils.set_default_role", - ], + "on_update": "erpnext.portal.utils.set_default_role", }, "Communication": { "on_update": [ diff --git a/erpnext/setup/doctype/employee/employee.py b/erpnext/setup/doctype/employee/employee.py index faf606494e5..1c5e616d5b3 100755 --- a/erpnext/setup/doctype/employee/employee.py +++ b/erpnext/setup/doctype/employee/employee.py @@ -248,15 +248,6 @@ def validate_employee_role(doc, method=None, ignore_emp_check=False): doc.get("roles").remove(doc.get("roles", {"role": "Employee Self Service"})[0]) -def update_user_permissions(doc, method): - # called via User hook - if "Employee" in [d.role for d in doc.get("roles")]: - if not has_permission("User Permission", ptype="write", print_logs=False): - return - employee = frappe.get_doc("Employee", {"user_id": doc.name}) - employee.update_user_permissions() - - def get_employee_email(employee_doc): return ( employee_doc.get("user_id") or employee_doc.get("personal_email") or employee_doc.get("company_email")