chore: resolved conflicts
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
import frappe
|
||||
from frappe import _
|
||||
from lms.lms.utils import can_create_courses
|
||||
from lms.lms.utils import has_course_moderator_role, has_course_instructor_role
|
||||
|
||||
|
||||
def get_context(context):
|
||||
context.no_cache = 1
|
||||
|
||||
if not can_create_courses():
|
||||
if not has_course_moderator_role() or not has_course_instructor_role():
|
||||
message = "You do not have permission to access this page."
|
||||
if frappe.session.user == "Guest":
|
||||
message = "Please login to access this page."
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import frappe
|
||||
from frappe.utils import cstr
|
||||
from frappe import _
|
||||
from lms.lms.utils import can_create_courses
|
||||
from lms.lms.utils import has_course_instructor_role, has_course_moderator_role
|
||||
|
||||
|
||||
def get_context(context):
|
||||
context.no_cache = 1
|
||||
|
||||
if not can_create_courses():
|
||||
if not has_course_moderator_role() or not has_course_instructor_role():
|
||||
message = "You do not have permission to access this page."
|
||||
if frappe.session.user == "Guest":
|
||||
message = "Please login to access this page."
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import frappe
|
||||
from lms.lms.utils import can_create_courses, has_course_moderator_role
|
||||
from lms.lms.utils import has_course_instructor_role, has_course_moderator_role
|
||||
from frappe import _
|
||||
|
||||
|
||||
def get_context(context):
|
||||
context.no_cache = 1
|
||||
|
||||
if not can_create_courses():
|
||||
if not has_course_moderator_role() or not has_course_instructor_role():
|
||||
message = "You do not have permission to access this page."
|
||||
if frappe.session.user == "Guest":
|
||||
message = "Please login to access this page."
|
||||
|
||||
@@ -552,7 +552,7 @@
|
||||
{% for legend in legends %}
|
||||
<div class="legend-item">
|
||||
<div class="legend-color" style="background-color: {{ legend.color }}"></div>
|
||||
<div class="legend-text">{{ legend.title }}</div>
|
||||
<div class="legend-text">{{ legend.label }}</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
@@ -574,6 +574,8 @@
|
||||
<script>
|
||||
frappe.boot.single_types = []
|
||||
let courses = {{ course_list | json }};
|
||||
const legends = {{ legends | json }};
|
||||
const allow_future = {{ batch_info.allow_future }}
|
||||
</script>
|
||||
|
||||
<link rel="stylesheet" href="https://uicdn.toast.com/calendar/latest/toastui-calendar.min.css" />
|
||||
|
||||
@@ -698,8 +698,8 @@ const get_calendar_options = (element, calendar_id) => {
|
||||
|
||||
const create_events = (calendar, events, calendar_id) => {
|
||||
let calendar_events = [];
|
||||
|
||||
events.forEach((event, idx) => {
|
||||
let clr = get_background_color(event.reference_doctype);
|
||||
calendar_events.push({
|
||||
id: `event${idx}`,
|
||||
calendarId: calendar_id,
|
||||
@@ -707,7 +707,7 @@ const create_events = (calendar, events, calendar_id) => {
|
||||
start: `${event.date}T${event.start_time}`,
|
||||
end: `${event.date}T${event.end_time}`,
|
||||
isAllday: event.start_time ? false : true,
|
||||
borderColor: get_background_color(event.reference_doctype),
|
||||
borderColor: clr,
|
||||
backgroundColor: "var(--fg-color)",
|
||||
customStyle: {
|
||||
borderRadius: "var(--border-radius-md)",
|
||||
@@ -724,10 +724,15 @@ const create_events = (calendar, events, calendar_id) => {
|
||||
calendar.createEvents(calendar_events);
|
||||
};
|
||||
|
||||
const add_links_to_events = (calendar, events) => {
|
||||
const add_links_to_events = (calendar) => {
|
||||
calendar.on("clickEvent", ({ event }) => {
|
||||
const el = document.getElementById("clicked-event");
|
||||
window.open(event.raw.url, "_blank");
|
||||
let event_date = event.start.d.d;
|
||||
event_date = moment(event_date).format("YYYY-MM-DD");
|
||||
|
||||
let current_date = moment().format("YYYY-MM-DD");
|
||||
if (allow_future || moment(event_date).isSameOrBefore(current_date)) {
|
||||
window.open(event.raw.url, "_blank");
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -764,10 +769,10 @@ const set_calendar_range = (calendar, events) => {
|
||||
};
|
||||
|
||||
const get_background_color = (doctype) => {
|
||||
if (doctype == "Course Lesson") return "var(--blue-400)";
|
||||
if (doctype == "LMS Quiz") return "var(--green-400)";
|
||||
if (doctype == "LMS Assignment") return "var(--orange-400)";
|
||||
if (doctype == "LMS Live Class") return "var(--purple-400)";
|
||||
const match = legends.filter((legend) => {
|
||||
return legend.reference_doctype == doctype;
|
||||
});
|
||||
if (match.length) return match[0].color;
|
||||
};
|
||||
|
||||
const email_to_students = () => {
|
||||
|
||||
@@ -42,6 +42,7 @@ def get_context(context):
|
||||
"currency",
|
||||
"batch_details",
|
||||
"published",
|
||||
"allow_future",
|
||||
],
|
||||
as_dict=True,
|
||||
)
|
||||
@@ -96,7 +97,7 @@ def get_context(context):
|
||||
"parent": batch_name,
|
||||
},
|
||||
)
|
||||
context.legends = get_legends()
|
||||
context.legends = get_legends(batch_name)
|
||||
|
||||
custom_tabs = frappe.get_hooks("lms_batch_tabs")
|
||||
|
||||
@@ -261,22 +262,9 @@ def get_course_progress(batch_courses, student_details):
|
||||
student_details.courses[course.course] = 0
|
||||
|
||||
|
||||
def get_legends():
|
||||
return [
|
||||
{
|
||||
"title": "Lesson",
|
||||
"color": "var(--blue-400)",
|
||||
},
|
||||
{
|
||||
"title": "Quiz",
|
||||
"color": "var(--green-400)",
|
||||
},
|
||||
{
|
||||
"title": "Assignment",
|
||||
"color": "var(--orange-400)",
|
||||
},
|
||||
{
|
||||
"title": "Live Class",
|
||||
"color": "var(--purple-400)",
|
||||
},
|
||||
]
|
||||
def get_legends(batch):
|
||||
return frappe.get_all(
|
||||
"LMS Timetable Legend",
|
||||
filters={"parenttype": "LMS Batch", "parent": batch},
|
||||
fields=["reference_doctype", "color", "label"],
|
||||
)
|
||||
|
||||
@@ -23,7 +23,7 @@ def get_context(context):
|
||||
redirect_to_courses_list()
|
||||
|
||||
if course_name == "new-course":
|
||||
if not can_create_courses():
|
||||
if not can_create_courses(course_name):
|
||||
message = "You do not have permission to access this page."
|
||||
if frappe.session.user == "Guest":
|
||||
message = "Please login to access this page."
|
||||
|
||||
@@ -15,7 +15,7 @@ def get_context(context):
|
||||
except KeyError:
|
||||
redirect_to_courses_list()
|
||||
|
||||
if not can_create_courses():
|
||||
if not can_create_courses(course_name):
|
||||
message = "You do not have permission to access this page."
|
||||
if frappe.session.user == "Guest":
|
||||
message = "Please login to access this page."
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import frappe
|
||||
from frappe import _
|
||||
from lms.lms.utils import (
|
||||
can_create_courses,
|
||||
check_profile_restriction,
|
||||
get_restriction_details,
|
||||
has_course_moderator_role,
|
||||
get_courses_under_review,
|
||||
get_average_rating,
|
||||
check_multicurrency,
|
||||
has_course_instructor_role,
|
||||
)
|
||||
from lms.overrides.user import get_enrolled_courses, get_authored_courses
|
||||
|
||||
@@ -21,7 +21,17 @@ def get_context(context):
|
||||
context.created_courses = get_authored_courses(None, False)
|
||||
context.review_courses = get_courses_under_review()
|
||||
context.restriction = check_profile_restriction()
|
||||
context.show_creators_section = can_create_courses()
|
||||
|
||||
portal_course_creation = frappe.db.get_single_value(
|
||||
"LMS Settings", "portal_course_creation"
|
||||
)
|
||||
context.show_creators_section = (
|
||||
True
|
||||
if portal_course_creation == "Anyone"
|
||||
or has_course_moderator_role()
|
||||
or has_course_instructor_role()
|
||||
else False
|
||||
)
|
||||
context.show_review_section = (
|
||||
has_course_moderator_role() and frappe.session.user != "Guest"
|
||||
)
|
||||
|
||||
@@ -10,7 +10,7 @@ def get_context(context):
|
||||
if not frappe.db.exists("LMS Course", course_name):
|
||||
redirect_to_courses_list()
|
||||
|
||||
if not can_create_courses():
|
||||
if not can_create_courses(course_name):
|
||||
message = "You do not have permission to access this page."
|
||||
if frappe.session.user == "Guest":
|
||||
message = "Please login to access this page."
|
||||
|
||||
Reference in New Issue
Block a user