feat: profile settings for roles

This commit is contained in:
Jannat Patel
2024-04-15 12:10:11 +05:30
parent 7e81b9d45d
commit f2c14d09d4
10 changed files with 147 additions and 22 deletions

View File

@@ -90,11 +90,11 @@ def create_moderator_role():
def create_evaluator_role():
if not frappe.db.exists("Role", "Class Evaluator"):
if not frappe.db.exists("Role", "Batch Evaluator"):
role = frappe.new_doc("Role")
role.update(
{
"role_name": "Class Evaluator",
"role_name": "Batch Evaluator",
"home_page": "",
"desk_access": 0,
}

View File

@@ -27,7 +27,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2023-07-13 11:30:22.641076",
"modified": "2024-04-15 11:21:52.182338",
"modified_by": "Administrator",
"module": "LMS",
"name": "Course Evaluator",
@@ -66,7 +66,7 @@
"print": 1,
"read": 1,
"report": 1,
"role": "Class Evaluator",
"role": "Batch Evaluator",
"share": 1,
"write": 1
}

View File

@@ -107,7 +107,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2023-12-18 20:03:27.040073",
"modified": "2024-04-15 11:22:43.189908",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Certificate Evaluation",
@@ -133,7 +133,7 @@
"print": 1,
"read": 1,
"report": 1,
"role": "Class Evaluator",
"role": "Batch Evaluator",
"share": 1,
"write": 1
}

View File

@@ -109,7 +109,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-01-09 10:05:13.918890",
"modified": "2024-04-15 11:23:03.933035",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Certificate Request",
@@ -128,18 +128,6 @@
"share": 1,
"write": 1
},
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Class Evaluator",
"share": 1,
"write": 1
},
{
"create": 1,
"delete": 1,
@@ -161,6 +149,18 @@
"report": 1,
"role": "LMS Student",
"share": 1
},
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Batch Evaluator",
"share": 1,
"write": 1
}
],
"sort_field": "modified",

View File

@@ -577,7 +577,15 @@ def has_course_moderator_role(member=None):
def has_course_evaluator_role(member=None):
return frappe.db.get_value(
"Has Role",
{"parent": member or frappe.session.user, "role": "Class Evaluator"},
{"parent": member or frappe.session.user, "role": "Batch Evaluator"},
"name",
)
def has_student_role(member=None):
return frappe.db.get_value(
"Has Role",
{"parent": member or frappe.session.user, "role": "LMS Student"},
"name",
)
@@ -1780,3 +1788,14 @@ def get_lesson_creation_details(course, chapter, lesson):
),
"lesson": lesson_details if lesson_name else None,
}
@frappe.whitelist()
def get_roles(name):
frappe.only_for("Moderator")
return {
"moderator": has_course_moderator_role(name),
"course_creator": has_course_instructor_role(name),
"class_evaluator": has_course_evaluator_role(name),
"lms_student": has_student_role(name),
}

View File

@@ -356,6 +356,7 @@ def get_users(or_filters, start, page_length):
@frappe.whitelist()
def save_role(user, role, value):
frappe.only_for("Moderator")
if cint(value):
doc = frappe.get_doc(
{