fix update user properties patch
diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index 6846b87..687c6ce 100644
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -155,6 +155,8 @@
throw(_("Please enter relieving date."))
def validate_for_enabled_user_id(self):
+ if not self.status == 'Active':
+ return
enabled = frappe.db.sql("""select name from `tabUser` where
name=%s and enabled=1""", self.user_id)
if not enabled:
diff --git a/erpnext/patches/4_0/update_user_properties.py b/erpnext/patches/4_0/update_user_properties.py
index dfec48b..1c746d3 100644
--- a/erpnext/patches/4_0/update_user_properties.py
+++ b/erpnext/patches/4_0/update_user_properties.py
@@ -8,6 +8,7 @@
def execute():
frappe.reload_doc("core", "doctype", "docperm")
+ frappe.reload_doc("hr", "doctype", "employee")
update_user_properties()
update_user_match()
add_employee_restrictions_to_leave_approver()
@@ -82,13 +83,11 @@
# add Employee restrictions (in on_update method)
for employee in frappe.db.sql_list("""select name from `tabEmployee`
- where exists(select leave_approver from `tabEmployee Leave Approver`
+ where (exists(select leave_approver from `tabEmployee Leave Approver`
where `tabEmployee Leave Approver`.parent=`tabEmployee`.name)
- or ifnull(`reports_to`, '')!=''"""):
+ or ifnull(`reports_to`, '')!='') and docstatus<2 and status='Active'"""):
- emp = frappe.get_doc("Employee", employee)
- emp.ignore_links = True
- emp.save()
+ frappe.get_doc("Employee", employee).save()
def update_permissions():
# clear match conditions other than owner