Fix semester context, attendance rosters, and billing workflows
Deploy to Shared Hosting / Shared hosting deploy (push) Failing after 31s
Tests / PHPUnit (push) Failing after 55s

- 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:
root
2026-08-16 17:41:11 -04:00
parent 36c7e3fc6d
commit 0ac3a8375e
99 changed files with 1598 additions and 814 deletions
+2 -2
View File
@@ -1,6 +1,7 @@
<?php
use App\Models\ConfigurationModel;
use App\Services\SemesterRangeService;
if (!function_exists('selected_teacher_semester')) {
function selected_teacher_semester(): string
@@ -16,8 +17,7 @@ if (!function_exists('selected_teacher_semester')) {
return ucfirst(strtolower($fallback));
}
$config = new ConfigurationModel();
$configSemester = trim((string) ($config->getConfig('semester') ?? ''));
$configSemester = trim((string) ((new SemesterRangeService(new ConfigurationModel()))->getSemesterForDate() ?: 'Fall'));
if ($configSemester !== '') {
return ucfirst(strtolower($configSemester));
}