<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* layout/backEndLayout.html.twig */
class __TwigTemplate_b50bbc2aedacfc0fd3e66e16b4273e81 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'stylesheets' => [$this, 'block_stylesheets'],
'title' => [$this, 'block_title'],
'main' => [$this, 'block_main'],
'sidebar' => [$this, 'block_sidebar'],
'identification' => [$this, 'block_identification'],
'menu' => [$this, 'block_menu'],
'header' => [$this, 'block_header'],
'content' => [$this, 'block_content'],
'footer' => [$this, 'block_footer'],
'javascripts' => [$this, 'block_javascripts'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layout/base.html.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "layout/backEndLayout.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "layout/backEndLayout.html.twig"));
$this->parent = $this->load("layout/base.html.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
// line 3
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_stylesheets(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
// line 4
yield " ";
yield from $this->yieldParentBlock("stylesheets", $context, $blocks);
yield "
<link rel=\"stylesheet\" href=\"";
// line 5
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/css/style.blue.css"), "html", null, true);
yield "\">
<link rel=\"stylesheet\" href=\"";
// line 6
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/css/jquery.mCustomScrollbar.css"), "html", null, true);
yield "\">
<link rel=\"stylesheet\" href=\"";
// line 7
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css"), "html", null, true);
yield "\">
<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>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 60
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_title(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
// line 61
yield " ";
yield from $this->yieldParentBlock("title", $context, $blocks);
yield " / Administration
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 64
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_main(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
// line 65
yield "<div class=\"d-flex\">
";
// line 68
yield " ";
yield from $this->unwrap()->yieldBlock('sidebar', $context, $blocks);
// line 105
yield "
";
// line 107
yield " <div class=\"flex-grow-1\">
";
// line 109
yield from $this->unwrap()->yieldBlock('header', $context, $blocks);
// line 125
yield "
<section class=\"container-fluid mt-4\">
";
// line 127
if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 128
yield " <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>";
// line 132
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\StatExtension']->students(), "html", null, true);
yield "</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>";
// line 139
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\StatExtension']->teachers(), "html", null, true);
yield "</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>";
// line 146
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\StatExtension']->rooms(), "html", null, true);
yield "</h4>
<p>Classes</p>
</div>
</div>
<div class=\"col-md-3\">
<select class=\"form-control\" id=\"select_year\">
";
// line 152
$context['_parent'] = $context;
$context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::reverse($this->env->getCharset(), $this->extensions['App\Twig\AppExtension']->years()));
foreach ($context['_seq'] as $context["_key"] => $context["year"]) {
// line 153
yield " <option value=\"";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["year"], "id", [], "any", false, false, false, 153), "html", null, true);
yield "\" ";
if ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 153, $this->source); })()), "session", [], "any", false, false, false, 153), "get", ["session_school_year"], "method", false, false, false, 153) == CoreExtension::getAttribute($this->env, $this->source, $context["year"], "id", [], "any", false, false, false, 153))) {
yield "selected";
}
yield ">";
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["year"], "code", [], "any", false, false, false, 153), "html", null, true);
yield "</option>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['year'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 155
yield " </select>
</div>
</div>
";
}
// line 159
yield "
";
// line 160
yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
// line 161
yield " </section>
</div>
</div>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 68
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_sidebar(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "sidebar"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "sidebar"));
// line 69
yield " <nav class=\"side-navbar\">
<div class=\"side-navbar-wrapper\">
";
// line 71
yield from $this->unwrap()->yieldBlock('identification', $context, $blocks);
// line 77
yield "
";
// line 78
yield from $this->unwrap()->yieldBlock('menu', $context, $blocks);
// line 102
yield " </div>
</nav>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 71
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_identification(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "identification"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "identification"));
// line 72
yield " <div class=\"sidenav-header text-center py-4\">
<img src=\"";
// line 73
if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("IS_AUTHENTICATED_REMEMBERED")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 73, $this->source); })()), "user", [], "any", false, false, false, 73), "avatar", [75], "method", false, false, false, 73), "html", null, true);
} else {
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("img/avatar-2.jpg"), "html", null, true);
}
yield "\" alt=\"user-avatar\">
<h6 class=\"text-white mt-2\">";
// line 74
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 74, $this->source); })()), "user", [], "any", false, false, false, 74)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 74, $this->source); })()), "user", [], "any", false, false, false, 74), "username", [], "any", false, false, false, 74), "html", null, true);
}
yield "</h6>
</div>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 78
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_menu(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
// line 79
yield " <ul class=\"list-unstyled\">
";
// line 80
if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 81
yield " <li><a href=\"";
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_school_years");
yield "\"><i class=\"fa fa-calendar\"></i> Années scolaires</a></li>
<li><a href=\"";
// line 82
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_quaters");
yield "\"><i class=\"fa fa-calendar-check-o\"></i> Trimestres</a></li>
<li><a href=\"";
// line 83
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_sequences");
yield "\"><i class=\"fa fa-calendar-minus-o\"></i> Séquences</a></li>
<li><a href=\"";
// line 84
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_programs");
yield "\"><i class=\"fa fa-table\"></i> Programmes</a></li>
<li><a href=\"";
// line 85
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_sections");
yield "\"><i class=\"fa fa-th-large\"></i> Sections</a></li>
<li><a href=\"";
// line 86
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_cycles");
yield "\"><i class=\"fa fa-th-list\"></i> Cycles</a></li>
<li><a href=\"";
// line 87
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_levels");
yield "\"><i class=\"fa fa-list-ul\"></i> Niveaux</a></li>
<li><a href=\"";
// line 88
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_classrooms");
yield "\"><i class=\"fa fa-indent\"></i> Classes</a></li>
<li><a href=\"";
// line 89
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_modules");
yield "\"><i class=\"fa fa-folder-open-o\"></i> Module</a></li>
<li><a href=\"";
// line 90
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_domains");
yield "\"><i class=\"fa fa-user-md\"></i> Département</a></li>
<li><a href=\"";
// line 91
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_courses");
yield "\"><i class=\"fa fa-book\"></i> Matières</a></li>
<li><a href=\"";
// line 92
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_subscriptions");
yield "\"><i class=\"fa fa-exchange\"></i> Inscriptions</a></li>
<li><a href=\"";
// line 93
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_students", ["type" => "new_students_not_yet_registered_checkbox"]);
yield "\"><i class=\"fa fa-users\"></i> Élèves</a></li>
<li><a href=\"";
// line 94
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_attributions");
yield "\"><i class=\"fa fa-map-signs\"></i> Attributions</a></li>
<li><a href=\"";
// line 95
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_users");
yield "\"><i class=\"fa fa-user\"></i> Personnel</a></li>
<li><a href=\"";
// line 96
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_statistics");
yield "\"><i class=\"fa fa-area-chart\"></i> Statistiques</a></li>
";
}
// line 98
yield " <li><a href=\"";
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_evaluations");
yield "\"><i class=\"fa fa-file-pdf-o\"></i> Evaluations</a></li>
<li><a href=\"";
// line 99
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_account");
yield "\"><i class=\"fa fa-user-circle\"></i> Account</a></li>
</ul>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 109
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_header(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "header"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "header"));
// line 110
yield " <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=\"";
// line 112
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_home");
yield "\" class=\"navbar-brand text-center\">
<strong class=\"text-primary\">SCHOOL MANAGEMENT SYSTEM</strong>
</a>
";
// line 115
if ((($tmp = CoreExtension::getAttribute($this->env, $this->source, (isset($context["app"]) || array_key_exists("app", $context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.', 115, $this->source); })()), "user", [], "any", false, false, false, 115)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
// line 116
yield " <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=\"";
// line 119
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_logout");
yield "\" style=\"display:none;\" method=\"POST\">
<input type=\"hidden\" name=\"_csrf_token\" value=\"";
// line 120
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderCsrfToken("logout"), "html", null, true);
yield "\">
</form>
";
}
// line 123
yield " </header>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 160
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_content(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 168
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_footer(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 170
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_javascripts(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
// line 171
yield from $this->yieldParentBlock("javascripts", $context, $blocks);
yield "
<script src=\"";
// line 172
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/js/jquery.cookie.js"), "html", null, true);
yield "\"></script>
<script src=\"";
// line 173
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/js/grasp_mobile_progress_circle-1.0.0.min.js"), "html", null, true);
yield "\"></script>
<script src=\"";
// line 174
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/js/jquery.validate.min.js"), "html", null, true);
yield "\"></script>
<script src=\"";
// line 175
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/js/jquery.mCustomScrollbar.concat.min.js"), "html", null, true);
yield "\"></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: \"";
// line 188
yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("update_school_year");
yield "\",
data: { selectedSchoolYear: \$(this).val() },
success: function(){ location.reload(); },
error: function(e){ console.log(e); alert(\"Echec.\"); }
});
});
</script>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "layout/backEndLayout.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
return array ( 625 => 188, 609 => 175, 605 => 174, 601 => 173, 597 => 172, 593 => 171, 580 => 170, 558 => 168, 536 => 160, 524 => 123, 518 => 120, 514 => 119, 509 => 116, 507 => 115, 501 => 112, 497 => 110, 484 => 109, 470 => 99, 465 => 98, 460 => 96, 456 => 95, 452 => 94, 448 => 93, 444 => 92, 440 => 91, 436 => 90, 432 => 89, 428 => 88, 424 => 87, 420 => 86, 416 => 85, 412 => 84, 408 => 83, 404 => 82, 399 => 81, 397 => 80, 394 => 79, 381 => 78, 365 => 74, 357 => 73, 354 => 72, 341 => 71, 328 => 102, 326 => 78, 323 => 77, 321 => 71, 317 => 69, 304 => 68, 288 => 161, 286 => 160, 283 => 159, 277 => 155, 262 => 153, 258 => 152, 249 => 146, 239 => 139, 229 => 132, 223 => 128, 221 => 127, 217 => 125, 215 => 109, 211 => 107, 208 => 105, 205 => 68, 201 => 65, 188 => 64, 174 => 61, 161 => 60, 98 => 7, 94 => 6, 90 => 5, 85 => 4, 72 => 3, 49 => 1,);
}
public function getSourceContext(): Source
{
return new Source("{% 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 %}", "layout/backEndLayout.html.twig", "/var/www/bethesda/templates/layout/backEndLayout.html.twig");
}
}