diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py index 6846b87bfc..687c6ce054 100644 --- a/erpnext/hr/doctype/employee/employee.py +++ b/erpnext/hr/doctype/employee/employee.py @@ -155,6 +155,8 @@ class Employee(Document): 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/customer_discount_to_pricing_rule.py b/erpnext/patches/4_0/customer_discount_to_pricing_rule.py index a92568e8d4..87aa79248e 100644 --- a/erpnext/patches/4_0/customer_discount_to_pricing_rule.py +++ b/erpnext/patches/4_0/customer_discount_to_pricing_rule.py @@ -23,10 +23,10 @@ def execute(): "item_group": item_group, "applicable_for": "Customer", "customer": d.parent, - "price_or_discount": "Discount", + "price_or_discount": "Discount Percentage", "discount_percentage": d.discount }).insert() frappe.db.auto_commit_on_many_writes = False - frappe.delete_doc("DocType", "Customer Discount") \ No newline at end of file + frappe.delete_doc("DocType", "Customer Discount") diff --git a/erpnext/patches/4_0/update_user_properties.py b/erpnext/patches/4_0/update_user_properties.py index dfec48bb96..1c746d378c 100644 --- a/erpnext/patches/4_0/update_user_properties.py +++ b/erpnext/patches/4_0/update_user_properties.py @@ -8,6 +8,7 @@ import frappe.defaults 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 @@ def add_employee_restrictions_to_leave_approver(): # 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 diff --git a/erpnext/support/doctype/support_email_settings/support_email_settings.py b/erpnext/support/doctype/support_email_settings/support_email_settings.py index 592c1a90a8..8763c6d269 100644 --- a/erpnext/support/doctype/support_email_settings/support_email_settings.py +++ b/erpnext/support/doctype/support_email_settings/support_email_settings.py @@ -17,7 +17,7 @@ class SupportEmailSettings(Document): Checks support ticket email settings """ if self.sync_support_mails and self.mail_server: - inc_email = frappe.get_doc('Incoming Email Settings') + inc_email = frappe._dict(self.as_dict()) # inc_email.encode() inc_email.host = self.mail_server inc_email.use_ssl = self.use_ssl