Fix semester context, attendance rosters, and billing workflows
- load global semester helpers consistently and use date-based semester defaults - fix grading and daily attendance duplicate student/section rows - keep attendance violations scoped to the current semester by default - update invoice, refund, discount, payment, and financial aid flows - add configuration cleanup migrations for duplicate calendar/semester keys - refresh parent registration/report-card and print request handling - update related models, services, views, cron notes, and test coverage
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
// - Reset link uses '?' to clear query string reliably.
|
||||
|
||||
// Ensure helper functions are available
|
||||
if (function_exists('helper')) { @helper('GlobalConfigHelper'); }
|
||||
if (function_exists('helper')) { @helper('global_config'); }
|
||||
|
||||
// Resolve defaults
|
||||
$currentYear = function_exists('getSchoolYear') ? (string) (getSchoolYear() ?? '') : '';
|
||||
@@ -16,7 +16,7 @@ if ($currentYear === '' || $currentSem === '') {
|
||||
try {
|
||||
$cfg = new \App\Models\ConfigurationModel();
|
||||
if ($currentYear === '') $currentYear = (string) ($cfg->getConfig('school_year') ?? '');
|
||||
if ($currentSem === '') $currentSem = (string) ($cfg->getConfig('semester') ?? '');
|
||||
if ($currentSem === '') $currentSem = (string) (getSemester() ?? '');
|
||||
} catch (\Throwable $e) { /* ignore */ }
|
||||
}
|
||||
|
||||
|
||||
@@ -277,7 +277,7 @@ switch ($role) {
|
||||
} catch (\Throwable $e) {
|
||||
$year = $sess->get('school_year') ?? $configModel->getConfig('school_year');
|
||||
}
|
||||
$semester = $sess->get('semester') ?? $configModel->getConfig('semester');
|
||||
$semester = $sess->get('semester') ?? getSemester();
|
||||
$activeEventCount = count($eventModel->getActiveEvents($year, $semester) ?? []);
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user