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.model.naming import make_autoname
from frappe import throw, _
from frappe import throw, _, msgprint
import frappe.permissions
from frappe.model.document import Document
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]))
def validate_employee_leave_approver(self):
from frappe.utils.user import User
from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
for l in self.get("employee_leave_approvers"):
if "Leave Approver" not in User(l.leave_approver).get_roles():
throw(_("{0} is not a valid Leave Approver").format(l.leave_approver), InvalidLeaveApproverError)
for l in self.get("employee_leave_approvers")[:]:
if "Leave Approver" not in frappe.get_roles(l.leave_approver):
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):
if self.status == "Active" and self.date_of_birth \

View File

@ -25,7 +25,7 @@ def update_hr_permissions():
frappe.clear_cache()
# 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:
frappe.get_doc("Employee", employee).save()
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'"):
# if employee record does not exists, remove employee role!
if not frappe.db.get_value("Employee", {"user_id": user}):
user = frappe.get_doc("User", user)
for role in user.get("user_roles", {"role": "Employee"}):
user.get("user_roles").remove(role)
user.save()
try:
user = frappe.get_doc("User", user)
for role in user.get("user_roles", {"role": "Employee"}):
user.get("user_roles").remove(role)
user.save()
except frappe.DoesNotExistError:
pass