mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-18 00:48:42 +00:00
Merge pull request #55834 from frappe/mergify/bp/version-16-hotfix/pr-55820
fix: show user disable audit log (backport #55820)
This commit is contained in:
@@ -150,15 +150,11 @@ class Employee(NestedSet):
|
||||
)
|
||||
|
||||
def validate_user_details(self):
|
||||
if self.user_id:
|
||||
data = frappe.db.get_value("User", self.user_id, ["enabled"], as_dict=1)
|
||||
if not self.user_id:
|
||||
return
|
||||
|
||||
if not data:
|
||||
self.user_id = None
|
||||
return
|
||||
|
||||
self.validate_for_enabled_user_id(data.get("enabled", 0))
|
||||
self.validate_duplicate_user_id()
|
||||
self.validate_for_enabled_user_id()
|
||||
self.validate_duplicate_user_id()
|
||||
|
||||
def validate_auto_user_creation(self):
|
||||
if self.create_user_automatically and not (
|
||||
@@ -179,6 +175,7 @@ class Employee(NestedSet):
|
||||
if self.user_id:
|
||||
self.update_user()
|
||||
self.update_user_permissions()
|
||||
self.update_user_status()
|
||||
self.reset_employee_emails_cache()
|
||||
|
||||
def before_insert(self):
|
||||
@@ -296,12 +293,20 @@ class Employee(NestedSet):
|
||||
if not self.relieving_date:
|
||||
throw(_("Please enter relieving date."))
|
||||
|
||||
def validate_for_enabled_user_id(self, enabled):
|
||||
if enabled is None:
|
||||
def validate_for_enabled_user_id(self):
|
||||
if not frappe.db.exists("User", self.user_id):
|
||||
frappe.throw(_("User {0} does not exist").format(self.user_id))
|
||||
|
||||
def update_user_status(self):
|
||||
if not self.user_id:
|
||||
return
|
||||
|
||||
user = frappe.get_doc("User", self.user_id)
|
||||
enabled = user.enabled
|
||||
if self.status != "Active" and enabled or self.status == "Active" and enabled == 0:
|
||||
frappe.db.set_value("User", self.user_id, "enabled", not enabled)
|
||||
user.enabled = not enabled
|
||||
# Keep linked User status in sync from the Employee lifecycle and record the audit log.
|
||||
user.save(ignore_permissions=True)
|
||||
|
||||
def validate_duplicate_user_id(self):
|
||||
Employee = frappe.qb.DocType("Employee")
|
||||
|
||||
Reference in New Issue
Block a user