Fixes in patches for migration

This commit is contained in:
Anand Doshi
2014-05-30 20:37:46 +05:30
parent c280d0655c
commit 38dedf402b
3 changed files with 13 additions and 10 deletions

View File

@@ -6,7 +6,7 @@ import frappe
from frappe.utils import getdate, validate_email_add, cint from frappe.utils import getdate, validate_email_add, cint
from frappe.model.naming import make_autoname from frappe.model.naming import make_autoname
from frappe import throw, _ from frappe import throw, _, msgprint
import frappe.permissions import frappe.permissions
from frappe.model.document import Document from frappe.model.document import Document
from frappe.model.mapper import get_mapped_doc from frappe.model.mapper import get_mapped_doc
@@ -144,12 +144,12 @@ class Employee(Document):
throw(_("User {0} is already assigned to Employee {1}").format(self.user_id, employee[0])) throw(_("User {0} is already assigned to Employee {1}").format(self.user_id, employee[0]))
def validate_employee_leave_approver(self): def validate_employee_leave_approver(self):
from frappe.utils.user import User
from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
for l in self.get("employee_leave_approvers"): for l in self.get("employee_leave_approvers")[:]:
if "Leave Approver" not in User(l.leave_approver).get_roles(): if "Leave Approver" not in frappe.get_roles(l.leave_approver):
throw(_("{0} is not a valid Leave Approver").format(l.leave_approver), InvalidLeaveApproverError) self.get("employee_leave_approvers").remove(l)
msgprint(_("{0} is not a valid Leave Approver. Removing row #{1}.").format(l.leave_approver, l.idx))
def update_dob_event(self): def update_dob_event(self):
if self.status == "Active" and self.date_of_birth \ if self.status == "Active" and self.date_of_birth \

View File

@@ -25,7 +25,7 @@ def update_hr_permissions():
frappe.clear_cache() frappe.clear_cache()
# save employees to run on_update events # save employees to run on_update events
for employee in frappe.db.sql_list("""select name from `tabEmployee`"""): for employee in frappe.db.sql_list("""select name from `tabEmployee` where docstatus < 2"""):
try: try:
frappe.get_doc("Employee", employee).save() frappe.get_doc("Employee", employee).save()
except EmployeeUserDisabledError: except EmployeeUserDisabledError:

View File

@@ -9,7 +9,10 @@ def execute():
for user in frappe.db.sql_list("select distinct parent from `tabUserRole` where role='Employee'"): for user in frappe.db.sql_list("select distinct parent from `tabUserRole` where role='Employee'"):
# if employee record does not exists, remove employee role! # if employee record does not exists, remove employee role!
if not frappe.db.get_value("Employee", {"user_id": user}): if not frappe.db.get_value("Employee", {"user_id": user}):
user = frappe.get_doc("User", user) try:
for role in user.get("user_roles", {"role": "Employee"}): user = frappe.get_doc("User", user)
user.get("user_roles").remove(role) for role in user.get("user_roles", {"role": "Employee"}):
user.save() user.get("user_roles").remove(role)
user.save()
except frappe.DoesNotExistError:
pass