fix: misc batch issues
This commit is contained in:
@@ -7,15 +7,10 @@ import zipfile
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import requests
|
||||
import xml.etree.ElementTree as ET
|
||||
from frappe.translate import get_all_translations
|
||||
from frappe import _
|
||||
from frappe.query_builder import DocType
|
||||
from frappe.query_builder.functions import Count
|
||||
from frappe.utils import (
|
||||
time_diff,
|
||||
now_datetime,
|
||||
get_datetime,
|
||||
cint,
|
||||
flt,
|
||||
@@ -24,10 +19,10 @@ from frappe.utils import (
|
||||
format_date,
|
||||
date_diff,
|
||||
)
|
||||
from typing import Optional
|
||||
from lms.lms.utils import get_average_rating, get_lesson_count
|
||||
from xml.dom.minidom import parseString
|
||||
from lms.lms.doctype.course_lesson.course_lesson import save_progress
|
||||
from frappe.core.doctype.communication.email import make
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
@@ -845,7 +840,7 @@ def update_course_statistics():
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_announcements(batch):
|
||||
return frappe.get_all(
|
||||
communications = frappe.get_all(
|
||||
"Communication",
|
||||
filters={
|
||||
"reference_doctype": "LMS Batch",
|
||||
@@ -863,6 +858,13 @@ def get_announcements(batch):
|
||||
order_by="communication_date desc",
|
||||
)
|
||||
|
||||
for communication in communications:
|
||||
communication.image = frappe.get_cached_value(
|
||||
"User", communication.sender, "user_image"
|
||||
)
|
||||
|
||||
return communications
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def delete_course(course):
|
||||
@@ -1225,16 +1227,3 @@ def get_notifications(filters):
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def is_guest_allowed():
|
||||
return frappe.get_cached_value("LMS Settings", None, "allow_guest_access")
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def make_announcement(students, cc, subject, content):
|
||||
for student in students:
|
||||
frappe.sendmail(
|
||||
recipients=student,
|
||||
cc=cc,
|
||||
subject=subject,
|
||||
message=content,
|
||||
header=[subject, "green"],
|
||||
retry=3,
|
||||
)
|
||||
|
||||
@@ -76,17 +76,19 @@ def send_confirmation_email(doc):
|
||||
|
||||
|
||||
def send_mail(doc):
|
||||
subject = _("Enrollment Confirmation for the Next Training Batch")
|
||||
template = "batch_confirmation"
|
||||
custom_template = frappe.db.get_single_value(
|
||||
"LMS Settings", "batch_confirmation_template"
|
||||
)
|
||||
batch = frappe.db.get_value(
|
||||
"LMS Batch",
|
||||
doc.batch,
|
||||
["name", "title", "start_date", "start_time", "medium"],
|
||||
as_dict=1,
|
||||
)
|
||||
|
||||
subject = _("Enrollment Confirmation for {0}").format(batch.title)
|
||||
template = "batch_confirmation"
|
||||
custom_template = frappe.db.get_single_value(
|
||||
"LMS Settings", "batch_confirmation_template"
|
||||
)
|
||||
|
||||
args = {
|
||||
"title": batch.title,
|
||||
"student_name": doc.member_name,
|
||||
@@ -107,6 +109,6 @@ def send_mail(doc):
|
||||
template=template if not custom_template else None,
|
||||
content=content if custom_template else None,
|
||||
args=args,
|
||||
header=[subject, "green"],
|
||||
header=[_(batch.title), "green"],
|
||||
retry=3,
|
||||
)
|
||||
|
||||
@@ -1194,6 +1194,9 @@ def get_neighbour_lesson(course, chapter, lesson):
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def get_batch_details(batch):
|
||||
if not frappe.db.get_value("LMS Batch", batch, "published") and has_student_role():
|
||||
return
|
||||
|
||||
batch_details = frappe.db.get_value(
|
||||
"LMS Batch",
|
||||
batch,
|
||||
@@ -1450,7 +1453,7 @@ def get_batch_students(batch):
|
||||
)
|
||||
detail.assessments[title] = assessment_info
|
||||
|
||||
if assessment_info.result == "Passed":
|
||||
if assessment_info.result == "Pass":
|
||||
assessments_completed += 1
|
||||
|
||||
detail.courses_completed = courses_completed
|
||||
@@ -1493,20 +1496,26 @@ def has_submitted_assessment(assessment, assessment_type, member=None):
|
||||
|
||||
attempt = frappe.db.exists(doctype, filters)
|
||||
if attempt:
|
||||
attempt_details = frappe.db.get_value(doctype, filters, fields)
|
||||
fields.append("name")
|
||||
attempt_details = frappe.db.get_value(doctype, filters, fields, as_dict=1)
|
||||
if assessment_type == "LMS Quiz":
|
||||
result = "Failed"
|
||||
passing_percentage = frappe.db.get_value(
|
||||
"LMS Quiz", assessment, "passing_percentage"
|
||||
)
|
||||
if attempt_details >= passing_percentage:
|
||||
result = "Passed"
|
||||
if attempt_details.percentage >= passing_percentage:
|
||||
result = "Pass"
|
||||
else:
|
||||
result = attempt_details
|
||||
result = attempt_details.status
|
||||
return frappe._dict(
|
||||
{
|
||||
"status": attempt_details,
|
||||
"status": attempt_details.percentage
|
||||
if assessment_type == "LMS Quiz"
|
||||
else attempt_details.status,
|
||||
"result": result,
|
||||
"assessment": assessment,
|
||||
"type": assessment_type,
|
||||
"submission": attempt_details.name,
|
||||
}
|
||||
)
|
||||
else:
|
||||
|
||||
@@ -6,12 +6,6 @@
|
||||
{{ _("We are pleased to inform you that you have been enrolled in our upcoming batch. Congratulations!") }}
|
||||
</p>
|
||||
<br>
|
||||
<p>
|
||||
<b>
|
||||
{{ title }}
|
||||
</b>
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
<b>{{ _("Batch Start Date:") }}</b> {{ frappe.utils.format_date(start_date, "medium") }}
|
||||
@@ -27,7 +21,7 @@
|
||||
<br>
|
||||
<p>
|
||||
{{ _("Visit the following link to view your ") }}
|
||||
<a href="/batches/{{ name }}">{{ _("Batch Details") }}</a>
|
||||
<a href="/lms/batches/{{ name }}">{{ _("Batch Details") }}</a>
|
||||
</p>
|
||||
<p>
|
||||
{{ _("If you have any questions or require assistance, feel free to contact us.") }}
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
<div>
|
||||
<p>{{ _('Hi') }} {{ billing_name }},</p>
|
||||
<br>
|
||||
<p>{{ _('We noticed that you started enrolling in the') }} {{ type }} {{ title }} {{ _('but didn’t complete your payment') }}.</p>
|
||||
<br>
|
||||
<p>
|
||||
{{ _("We have a limited number of seats, and they won't be available for long!")}}
|
||||
</p>
|
||||
<br>
|
||||
<p>
|
||||
{{ _("Don’t miss this opportunity to enhance your skills. Click below to complete your enrollment") }}:
|
||||
</p>
|
||||
<br>
|
||||
<p>
|
||||
<a href="{{ link }}">👉 Complete Your Enrollment</a>
|
||||
<a href="{{ link }}">👉 {{ _("Complete Your Enrollment") }}</a>
|
||||
</p>
|
||||
<br>
|
||||
<p>
|
||||
{{ _("If you have any questions or need assistance, feel free to reach out to our support team.") }}
|
||||
</p>
|
||||
<br>
|
||||
<p>
|
||||
{{ __("Looking forward to seeing you enrolled!") }}
|
||||
</p>
|
||||
|
||||
Reference in New Issue
Block a user