partial fix for teacher class progress
API CI/CD / Validate (composer + pint) (push) Successful in 3m9s
API CI/CD / Test (PHPUnit) (push) Failing after 5m6s
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-07 22:02:42 -04:00
parent c891a82012
commit 21c9322127
5 changed files with 137 additions and 7 deletions
@@ -59,15 +59,23 @@ class ClassProgressController extends BaseApiController
return $auth;
}
$schoolYear = (string) (Configuration::getConfig('school_year') ?? '');
$semester = (string) (Configuration::getConfig('semester') ?? '');
$schoolYear = trim((string) $request->query('school_year', Configuration::getConfig('school_year') ?? ''));
$semester = trim((string) $request->query('semester', Configuration::getConfig('semester') ?? ''));
$assignments = $this->queryService->teacherAssignments($auth, $schoolYear, $semester);
$requestedClassId = (int) ($request->validated('class_id') ?? 0);
$activeClassId = $requestedClassId > 0 ? $requestedClassId : (int) ($assignments[0]['class_id'] ?? 0);
$requestedClassSectionId = (int) $request->query('class_section_id', 0);
$requestedAssignment = $requestedClassSectionId > 0
? collect($assignments)->first(
fn (array $assignment) => (int) ($assignment['class_section_id'] ?? 0) === $requestedClassSectionId
)
: null;
$activeClassId = $requestedClassId > 0
? $requestedClassId
: (int) (($requestedAssignment['class_id'] ?? null) ?: ($assignments[0]['class_id'] ?? 0));
$activeAssignment = collect($assignments)->first(
fn (array $assignment) => (int) ($assignment['class_id'] ?? 0) === $activeClassId
) ?? ($assignments[0] ?? []);
) ?? $requestedAssignment ?? ($assignments[0] ?? []);
$sundayCount = (int) ($request->validated('sunday_count') ?? 12);
$payload = $this->buildMetaPayload($activeClassId > 0 ? $activeClassId : null, $sundayCount, $schoolYear, $semester);
$payload['classes'] = $assignments;
@@ -294,6 +302,7 @@ class ClassProgressController extends BaseApiController
'status_options' => $this->metaService->statusOptions(),
'sunday_options' => $this->metaService->sundayOptionsAlignedWithCi($sundayCount),
'curriculum' => $this->metaService->curriculumOptions($classId, $meta['school_year'] ?? null),
'unit_options' => $this->metaService->unitOptions($classId, $meta['school_year'] ?? null),
'meta' => $meta,
];
}