fix: course permission messages
This commit is contained in:
@@ -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": []
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user