feat: live class list display

This commit is contained in:
Jannat Patel
2023-03-03 15:15:49 +05:30
parent e6096bf9ed
commit bb0f3d5962
5 changed files with 70 additions and 36 deletions

View File

@@ -120,6 +120,9 @@ def create_live_class(class_name, title, duration, date, time, description=None)
"host": frappe.session.user,
"date": date,
"time": time,
"class": class_name,
"password": data.get("password"),
"description": description,
}
)
class_details = frappe.get_doc(payload)

View File

@@ -17,7 +17,7 @@
"date",
"timezone",
"column_break_spvt",
"start_time",
"time",
"duration",
"section_break_yrpq",
"start_url",
@@ -44,12 +44,6 @@
"label": "Date",
"reqd": 1
},
{
"fieldname": "start_time",
"fieldtype": "Time",
"label": "Start Time",
"reqd": 1
},
{
"fieldname": "duration",
"fieldtype": "Int",
@@ -114,11 +108,17 @@
"fieldname": "password",
"fieldtype": "Password",
"label": "Password"
},
{
"fieldname": "time",
"fieldtype": "Time",
"label": "Time",
"reqd": 1
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2023-03-02 17:47:07.807968",
"modified": "2023-03-02 23:00:33.006661",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Live Class",

View File

@@ -94,7 +94,7 @@
</div>
<div class="tab-pane" id="live-class" role="tabpanel" aria-labelledby="live-class">
{{ LiveClassSection(class_info) }}
{{ LiveClassSection(class_info, live_classes) }}
</div>
</div>
@@ -188,40 +188,65 @@
{% endmacro %}
{% macro LiveClassSection(class_info) %}
{% macro LiveClassSection(class_info, live_classes) %}
<div>
{% if is_moderator %}
<button class="btn btn-secondary btn-sm" id="open-class-modal">
{{ _("Create a Live Class") }}
</button>
<div class="modal fade live-class-modal" id="live-class-modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<div class="modal-title">{{ _("Live Class Details") }}</div>
</div>
{{ CreateLiveClass(class_info) }}
{% endif %}
{{ LiveClassList(class_info, live_classes) }}
</div>
{% endmacro %}
<div class="modal-body">
<form class="live-class-form" id="live-class-form"></form>
</div>
{% macro CreateLiveClass(class_info) %}
<button class="btn btn-secondary btn-sm" id="open-class-modal">
{{ _("Create a Live Class") }}
</button>
<div class="modal fade live-class-modal" id="live-class-modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<div class="modal-title">{{ _("Live Class Details") }}</div>
</div>
<div class="modal-footer">
<button class="btn btn-secondary btn-sm mr-2" data-dismiss="modal" aria-label="Close">
{{ _("Discard") }}
</button>
<div class="modal-body">
<form class="live-class-form" id="live-class-form"></form>
</div>
<button class="btn btn-primary btn-sm" id="create-live-class">
<div class="modal-footer">
<button class="btn btn-secondary btn-sm mr-2" data-dismiss="modal" aria-label="Close">
{{ _("Discard") }}
</button>
<button class="btn btn-primary btn-sm" id="create-live-class">
{{ _("Submit") }}
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endmacro %}
{% endif %}
{% macro LiveClassList(class_info, live_classes) %}
<div class="cards-parent mt-5">
{% for class in live_classes %}
<div class="common-card-style column-card">
<div class="course-card-title">
{{ class.title }}
</div>
<div>
{{ class.description }}
</div>
<div>
{{ frappe.utils.format_date(class.date, "medium") }} {{ _("at") }}
{{ frappe.utils.format_time(class.time, "hh:mm a") }}
</div>
</div>
{% endfor %}
</div>
{% endmacro %}

View File

@@ -113,9 +113,9 @@ const make_live_class_form = (e) => {
},
{
fieldname: "meeting_time",
fieldtype: "Datetime",
fieldtype: "Time",
options: "",
label: "Date and Time",
label: "Time",
reqd: 1,
},
{

View File

@@ -28,6 +28,14 @@ def get_context(context):
"Class Student", {"parent": class_name}, ["student", "student_name", "username"]
)
context.is_moderator = has_course_moderator_role()
context.live_classes = frappe.get_all(
"LMS Live Class",
{"class": class_name},
["title", "description", "time", "date", "start_url", "join_url"],
)
for student in class_students:
if student.student == frappe.session.user:
session_user.append(student)
@@ -38,5 +46,3 @@ def get_context(context):
context.class_students = session_user + remaining_students
else:
context.class_students = class_students
context.is_moderator = has_course_moderator_role()