update financial controller and fix curriculum subjects
This commit is contained in:
@@ -28,6 +28,7 @@ use App\Models\PlacementLevelModel;
|
||||
use App\Models\PlacementBatchModel;
|
||||
use App\Models\PlacementScoreModel;
|
||||
use App\Models\GradingLockModel;
|
||||
use App\Services\NavbarService;
|
||||
|
||||
//use App\Models\ScoreModel;
|
||||
|
||||
@@ -1079,11 +1080,14 @@ class GradingController extends Controller
|
||||
$schoolYears = $this->getSchoolYearsForScores($schoolYear);
|
||||
$rows = $this->fetchBelowSixtyRows($schoolYear, $semester);
|
||||
|
||||
$canViewGrading = $this->userHasMenuUrl('grading');
|
||||
|
||||
return view('grading/below_sixty', [
|
||||
'rows' => $rows,
|
||||
'semester' => $semester,
|
||||
'schoolYear' => $schoolYear,
|
||||
'schoolYears' => $schoolYears,
|
||||
'canViewGrading' => $canViewGrading,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -1863,6 +1867,54 @@ class GradingController extends Controller
|
||||
return $row;
|
||||
}
|
||||
|
||||
private function userHasMenuUrl(string $needle): bool
|
||||
{
|
||||
$needle = strtolower(trim($needle));
|
||||
if ($needle === '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
$rawRole = session()->get('role');
|
||||
$roles = is_array($rawRole) ? $rawRole : [$rawRole ?? 'guest'];
|
||||
$roles = array_values(array_filter(array_map('strval', $roles)));
|
||||
if (empty($roles)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$service = new NavbarService();
|
||||
$menu = $service->getMenuForRoles($roles);
|
||||
if (empty($menu)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$normalize = static function (string $url) use ($needle): string {
|
||||
$url = strtolower(trim($url));
|
||||
if ($url === '') return '';
|
||||
$url = preg_replace('#^https?://[^/]+/#i', '', $url);
|
||||
$url = ltrim($url, '/');
|
||||
return $url;
|
||||
};
|
||||
|
||||
$target = $normalize($needle);
|
||||
$stack = $menu;
|
||||
while (!empty($stack)) {
|
||||
$node = array_shift($stack);
|
||||
if (!empty($node['url'])) {
|
||||
$url = $normalize((string)$node['url']);
|
||||
if ($url !== '' && $url === $target) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (!empty($node['children']) && is_array($node['children'])) {
|
||||
foreach ($node['children'] as $child) {
|
||||
$stack[] = $child;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private function fetchBelowSixtyParentName(int $studentId): string
|
||||
{
|
||||
$parentName = 'Parent/Guardian';
|
||||
|
||||
Reference in New Issue
Block a user