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