mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-26 01:58:31 +00:00
fix(Employee): remove User Permissions if create_user_permission is unchecked
This commit is contained in:
committed by
barredterra
parent
4163b18ec3
commit
7ab81b7e54
@@ -5,6 +5,7 @@ from frappe import _, scrub, throw
|
|||||||
from frappe.model.naming import set_name_by_naming_series
|
from frappe.model.naming import set_name_by_naming_series
|
||||||
from frappe.permissions import (
|
from frappe.permissions import (
|
||||||
add_user_permission,
|
add_user_permission,
|
||||||
|
delete_user_permission,
|
||||||
get_doc_permissions,
|
get_doc_permissions,
|
||||||
has_permission,
|
has_permission,
|
||||||
remove_user_permission,
|
remove_user_permission,
|
||||||
@@ -85,20 +86,19 @@ class Employee(NestedSet):
|
|||||||
self.reset_employee_emails_cache()
|
self.reset_employee_emails_cache()
|
||||||
|
|
||||||
def update_user_permissions(self):
|
def update_user_permissions(self):
|
||||||
if not self.create_user_permission:
|
if not has_permission("User Permission", ptype="write", print_logs=False):
|
||||||
return
|
|
||||||
if not has_permission("User Permission", ptype="write", raise_exception=False):
|
|
||||||
return
|
return
|
||||||
|
|
||||||
employee_user_permission_exists = frappe.db.exists(
|
employee_user_permission_exists = frappe.db.exists(
|
||||||
"User Permission", {"allow": "Employee", "for_value": self.name, "user": self.user_id}
|
"User Permission", {"allow": "Employee", "for_value": self.name, "user": self.user_id}
|
||||||
)
|
)
|
||||||
|
|
||||||
if employee_user_permission_exists:
|
if employee_user_permission_exists and not self.create_user_permission:
|
||||||
return
|
delete_user_permission("Employee", self.name, self.user_id)
|
||||||
|
delete_user_permission("Company", self.company, self.user_id)
|
||||||
add_user_permission("Employee", self.name, self.user_id)
|
elif not employee_user_permission_exists and self.create_user_permission:
|
||||||
add_user_permission("Company", self.company, self.user_id)
|
add_user_permission("Employee", self.name, self.user_id)
|
||||||
|
add_user_permission("Company", self.company, self.user_id)
|
||||||
|
|
||||||
def update_user(self):
|
def update_user(self):
|
||||||
# add employee role if missing
|
# add employee role if missing
|
||||||
|
|||||||
Reference in New Issue
Block a user