{% extends 'layout/base.html.twig' %}{% block stylesheets %}{{ parent() }}<link rel="stylesheet" href="{{ asset('assets/css/style.blue.css') }}"><link rel="stylesheet" href="{{ asset('assets/css/jquery.mCustomScrollbar.css') }}"><link rel="stylesheet" href="{{ asset('assets/cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css') }}"><style>/* Sidebar */.side-navbar {position: fixed;top: 0;left: 0;width: 220px;height: 100vh;background: #2f3e47;color: white;overflow-y: auto;transition: all 0.3s ease;z-index: 999;}.side-navbar a { color: #d1d4d6; display:block; padding:10px 15px; }.side-navbar a:hover { background:#1e2a31; color:white; }.sidenav-header img { width:70px; border-radius:50%; margin-bottom:10px; }/* Collapsed sidebar (mobile) */.side-navbar.collapsed {left: -220px;}/* Content */.flex-grow-1 {margin-left: 220px;transition: margin 0.3s ease;}.side-navbar.collapsed ~ .flex-grow-1 {margin-left: 0;}/* Header */.header { background:white; border-bottom:1px solid #eee; padding:10px 20px; display:flex; justify-content:space-between; align-items:center; }/* Dashboard cards */.dashboard-card { background:white; border-radius:8px; padding:15px; box-shadow:0 2px 6px rgba(0,0,0,0.1); text-align:center; }.dashboard-card i { font-size:2em; margin-bottom:5px; }/* Toggle button */#toggle-btn { font-size:1.3em; cursor:pointer; color:#2f3e47; }/* Responsive */@media (max-width: 768px) {.flex-grow-1 { margin-left: 0; }.side-navbar { left: -220px; }.side-navbar.collapsed { left: 0; }}</style>{% endblock %}{% block title %}{{ parent() }} / Administration{% endblock %}{% block main %}<div class="d-flex">{# Sidebar #}{% block sidebar %}<nav class="side-navbar"><div class="side-navbar-wrapper">{% block identification %}<div class="sidenav-header text-center py-4"><img src="{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}{{ app.user.avatar(75) }}{% else %}{{ asset('img/avatar-2.jpg') }}{% endif %}" alt="user-avatar"><h6 class="text-white mt-2">{% if app.user %}{{ app.user.username }}{% endif %}</h6></div>{% endblock %}{% block menu %}<ul class="list-unstyled">{% if is_granted('ROLE_ADMIN') %}<li><a href="{{ path('admin_school_years') }}"><i class="fa fa-calendar"></i> Années scolaires</a></li><li><a href="{{ path('admin_quaters') }}"><i class="fa fa-calendar-check-o"></i> Trimestres</a></li><li><a href="{{ path('admin_sequences') }}"><i class="fa fa-calendar-minus-o"></i> Séquences</a></li><li><a href="{{ path('admin_programs') }}"><i class="fa fa-table"></i> Programmes</a></li><li><a href="{{ path('admin_sections') }}"><i class="fa fa-th-large"></i> Sections</a></li><li><a href="{{ path('admin_cycles') }}"><i class="fa fa-th-list"></i> Cycles</a></li><li><a href="{{ path('admin_levels') }}"><i class="fa fa-list-ul"></i> Niveaux</a></li><li><a href="{{ path('admin_classrooms') }}"><i class="fa fa-indent"></i> Classes</a></li><li><a href="{{ path('admin_modules') }}"><i class="fa fa-folder-open-o"></i> Module</a></li><li><a href="{{ path('admin_domains') }}"><i class="fa fa-user-md"></i> Département</a></li><li><a href="{{ path('admin_courses') }}"><i class="fa fa-book"></i> Matières</a></li><li><a href="{{ path('admin_subscriptions') }}"><i class="fa fa-exchange"></i> Inscriptions</a></li><li><a href="{{ path('admin_students', {'type': 'new_students_not_yet_registered_checkbox'}) }}"><i class="fa fa-users"></i> Élèves</a></li><li><a href="{{ path('admin_attributions') }}"><i class="fa fa-map-signs"></i> Attributions</a></li><li><a href="{{ path('admin_users') }}"><i class="fa fa-user"></i> Personnel</a></li><li><a href="{{ path('admin_statistics') }}"><i class="fa fa-area-chart"></i> Statistiques</a></li>{% endif %}<li><a href="{{ path('admin_evaluations') }}"><i class="fa fa-file-pdf-o"></i> Evaluations</a></li><li><a href="{{ path('app_account') }}"><i class="fa fa-user-circle"></i> Account</a></li></ul>{% endblock %}</div></nav>{% endblock %}{# Contenu principal #}<div class="flex-grow-1">{% block header %}<header class="header d-flex align-items-center justify-content-between"><a id="toggle-btn" href="#" class="menu-btn"><i class="fa fa-bars"></i></a><a href="{{ path('app_home') }}" class="navbar-brand text-center"><strong class="text-primary">SCHOOL MANAGEMENT SYSTEM</strong></a>{% if app.user %}<a id="logout_btn" href="#" onclick="event.preventDefault(); document.getElementById('js-logout-form').submit();" class="btn btn-warning"><i class="fa fa-sign-out"></i></a><form id="js-logout-form" action="{{ path('app_logout') }}" style="display:none;" method="POST"><input type="hidden" name="_csrf_token" value="{{ csrf_token('logout') }}"></form>{% endif %}</header>{% endblock %}<section class="container-fluid mt-4">{% if is_granted('ROLE_ADMIN') %}<div class="row mb-4"><div class="col-md-3"><div class="dashboard-card text-center"><i class="fa fa-graduation-cap text-primary"></i><h4>{{ students_count() }}</h4><p>Élèves</p></div></div><div class="col-md-3"><div class="dashboard-card text-center"><i class="fa fa-users text-success"></i><h4>{{ teachers_count() }}</h4><p>Enseignants</p></div></div><div class="col-md-3"><div class="dashboard-card text-center"><i class="fa fa-home text-warning"></i><h4>{{ rooms_count() }}</h4><p>Classes</p></div></div><div class="col-md-3"><select class="form-control" id="select_year">{% for year in years()|reverse %}<option value="{{ year.id }}" {% if app.session.get('session_school_year') == year.id %}selected{% endif %}>{{ year.code }}</option>{% endfor %}</select></div></div>{% endif %}{% block content %}{% endblock %}</section></div></div>{% endblock %}{% block footer %}{% endblock %}{% block javascripts %}{{ parent() }}<script src="{{ asset('assets/js/jquery.cookie.js') }}"></script><script src="{{ asset('assets/js/grasp_mobile_progress_circle-1.0.0.min.js') }}"></script><script src="{{ asset('assets/js/jquery.validate.min.js') }}"></script><script src="{{ asset('assets/js/jquery.mCustomScrollbar.concat.min.js') }}"></script><script>// Toggle sidebar menu$('#toggle-btn').on('click', function(e) {e.preventDefault();$('.side-navbar').toggleClass('collapsed');});// Changement d'année scolaire$('#select_year').on('change', function() {$.ajax({type: "POST",url: "{{ path('update_school_year') }}",data: { selectedSchoolYear: $(this).val() },success: function(){ location.reload(); },error: function(e){ console.log(e); alert("Echec."); }});});</script>{% endblock %}