From 08425d46fa114c0cb1787c9d558faa923c2f736d Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Wed, 29 May 2019 15:42:57 +0530 Subject: [PATCH] refactor: set Student as default portal role for Education --- erpnext/domains/education.py | 2 +- erpnext/education/doctype/student/student.py | 2 +- erpnext/education/setup.py | 22 +++++++++++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/erpnext/domains/education.py b/erpnext/domains/education.py index 55e4eed801..bbaa6e55d9 100644 --- a/erpnext/domains/education.py +++ b/erpnext/domains/education.py @@ -14,7 +14,7 @@ data = { 'Student Attendance Tool', 'Student Applicant' ], - 'default_portal_role': 'LMS User', + 'default_portal_role': 'Student', 'restricted_roles': [ 'Student', 'Instructor', diff --git a/erpnext/education/doctype/student/student.py b/erpnext/education/doctype/student/student.py index 529f78d4f5..da25880c81 100644 --- a/erpnext/education/doctype/student/student.py +++ b/erpnext/education/doctype/student/student.py @@ -54,7 +54,7 @@ class Student(Document): 'send_welcome_email': 1, 'user_type': 'Website User' }) - student_user.add_roles("Student", "LMS User") + student_user.add_roles("Student") student_user.save() update_password_link = student_user.reset_password() diff --git a/erpnext/education/setup.py b/erpnext/education/setup.py index ed1d69e80d..9d16ebeea8 100644 --- a/erpnext/education/setup.py +++ b/erpnext/education/setup.py @@ -9,7 +9,8 @@ from erpnext.setup.utils import insert_record def setup_education(): - if frappe.db.exists('Academic Year', '2015-16'): + disable_desk_access_for_student_role() + if frappe.db.exists("Academic Year", "2015-16"): # already setup return create_academic_sessions() @@ -26,3 +27,22 @@ def create_academic_sessions(): {"doctype": "Academic Term", "academic_year": "2017-18", "term_name": "Semester 2"} ] insert_record(data) + +def disable_desk_access_for_student_role(): + try: + student_role = frappe.get_doc("Role", "Student") + except frappe.DoesNotExistError: + create_student_role() + return + + student_role.desk_access = 0 + student_role.save() + +def create_student_role(): + student_role = frappe.get_doc({ + "doctype": "Role", + "role_name": "Student", + "desk_access": 0, + "restrict_to_domain": "Education" + }) + student.insert()