fix test issues
API CI/CD / Validate (composer + pint) (push) Successful in 3m5s
API CI/CD / Test (PHPUnit) (push) Failing after 7m12s
API CI/CD / Build frontend assets (push) Successful in 1m2s
API CI/CD / Security audit (push) Failing after 49s
API CI/CD / Deploy to shared hosting (PHP) (push) Has been skipped

This commit is contained in:
root
2026-07-06 02:39:13 -04:00
parent 90f9857b06
commit 304fa6bfd0
14 changed files with 1018 additions and 17 deletions
@@ -1168,6 +1168,34 @@ class SchoolYearClosureService
return $email !== '' ? $email : $userId;
}
public function archive(int $id, ?int $actorId): array
{
$year = $this->findOrFail($id);
if ($year->status === SchoolYear::STATUS_ARCHIVED) {
throw ValidationException::withMessages([
'school_year' => ['This school year is already archived.'],
]);
}
$oldState = $year->toArray();
$year->status = SchoolYear::STATUS_ARCHIVED;
$year->is_current = false;
$year->save();
$this->logAudit(
$actorId,
'school_year_archived',
'school_years',
(int) $year->id,
$oldState,
$year->fresh()?->toArray(),
null
);
return $this->presentSchoolYear($year->fresh());
}
private function presentSchoolYear(?SchoolYear $year): ?array
{
if (! $year) {