0ac3a8375e
- 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
32 lines
988 B
PHP
32 lines
988 B
PHP
<?php
|
|
|
|
use App\Models\ConfigurationModel;
|
|
use App\Services\SemesterRangeService;
|
|
|
|
// app/Helpers/GlobalConfigHelper.php
|
|
if (!function_exists('getSemester')) {
|
|
function getSemester() {
|
|
$configModel = new \App\Models\ConfigurationModel();
|
|
$semester = (new SemesterRangeService($configModel))->getSemesterForDate();
|
|
|
|
return $semester !== '' ? $semester : 'Fall';
|
|
}
|
|
}
|
|
|
|
if (!function_exists('getSchoolYear')) {
|
|
function getSchoolYear() {
|
|
if (! is_cli() && session()->get('user_id')) {
|
|
try {
|
|
return service('schoolYearContext')->resolve(service('request'))->yearName();
|
|
} catch (\Throwable $e) {
|
|
log_message('warning', 'Falling back to configured school year: {message}', [
|
|
'message' => $e->getMessage(),
|
|
]);
|
|
}
|
|
}
|
|
|
|
$configModel = new \App\Models\ConfigurationModel();
|
|
return $configModel->getConfig('school_year');
|
|
}
|
|
}
|