diff --git a/frontend/src/components/BatchStudents.vue b/frontend/src/components/BatchStudents.vue index 099abfa4..cf2bafe5 100644 --- a/frontend/src/components/BatchStudents.vue +++ b/frontend/src/components/BatchStudents.vue @@ -18,7 +18,11 @@ - + @@ -125,30 +132,32 @@ const getStudentColumns = () => { { label: 'Full Name', key: 'full_name', - width: 1, + width: '10rem', }, ] if (students.data?.[0].courses) { Object.keys(students.data?.[0].courses).forEach((course) => { columns.push({ - label: `${course} (%)`, + label: course, key: course, - width: 1, + width: '10rem', icon: 'book-open', align: 'center', }) }) } - + console.log(students.data?.[0].assessments) if (students.data?.[0].assessments) { Object.keys(students.data?.[0].assessments).forEach((assessment) => { columns.push({ label: assessment, key: assessment, - width: 1, + width: '10rem', icon: 'help-circle', - align: 'left', + align: isAssignment(students.data?.[0].assessments[assessment]) + ? 'left' + : 'center', }) }) } @@ -193,4 +202,8 @@ const getStatusTheme = (status) => { return 'red' } } + +const isAssignment = (value) => { + return isNaN(value) +} diff --git a/frontend/src/pages/BatchForm.vue b/frontend/src/pages/BatchForm.vue index 14c16c92..1979c9f1 100644 --- a/frontend/src/pages/BatchForm.vue +++ b/frontend/src/pages/BatchForm.vue @@ -252,7 +252,7 @@ import { } from 'frappe-ui' import Link from '@/components/Controls/Link.vue' import { useRouter } from 'vue-router' -import { showToast } from '../utils' +import { showToast } from '@/utils' import { Image } from 'lucide-vue-next' import { capture } from '@/telemetry' import MultiSelect from '@/components/Controls/MultiSelect.vue' @@ -345,6 +345,10 @@ const batchDetail = createResource({ data.instructors.forEach((instructor) => { instructors.value.push(instructor.instructor) }) + } else if (['start_time', 'end_time'].includes(key)) { + let [hours, minutes, seconds] = data[key].split(':') + hours = hours.length == 1 ? '0' + hours : hours + batch[key] = `${hours}:${minutes}` } else if (Object.hasOwn(batch, key)) batch[key] = data[key] }) let checkboxes = ['published', 'paid_batch', 'allow_self_enrollment'] diff --git a/lms/lms/utils.py b/lms/lms/utils.py index 7b8d7430..ece56ca4 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -1475,7 +1475,9 @@ def get_batch_students(batch): """ Iterate through assessments and track their progress """ for assessment in assessments: - title = frappe.db.get_value("LMS Assignment", assessment.assessment_name, "title") + title = frappe.db.get_value( + assessment.assessment_type, assessment.assessment_name, "title" + ) status = has_submitted_assessment( assessment.assessment_name, assessment.assessment_type, student.student ) @@ -1502,7 +1504,7 @@ def has_submitted_assessment(assessment, assessment_type, member=None): elif assessment_type == "LMS Quiz": doctype = "LMS Quiz Submission" docfield = "quiz" - fields = ["score"] + fields = ["percentage"] not_attempted = 0 filters = {}