Merge pull request #1095 from pateljannat/issues-46

fix: misc issues
This commit is contained in:
Jannat Patel
2024-11-06 10:34:17 +05:30
committed by GitHub
12 changed files with 108 additions and 71 deletions

View File

@@ -781,3 +781,24 @@ def update_course_statistics():
course.name,
{"lessons": lessons, "enrollments": enrollments, "rating": avg_rating},
)
@frappe.whitelist()
def get_announcements(batch):
return frappe.get_all(
"Communication",
filters={
"reference_doctype": "LMS Batch",
"reference_name": batch,
},
fields=[
"subject",
"content",
"recipients",
"cc",
"communication_date",
"sender",
"sender_full_name",
],
order_by="communication_date desc",
)

View File

@@ -7,17 +7,3 @@ from frappe.model.document import Document
class BatchStudent(Document):
pass
@frappe.whitelist()
def enroll_batch(batch_name):
if frappe.db.exists(
"Batch Student", {"student": frappe.session.user, "parent": batch_name}
):
frappe.throw("You are already enrolled in this batch")
enrollment = frappe.new_doc("Batch Student")
enrollment.student = frappe.session.user
enrollment.parent = batch_name
enrollment.parentfield = "students"
enrollment.parenttype = "LMS Batch"
enrollment.save(ignore_permissions=True)

View File

@@ -33,6 +33,7 @@ class LMSBatch(Document):
self.validate_timetable()
self.send_confirmation_mail()
self.validate_evaluation_end_date()
self.add_students_to_live_class()
def validate_batch_end_date(self):
if self.end_date < self.start_date:
@@ -139,6 +140,27 @@ class LMSBatch(Document):
if cint(self.seat_count) < len(self.students):
frappe.throw(_("There are no seats available in this batch."))
def add_students_to_live_class(self):
for student in self.students:
if student.is_new():
live_classes = frappe.get_all(
"LMS Live Class", {"batch_name": self.name}, ["name", "event"]
)
for live_class in live_classes:
if live_class.event:
frappe.get_doc(
{
"doctype": "Event Participants",
"reference_doctype": "User",
"reference_docname": student.student,
"email": student.student,
"parent": live_class.event,
"parenttype": "Event",
"parentfield": "event_participants",
}
).save()
def validate_timetable(self):
for schedule in self.timetable:
if schedule.start_time and schedule.end_time:

View File

@@ -10,19 +10,20 @@
"title",
"host",
"batch_name",
"event",
"column_break_astv",
"date",
"time",
"duration",
"section_break_glxh",
"description",
"section_break_glxh",
"date",
"duration",
"column_break_spvt",
"time",
"timezone",
"password",
"auto_recording",
"section_break_yrpq",
"password",
"start_url",
"column_break_yokr",
"auto_recording",
"join_url"
],
"fields": [
@@ -122,11 +123,18 @@
"fieldtype": "Select",
"label": "Auto Recording",
"options": "No Recording\nLocal\nCloud"
},
{
"fieldname": "event",
"fieldtype": "Link",
"label": "Event",
"options": "Event",
"read_only": 1
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-01-09 11:22:33.272341",
"modified": "2024-10-31 15:41:35.540856",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Live Class",

View File

@@ -16,6 +16,7 @@ class LMSLiveClass(Document):
if calendar:
event = self.create_event()
self.add_event_participants(event, calendar)
frappe.db.set_value(self.doctype, self.name, "event", event.name)
def create_event(self):
start = f"{self.date} {self.time}"

View File

@@ -76,6 +76,7 @@
"default": "0",
"fieldname": "payment_received",
"fieldtype": "Check",
"in_standard_filter": 1,
"label": "Payment Received"
},
{
@@ -140,7 +141,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2023-10-26 16:54:12.408274",
"modified": "2024-10-31 15:33:39.420366",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Payment",