From 312498060f61f4bc264627314911f24f8b8ed3fa Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Mon, 20 Feb 2017 15:11:56 +0530 Subject: [PATCH] changed doctype name userrole to has role --- .../employee_leave_approver/employee_leave_approver.py | 2 +- erpnext/hr/doctype/expense_claim/expense_claim.py | 2 +- erpnext/hr/doctype/leave_application/leave_application.py | 2 +- .../hr/doctype/leave_application/test_leave_application.py | 2 +- erpnext/hr/doctype/salary_slip/test_salary_slip.py | 2 +- erpnext/hr/doctype/salary_structure/test_salary_structure.py | 2 +- erpnext/patches/v4_0/remove_employee_role_if_no_employee.py | 2 +- erpnext/patches/v5_0/newsletter.py | 4 ++-- erpnext/patches/v6_20x/remove_customer_supplier_roles.py | 4 ++-- .../doctype/authorization_control/authorization_control.py | 2 +- erpnext/setup/setup_wizard/domainify.py | 2 +- erpnext/stock/reorder_item.py | 2 +- erpnext/utilities/transaction_base.py | 3 --- 13 files changed, 14 insertions(+), 17 deletions(-) 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 fb58d75dbfc..04e26924aff 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_approvers(doctype, txt, searchfield, start, page_len, filters): 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 957753a46d4..01dc341fd59 100644 --- a/erpnext/hr/doctype/expense_claim/expense_claim.py +++ b/erpnext/hr/doctype/expense_claim/expense_claim.py @@ -194,7 +194,7 @@ def update_reimbursed_amount(doc): 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 c53c2309f44..2a282e1bd81 100755 --- a/erpnext/hr/doctype/leave_application/leave_application.py +++ b/erpnext/hr/doctype/leave_application/leave_application.py @@ -215,7 +215,7 @@ class LeaveApplication(Document): 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 f7a996b50b7..0ec3efb7deb 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 @@ class TestLeaveApplication(unittest.TestCase): 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 f2d1ec93670..f136cb532a0 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 @@ class TestSalarySlip(unittest.TestCase): "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 266165b07e1..3abdaf3e640 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 @@ def make_employee(user): "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 29a6e6180da..8766ace54f3 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 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 b5e4de054d4..fcf95ca4c61 100644 --- a/erpnext/patches/v5_0/newsletter.py +++ b/erpnext/patches/v5_0/newsletter.py @@ -19,11 +19,11 @@ def execute(): 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 eb69845c844..a6515768876 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 @@ def execute(): 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 f1c198c2fa4..7d5e80b8f23 100644 --- a/erpnext/setup/doctype/authorization_control/authorization_control.py +++ b/erpnext/setup/doctype/authorization_control/authorization_control.py @@ -213,7 +213,7 @@ class AuthorizationControl(TransactionBase): 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 14e2f3354ad..59636758ca1 100644 --- a/erpnext/setup/setup_wizard/domainify.py +++ b/erpnext/setup/setup_wizard/domainify.py @@ -96,7 +96,7 @@ def setup_properties(data): 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 51313817588..01a6a6d547a 100644 --- a/erpnext/stock/reorder_item.py +++ b/erpnext/stock/reorder_item.py @@ -164,7 +164,7 @@ def send_email_notification(mr_list): """ 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 3cc79ef713a..2d6cbc06f41 100644 --- a/erpnext/utilities/transaction_base.py +++ b/erpnext/utilities/transaction_base.py @@ -35,9 +35,6 @@ class TransactionBase(StatusUpdater): 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)