@php $currentRole = \Illuminate\Support\Str::lower((string) session('admin_role', 'admin')); $sessionUserId = (int) session('admin_user_id', 0); $roleLabelMap = [ 'admin' => 'Administrador', 'superadmin' => 'Super Administrador', 'coordinadores' => 'Coordinador', 'secretarias' => 'Secretaria', 'docentes' => 'Docente', ]; $currentRoleLabel = $roleLabelMap[$currentRole] ?? ucfirst($currentRole ?: 'Usuario'); $isAdmin = in_array($currentRole, ['admin', 'superadmin'], true); $canGeneral = $isAdmin || in_array($currentRole, ['coordinadores', 'secretarias'], true); $canMatriculas = $canGeneral; $canMensajeria = $canGeneral; $canAcademia = $isAdmin || in_array($currentRole, ['coordinadores'], true); $canCalificaciones = $isAdmin || in_array($currentRole, ['coordinadores'], true); $canObservador = true; $canCartera = $isAdmin || in_array($currentRole, ['coordinadores', 'secretarias'], true); $canContabilidad = $isAdmin; $menuBeforeAcademia = []; if ($canMatriculas) { $menuBeforeAcademia['Matrículas'] = route('admin.section', ['section' => 'matriculas']); } if ($canMensajeria) { $menuBeforeAcademia['Mensajería'] = route('admin.section', ['section' => 'mensajeria']); } $menuAfterAcademia = []; if ($canCartera) { $menuAfterAcademia['Cartera'] = route('admin.cartera.index'); } if ($canContabilidad) { $menuAfterAcademia['Contabilidad'] = route('admin.section', ['section' => 'contabilidad']); } $generalMenu = [ 'Estudiantes' => route('admin.estudiantes.index'), 'Profesores' => route('admin.profesores.index'), 'Grupos Familiares ->' => route('admin.general.item', ['item' => 'grupos-familiares']), 'Grados ->' => route('admin.general.grados.item', ['item' => 'todos']), 'Cursos ->' => route('admin.general.cursos.item', ['item' => 'todos']), 'Cambio de Clave' => route('admin.general.item', ['item' => 'cambio-clave']), ]; $generalGradosMenu = [ 'todos' => ['label' => 'Todos', 'url' => route('admin.general.grados.item', ['item' => 'todos'])], ]; $generalCursosMenu = [ 'todos' => ['label' => 'Todos', 'url' => route('admin.general.cursos.item', ['item' => 'todos'])], 'listas-curso' => ['label' => 'Listas de Curso', 'url' => route('admin.general.cursos.item', ['item' => 'listas-curso'])], ]; $generalGruposMenu = [ 'acudientes' => ['label' => 'Acudientes', 'url' => route('admin.general.grupos.item', ['item' => 'acudientes'])], 'grupos-familiares' => ['label' => 'Grupos Familiares', 'url' => route('admin.general.grupos.item', ['item' => 'grupos-familiares'])], ]; $academiaMenu = [ 'asignaturas' => ['label' => 'Asignaturas', 'url' => route('admin.academia.item', ['item' => 'asignaturas'])], 'areas-academicas' => ['label' => 'Áreas Académicas', 'url' => route('admin.academia.item', ['item' => 'areas-academicas'])], 'periodos-academicos' => ['label' => 'Períodos Académicos', 'url' => route('admin.academia.item', ['item' => 'periodos-academicos'])], ]; $academiaAsignacionMenu = [ 'estado-actual' => ['label' => 'Estado Actual', 'url' => route('admin.academia.asignacion.item', ['item' => 'estado-actual'])], 'por-curso' => ['label' => 'Por Curso', 'url' => route('admin.academia.asignacion.item', ['item' => 'por-curso'])], 'por-profesor-asignatura' => ['label' => 'Por Profesor y Asignatura', 'url' => route('admin.academia.asignacion.item', ['item' => 'por-profesor-asignatura'])], ]; $calificacionesMenu = [ 'niveles-calificaciones' => ['label' => 'Niveles de Calificaciones', 'url' => route('admin.calificaciones.item', ['item' => 'niveles-calificaciones'])], 'logros' => ['label' => 'Logros', 'url' => route('admin.calificaciones.item', ['item' => 'logros'])], 'calificaciones-faltantes' => ['label' => 'Calificaciones Faltantes', 'url' => route('admin.calificaciones.item', ['item' => 'calificaciones-faltantes'])], 'registro-calificaciones' => ['label' => 'Registro de Calificaciones', 'url' => route('admin.calificaciones.item', ['item' => 'registro-calificaciones'])], 'generacion-boletines' => ['label' => 'Generación de Boletines ->', 'url' => route('admin.calificaciones.item', ['item' => 'generacion-boletines'])], 'reportes' => ['label' => 'Reportes ->', 'url' => route('admin.calificaciones.item', ['item' => 'reportes'])], ]; if ($isAdmin || $currentRole === 'coordinadores') { $calificacionesMenu = collect($calificacionesMenu) ->prepend(['label' => 'Apertura de Notas', 'url' => route('admin.calificaciones.item', ['item' => 'periodos-notas'])], 'periodos-notas') ->all(); } if (in_array($currentRole, ['docentes', 'coordinadores'], true)) { $calificacionesMenu = collect($calificacionesMenu) ->prepend(['label' => 'Mi Carga Académica', 'url' => route('admin.academia.asignacion.item', ['item' => 'estado-actual'])], 'mi-carga-academica') ->all(); } if ($isAdmin || in_array($currentRole, ['docentes', 'coordinadores'], true)) { $calificacionesMenu = collect($calificacionesMenu) ->prepend(['label' => 'Dirección de grupo', 'url' => route('admin.calificaciones.item', ['item' => 'curso-a-cargo'])], 'curso-a-cargo') ->all(); } $academicYears = \Illuminate\Support\Facades\Cache::remember('ui_academic_years', 3600, function () { return \Illuminate\Support\Facades\DB::table('sweb_notas_v2') ->distinct() ->orderByDesc('annio') ->pluck('annio'); }); $selectedYear = (int) request('annio', date('Y')); $isDocenteDirectorGrupo = false; if ($currentRole === 'docentes' && $sessionUserId > 0) { $isDocenteDirectorGrupo = \Illuminate\Support\Facades\DB::table('sweb_salones') ->where('is_active', 1) ->where('director_id', $sessionUserId) ->exists(); } @endphp
Colegio Windsor
Usuario: {{ session('admin_display_name', session('admin_email', 'admin@schoolnext.local')) }}
soporte@windsorschool.edu.co
@csrf
Rol: {{ $currentRoleLabel }}
@if($currentRole !== 'docentes')
Año académico: @foreach($academicYears as $year) {{ $year }} @endforeach
@endif
@yield('content')