fix: course permission messages

This commit is contained in:
Jannat Patel
2022-11-03 10:59:39 +05:30
parent 59b8c781e3
commit 1f4c7fcb0f
4 changed files with 21 additions and 9 deletions

View File

@@ -205,7 +205,8 @@ jinja = {
"lms.lms.utils.get_lesson_count",
"lms.lms.utils.get_all_memberships",
"lms.lms.utils.get_filtered_membership",
"lms.lms.utils.show_start_learing_cta"
"lms.lms.utils.show_start_learing_cta",
"lms.lms.utils.can_create_courses"
],
"filters": []
}

View File

@@ -466,6 +466,14 @@ def has_course_instructor_role(member=None):
}, "name")
def can_create_courses(member=None):
if not member:
member = frappe.session.user
portal_course_creation = frappe.db.get_single_value("LMS Settings", "portal_course_creation")
return frappe.session.user != "Guest" and (portal_course_creation == "Anyone" or has_course_instructor_role(member))
def has_course_moderator_role(member=None):
return frappe.db.get_value("Has Role", {
"parent": member or frappe.session.user,

View File

@@ -1,6 +1,6 @@
import frappe
from lms.lms.utils import get_membership, has_course_moderator_role, is_instructor, is_certified, get_evaluation_details, redirect_to_courses_list
from lms.lms.utils import can_create_courses, get_membership, has_course_moderator_role, is_instructor, is_certified, get_evaluation_details, redirect_to_courses_list
from frappe import _
def get_context(context):
context.no_cache = 1
@@ -11,8 +11,13 @@ def get_context(context):
redirect_to_courses_list()
if course_name == "new-course":
if frappe.session.user == "Guest":
redirect_to_courses_list()
if not can_create_courses():
message = "You do not have permission to access this page."
if frappe.session.user == "Guest":
message = "Please login to access this page."
raise frappe.PermissionError(_(message))
context.course = frappe._dict()
context.course.edit_mode = True
context.membership = None

View File

@@ -1,15 +1,13 @@
import frappe
from frappe import _
from lms.lms.utils import has_course_instructor_role, has_course_moderator_role, check_profile_restriction, get_restriction_details
from lms.lms.utils import can_create_courses, has_course_moderator_role, check_profile_restriction, get_restriction_details
def get_context(context):
context.no_cache = 1
context.live_courses, context.upcoming_courses = get_courses()
context.restriction = check_profile_restriction()
portal_course_creation = frappe.db.get_single_value("LMS Settings", "portal_course_creation")
context.show_creators_section = frappe.session.user != "Guest" and \
(portal_course_creation == "Anyone" or has_course_instructor_role())
context.show_creators_section = can_create_courses()
context.show_review_section = has_course_moderator_role() and frappe.session.user != "Guest"
if context.restriction: