changed doctype name userrole to has role
diff --git a/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py b/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py
index fb58d75..04e2692 100755
--- a/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py
+++ b/erpnext/hr/doctype/employee_leave_approver/employee_leave_approver.py
@@ -17,7 +17,7 @@
def get_approver_list(name):
return frappe.db.sql("""select user.name, user.first_name, user.last_name from
- tabUser user, tabUserRole user_role where
+ tabUser user, `tabHas Role` user_role where
user_role.role = "Leave Approver"
and user_role.parent = user.name and
user.name != %s
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py
index 957753a..01dc341 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.py
@@ -194,7 +194,7 @@
def get_expense_approver(doctype, txt, searchfield, start, page_len, filters):
return frappe.db.sql("""
select u.name, concat(u.first_name, ' ', u.last_name)
- from tabUser u, tabUserRole r
+ from tabUser u, `tabHas Role` r
where u.name = r.parent and r.role = 'Expense Approver'
and u.enabled = 1 and u.name like %s
""", ("%" + txt + "%"))
diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
index c53c230..2a282e1 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.py
+++ b/erpnext/hr/doctype/leave_application/leave_application.py
@@ -215,7 +215,7 @@
frappe.throw(_("Leave approver must be one of {0}")
.format(comma_or(leave_approvers)), InvalidLeaveApproverError)
- elif self.leave_approver and not frappe.db.sql("""select name from `tabUserRole`
+ elif self.leave_approver and not frappe.db.sql("""select name from `tabHas Role`
where parent=%s and role='Leave Approver'""", self.leave_approver):
frappe.throw(_("{0} ({1}) must have role 'Leave Approver'")\
.format(get_fullname(self.leave_approver), self.leave_approver), InvalidLeaveApproverError)
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py
index f7a996b..0ec3efb 100644
--- a/erpnext/hr/doctype/leave_application/test_leave_application.py
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.py
@@ -53,7 +53,7 @@
frappe.db.sql("""delete from `tabEmployee Leave Approver`""")
def _clear_roles(self):
- frappe.db.sql("""delete from `tabUserRole` where parent in
+ frappe.db.sql("""delete from `tabHas Role` where parent in
("test@example.com", "test1@example.com", "test2@example.com")""")
def _clear_applications(self):
diff --git a/erpnext/hr/doctype/salary_slip/test_salary_slip.py b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
index f2d1ec9..f136cb5 100644
--- a/erpnext/hr/doctype/salary_slip/test_salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
@@ -176,7 +176,7 @@
"email": user,
"first_name": user,
"new_password": "password",
- "roles": [{"doctype": "UserRole", "role": "Employee"}]
+ "roles": [{"doctype": "Has Role", "role": "Employee"}]
}).insert()
if not frappe.db.get_value("Employee", {"user_id": user}):
diff --git a/erpnext/hr/doctype/salary_structure/test_salary_structure.py b/erpnext/hr/doctype/salary_structure/test_salary_structure.py
index 266165b..3abdaf3 100644
--- a/erpnext/hr/doctype/salary_structure/test_salary_structure.py
+++ b/erpnext/hr/doctype/salary_structure/test_salary_structure.py
@@ -52,7 +52,7 @@
"email": user,
"first_name": user,
"new_password": "password",
- "roles": [{"doctype": "UserRole", "role": "Employee"}]
+ "roles": [{"doctype": "Has Role", "role": "Employee"}]
}).insert()
diff --git a/erpnext/patches/v4_0/remove_employee_role_if_no_employee.py b/erpnext/patches/v4_0/remove_employee_role_if_no_employee.py
index 29a6e61..8766ace 100644
--- a/erpnext/patches/v4_0/remove_employee_role_if_no_employee.py
+++ b/erpnext/patches/v4_0/remove_employee_role_if_no_employee.py
@@ -6,7 +6,7 @@
import frappe.permissions
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 `tabHas Role` where role='Employee'"):
# if employee record does not exists, remove employee role!
if not frappe.db.get_value("Employee", {"user_id": user}):
try:
diff --git a/erpnext/patches/v5_0/newsletter.py b/erpnext/patches/v5_0/newsletter.py
index b5e4de0..fcf95ca 100644
--- a/erpnext/patches/v5_0/newsletter.py
+++ b/erpnext/patches/v5_0/newsletter.py
@@ -19,11 +19,11 @@
if not frappe.db.exists("Role", "Newsletter Manager"):
frappe.get_doc({"doctype": "Role", "role": "Newsletter Manager"}).insert()
- for userrole in frappe.get_all("UserRole", "parent", {"role": "Sales Manager"}):
+ for userrole in frappe.get_all("Has Role", "parent", {"role": "Sales Manager", "parenttype": "User"}):
if frappe.db.exists("User", userrole.parent):
user = frappe.get_doc("User", userrole.parent)
user.append("roles", {
- "doctype": "UserRole",
+ "doctype": "Has Role",
"role": "Newsletter Manager"
})
user.flags.ignore_mandatory = True
diff --git a/erpnext/patches/v6_20x/remove_customer_supplier_roles.py b/erpnext/patches/v6_20x/remove_customer_supplier_roles.py
index eb69845..a651576 100644
--- a/erpnext/patches/v6_20x/remove_customer_supplier_roles.py
+++ b/erpnext/patches/v6_20x/remove_customer_supplier_roles.py
@@ -8,10 +8,10 @@
frappe.reload_doc("projects", "doctype", "timesheet")
for role in ('Customer', 'Supplier'):
- frappe.db.sql('''delete from `tabUserRole`
+ frappe.db.sql('''delete from `tabHas Role`
where role=%s and parent in ("Administrator", "Guest")''', role)
- if not frappe.db.sql('select name from `tabUserRole` where role=%s', role):
+ if not frappe.db.sql('select name from `tabHas Role` where role=%s', role):
# delete DocPerm
for doctype in frappe.db.sql('select parent from tabDocPerm where role=%s', role):
diff --git a/erpnext/setup/doctype/authorization_control/authorization_control.py b/erpnext/setup/doctype/authorization_control/authorization_control.py
index f1c198c..7d5e80b 100644
--- a/erpnext/setup/doctype/authorization_control/authorization_control.py
+++ b/erpnext/setup/doctype/authorization_control/authorization_control.py
@@ -213,7 +213,7 @@
app_specific_user.append(m['approving_user'])
elif m['approving_role']:
user_lst = [z[0] for z in frappe.db.sql("""select distinct t1.name
- from `tabUser` t1, `tabUserRole` t2 where t2.role=%s
+ from `tabUser` t1, `tabHas Role` t2 where t2.role=%s
and t2.parent=t1.name and t1.name !='Administrator'
and t1.name != 'Guest' and t1.docstatus !=2""", m['approving_role'])]
diff --git a/erpnext/setup/setup_wizard/domainify.py b/erpnext/setup/setup_wizard/domainify.py
index 14e2f33..5963675 100644
--- a/erpnext/setup/setup_wizard/domainify.py
+++ b/erpnext/setup/setup_wizard/domainify.py
@@ -96,7 +96,7 @@
def setup_roles(data):
'''Add, remove roles from `data.allow_roles` or `data.remove_roles`'''
def remove_role(role):
- frappe.db.sql('delete from tabUserRole where role=%s', role)
+ frappe.db.sql('delete from `tabHas Role` where role=%s', role)
frappe.set_value('Role', role, 'disabled', 1)
if data.remove_roles:
diff --git a/erpnext/stock/reorder_item.py b/erpnext/stock/reorder_item.py
index 5131381..01a6a6d 100644
--- a/erpnext/stock/reorder_item.py
+++ b/erpnext/stock/reorder_item.py
@@ -164,7 +164,7 @@
""" Notify user about auto creation of indent"""
email_list = frappe.db.sql_list("""select distinct r.parent
- from tabUserRole r, tabUser p
+ from `tabHas Role` r, tabUser p
where p.name = r.parent and p.enabled = 1 and p.docstatus < 2
and r.role in ('Purchase Manager','Stock Manager')
and p.name not in ('Administrator', 'All', 'Guest')""")
diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py
index 3cc79ef..2d6cbc0 100644
--- a/erpnext/utilities/transaction_base.py
+++ b/erpnext/utilities/transaction_base.py
@@ -35,9 +35,6 @@
frappe.db.sql("delete from `tabEvent` where name in (%s)"
.format(", ".join(['%s']*len(events))), tuple(events))
- frappe.db.sql("delete from `tabEvent Role` where parent in (%s)"
- .format(", ".join(['%s']*len(events))), tuple(events))
-
def _add_calendar_event(self, opts):
opts = frappe._dict(opts)