fix: show only past-due sessions needing attendance on attendance page

Use attendanceScope filtering, correct pending status for held sessions, and return to the attendance hub after saving.
This commit is contained in:
2026-08-16 08:22:18 +03:30
parent 2aa99119e2
commit e977ccd356
2 changed files with 46 additions and 38 deletions
@@ -5,7 +5,7 @@
:title="$t('attendances.title')"
:subtitle="`دوره: ${session.course?.title || '-'} | کلاس: ${session.class?.name || '-'} | تاریخ: ${formatJalali(session.day)} (${session.startTime || ''} تا ${session.endTime || ''})`"
>
<Button label="بازگشت" icon="pi pi-arrow-left" text severity="secondary" @click="$router.push('/sessions')" />
<Button label="بازگشت" icon="pi pi-arrow-left" text severity="secondary" @click="$router.push('/attendances')" />
</PageHeader>
<div class="surface-card p-4 sm:p-5 border-round border-1 border-color shadow-sm mb-3" v-if="session.note">
@@ -56,7 +56,7 @@
</DataTable>
<div class="flex justify-content-end gap-2 mt-4 pt-3 border-top-1 border-color">
<Button label="انصراف" text severity="secondary" @click="$router.push('/sessions')" />
<Button label="انصراف" text severity="secondary" @click="$router.push('/attendances')" />
<Button
:label="$t('attendances.submitAttendance')"
icon="pi pi-save"
@@ -147,7 +147,7 @@ const handleSubmit = async () => {
}));
await attendanceApi.recordSessionAttendance(sessionId, payloadList);
showSuccess('حضور و غیاب جلسه با موفقیت ثبت شد');
router.push('/sessions');
router.push('/attendances');
} catch (err) {
showError(err);
} finally {