fix score submission, and class progress

This commit is contained in:
root
2026-04-04 17:44:40 -04:00
parent d158650be9
commit 05dad52e10
4 changed files with 75 additions and 36 deletions
+32 -1
View File
@@ -383,13 +383,18 @@ class ClassProgressController extends BaseController
}
}
$sundayOptions = $this->buildSundayOptions();
if (!in_array($row['week_start'], $sundayOptions, true)) {
array_unshift($sundayOptions, $row['week_start']);
}
return view('teacher/class_progress_submit', [
'subjectSections' => self::SUBJECT_SECTIONS,
'subjectCurriculum' => $subjectCurriculum,
'classSectionId' => $row['class_section_id'],
'classSectionName' => $classSectionName,
'classId' => $classId,
'sundayOptions' => [$row['week_start']],
'sundayOptions' => $sundayOptions,
'defaultWeekStart' => $row['week_start'],
'existingWeekEnd' => $row['week_end'],
'existingReports' => $subjectReports,
@@ -458,6 +463,32 @@ class ClassProgressController extends BaseController
return redirect()->back()->withInput()->with('error', 'No class assignment found for this report.');
}
$confirmOverwrite = (bool) $this->request->getPost('confirm_overwrite');
if ($weekStart && $weekStart !== (string) ($row['week_start'] ?? '')) {
$conflicts = $this->reportModel
->select('id')
->where('class_section_id', $classSectionId)
->where('week_start', $weekStart)
->where('teacher_id', $teacherId)
->findAll();
if (! $confirmOverwrite && ! empty($conflicts)) {
return redirect()->back()
->withInput()
->with('warning', 'A progress report already exists for this week, are you sure you want to override it?')
->with('confirm_overwrite', true);
}
if ($confirmOverwrite && ! empty($conflicts)) {
$conflictIds = array_values(array_filter(array_map(
static fn (array $row): int => (int) ($row['id'] ?? 0),
$conflicts
)));
if (! empty($conflictIds)) {
$this->attachmentModel->whereIn('report_id', $conflictIds)->delete();
$this->reportModel->whereIn('id', $conflictIds)->delete();
}
}
}
$weeklyReports = $this->reportModel
->select('class_progress_reports.*')
->whereIn('teacher_id', $allowedTeacherIds)