Add numberOfSessions to class form and fix attendance navigation.

Editable session count on the class edit page and corrected redirects back to the attendance list route.
This commit is contained in:
2026-08-16 08:55:04 +03:30
parent e87d78c295
commit 8d29a5d858
2 changed files with 19 additions and 4 deletions
+16 -1
View File
@@ -45,6 +45,11 @@
<InputNumber v-model="form.freeSpots" :min="0" class="w-full text-sm" placeholder="دستی" />
</div>
<div class="col-12 md:col-3 flex flex-column gap-2">
<label class="font-semibold text-sm">تعداد جلسات</label>
<InputNumber v-model="form.numberOfSessions" :min="1" class="w-full text-sm" placeholder="مثلا ۱۲" />
</div>
<div class="col-12">
<div class="flex flex-column gap-2 p-3 border-1 border-color border-round">
<div class="flex align-items-center gap-2">
@@ -303,6 +308,7 @@ const form = reactive({
days: [],
startTime: '',
endTime: '',
numberOfSessions: null,
isActive: true,
adminNotes: []
});
@@ -359,6 +365,9 @@ const applyCourseDefaults = (course) => {
}
if (course.capacity) form.capacity = course.capacity;
if (course.price != null) form.tuitionFee = course.price;
if (form.numberOfSessions == null && course.sectionCount) {
form.numberOfSessions = course.sectionCount;
}
if (course.sectionCount) defaultSessionCount.value = course.sectionCount;
};
@@ -400,11 +409,16 @@ const fetchData = async () => {
days: Array.isArray(data.days) ? data.days.map(Number).filter((day) => day >= 0 && day <= 6) : [],
startTime: data.startTime || '',
endTime: data.endTime || '',
numberOfSessions: data.numberOfSessions ?? null,
isActive: data.isActive !== false,
adminNotes: Array.isArray(data.adminNotes) ? [...data.adminNotes] : []
});
students.value = data.students || [];
if (data.course?.sectionCount) defaultSessionCount.value = data.course.sectionCount;
if (data.numberOfSessions) {
defaultSessionCount.value = data.numberOfSessions;
} else if (data.course?.sectionCount) {
defaultSessionCount.value = data.course.sectionCount;
}
} else if (queryCourseId) {
const linked = courses.value.find((c) => String(c._id) === String(queryCourseId));
if (linked) {
@@ -443,6 +457,7 @@ const handleSubmit = async () => {
days: form.days || [],
startTime: form.startTime || '',
endTime: form.endTime || '',
numberOfSessions: form.numberOfSessions,
isActive: form.isActive,
adminNotes: (form.adminNotes || []).map((n) => String(n).trim()).filter(Boolean)
};