var/cache/dev/twig/de/dedd0c0c6ba8cb831ef7ad7f0a8a8025.php line 52

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. use Twig\TemplateWrapper;
  15. /* layout/backEndLayout.html.twig */
  16. class __TwigTemplate_a7f122802e91a8eb3f52c0237fc0e32b extends Template
  17. {
  18. private Source $source;
  19. /**
  20. * @var array<string, Template>
  21. */
  22. private array $macros = [];
  23. public function __construct(Environment $env)
  24. {
  25. parent::__construct($env);
  26. $this->source = $this->getSourceContext();
  27. $this->blocks = [
  28. 'stylesheets' => [$this, 'block_stylesheets'],
  29. 'title' => [$this, 'block_title'],
  30. 'main' => [$this, 'block_main'],
  31. 'sidebar' => [$this, 'block_sidebar'],
  32. 'identification' => [$this, 'block_identification'],
  33. 'menu' => [$this, 'block_menu'],
  34. 'header' => [$this, 'block_header'],
  35. 'content' => [$this, 'block_content'],
  36. 'footer' => [$this, 'block_footer'],
  37. 'javascripts' => [$this, 'block_javascripts'],
  38. ];
  39. }
  40. protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
  41. {
  42. // line 1
  43. return "layout/base.html.twig";
  44. }
  45. protected function doDisplay(array $context, array $blocks = []): iterable
  46. {
  47. $macros = $this->macros;
  48. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  49. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "layout/backEndLayout.html.twig"));
  50. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  51. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "layout/backEndLayout.html.twig"));
  52. $this->parent = $this->load("layout/base.html.twig", 1);
  53. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  54. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  55. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  56. }
  57. // line 3
  58. /**
  59. * @return iterable<null|scalar|\Stringable>
  60. */
  61. public function block_stylesheets(array $context, array $blocks = []): iterable
  62. {
  63. $macros = $this->macros;
  64. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  65. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
  66. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  67. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "stylesheets"));
  68. // line 4
  69. yield " ";
  70. yield from $this->yieldParentBlock("stylesheets", $context, $blocks);
  71. yield "
  72. <link href=\"";
  73. // line 5
  74. 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);
  75. yield "\" rel=\"stylesheet\" type=\"text/css\" />
  76. <link href=\"";
  77. // line 6
  78. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/css/jquery.mCustomScrollbar.css"), "html", null, true);
  79. yield "\" rel=\"stylesheet\" type=\"text/css\" />
  80. <link rel=\"stylesheet\" href=\"";
  81. // line 7
  82. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/css/style.blue.css"), "html", null, true);
  83. yield "\">
  84. <link rel=\"stylesheet\" href=\"";
  85. // line 8
  86. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/css/jquery.mCustomScrollbar.css"), "html", null, true);
  87. yield "\">
  88. <link rel=\"stylesheet\" href=\"";
  89. // line 9
  90. 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);
  91. yield "\">
  92. <style>
  93. /* Sidebar */
  94. .side-navbar {
  95. position: fixed;
  96. top: 0;
  97. left: 0;
  98. width: 220px;
  99. height: 100vh;
  100. background: #2f3e47;
  101. color: white;
  102. overflow-y: auto;
  103. transition: all 0.3s ease;
  104. z-index: 999;
  105. }
  106. .side-navbar a { color: #d1d4d6; display:block; padding:10px 15px; }
  107. .side-navbar a:hover { background:#1e2a31; color:white; }
  108. .sidenav-header img { width:70px; border-radius:50%; margin-bottom:10px; }
  109. /* Collapsed sidebar (mobile) */
  110. .side-navbar.collapsed {
  111. left: -220px;
  112. }
  113. /* Content */
  114. .flex-grow-1 {
  115. margin-left: 220px;
  116. transition: margin 0.3s ease;
  117. }
  118. .side-navbar.collapsed ~ .flex-grow-1 {
  119. margin-left: 0;
  120. }
  121. /* Header */
  122. .header { background:white; border-bottom:1px solid #eee; padding:10px 20px; display:flex; justify-content:space-between; align-items:center; }
  123. /* Dashboard cards */
  124. .dashboard-card { background:white; border-radius:8px; padding:15px; box-shadow:0 2px 6px rgba(0,0,0,0.1); text-align:center; }
  125. .dashboard-card i { font-size:2em; margin-bottom:5px; }
  126. /* Toggle button */
  127. #toggle-btn { font-size:1.3em; cursor:pointer; color:#2f3e47; }
  128. /* Responsive */
  129. @media (max-width: 768px) {
  130. .flex-grow-1 { margin-left: 0; }
  131. .side-navbar { left: -220px; }
  132. .side-navbar.collapsed { left: 0; }
  133. }
  134. </style>
  135. ";
  136. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  137. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  138. yield from [];
  139. }
  140. // line 62
  141. /**
  142. * @return iterable<null|scalar|\Stringable>
  143. */
  144. public function block_title(array $context, array $blocks = []): iterable
  145. {
  146. $macros = $this->macros;
  147. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  148. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
  149. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  150. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title"));
  151. // line 63
  152. yield " ";
  153. yield from $this->yieldParentBlock("title", $context, $blocks);
  154. yield " / Administration
  155. ";
  156. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  157. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  158. yield from [];
  159. }
  160. // line 66
  161. /**
  162. * @return iterable<null|scalar|\Stringable>
  163. */
  164. public function block_main(array $context, array $blocks = []): iterable
  165. {
  166. $macros = $this->macros;
  167. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  168. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
  169. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  170. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "main"));
  171. // line 67
  172. yield "<div class=\"d-flex\">
  173. ";
  174. // line 70
  175. yield " ";
  176. yield from $this->unwrap()->yieldBlock('sidebar', $context, $blocks);
  177. // line 288
  178. yield "
  179. <div class=\"page home-page\">
  180. ";
  181. // line 290
  182. yield from $this->unwrap()->yieldBlock('header', $context, $blocks);
  183. // line 306
  184. yield "
  185. <section class=\"container-fluid mt-4\">
  186. ";
  187. // line 308
  188. if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  189. // line 309
  190. yield " <div class=\"row mb-4\">
  191. <div class=\"col-md-3\">
  192. <div class=\"dashboard-card text-center\">
  193. <i class=\"fa fa-graduation-cap text-primary\"></i>
  194. <h4>";
  195. // line 313
  196. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\StatExtension']->students(), "html", null, true);
  197. yield "</h4>
  198. <p>Élèves</p>
  199. </div>
  200. </div>
  201. <div class=\"col-md-3\">
  202. <div class=\"dashboard-card text-center\">
  203. <i class=\"fa fa-users text-success\"></i>
  204. <h4>";
  205. // line 320
  206. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\StatExtension']->teachers(), "html", null, true);
  207. yield "</h4>
  208. <p>Enseignants</p>
  209. </div>
  210. </div>
  211. <div class=\"col-md-3\">
  212. <div class=\"dashboard-card text-center\">
  213. <i class=\"fa fa-home text-warning\"></i>
  214. <h4>";
  215. // line 327
  216. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\StatExtension']->rooms(), "html", null, true);
  217. yield "</h4>
  218. <p>Classes</p>
  219. </div>
  220. </div>
  221. <div class=\"col-md-3\">
  222. <select class=\"form-control\" id=\"select_year\">
  223. ";
  224. // line 333
  225. $context['_parent'] = $context;
  226. $context['_seq'] = CoreExtension::ensureTraversable(Twig\Extension\CoreExtension::reverse($this->env->getCharset(), $this->extensions['App\Twig\AppExtension']->years()));
  227. foreach ($context['_seq'] as $context["_key"] => $context["year"]) {
  228. // line 334
  229. yield " <option value=\"";
  230. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["year"], "id", [], "any", false, false, false, 334), "html", null, true);
  231. yield "\" ";
  232. 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.', 334, $this->source); })()), "session", [], "any", false, false, false, 334), "get", ["session_school_year"], "method", false, false, false, 334) == CoreExtension::getAttribute($this->env, $this->source, $context["year"], "id", [], "any", false, false, false, 334))) {
  233. yield "selected";
  234. }
  235. yield ">";
  236. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["year"], "code", [], "any", false, false, false, 334), "html", null, true);
  237. yield "</option>
  238. ";
  239. }
  240. $_parent = $context['_parent'];
  241. unset($context['_seq'], $context['_key'], $context['year'], $context['_parent']);
  242. $context = array_intersect_key($context, $_parent) + $_parent;
  243. // line 336
  244. yield " </select>
  245. </div>
  246. </div>
  247. ";
  248. }
  249. // line 340
  250. yield "
  251. ";
  252. // line 341
  253. yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
  254. // line 342
  255. yield " </section>
  256. </div>
  257. </div>
  258. ";
  259. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  260. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  261. yield from [];
  262. }
  263. // line 70
  264. /**
  265. * @return iterable<null|scalar|\Stringable>
  266. */
  267. public function block_sidebar(array $context, array $blocks = []): iterable
  268. {
  269. $macros = $this->macros;
  270. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  271. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "sidebar"));
  272. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  273. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "sidebar"));
  274. // line 71
  275. yield " <nav class=\"side-navbar\">
  276. <div class=\"side-navbar-wrapper\">
  277. ";
  278. // line 73
  279. yield from $this->unwrap()->yieldBlock('identification', $context, $blocks);
  280. // line 92
  281. yield "
  282. ";
  283. // line 93
  284. yield from $this->unwrap()->yieldBlock('menu', $context, $blocks);
  285. // line 285
  286. yield " </div>
  287. </nav>
  288. ";
  289. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  290. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  291. yield from [];
  292. }
  293. // line 73
  294. /**
  295. * @return iterable<null|scalar|\Stringable>
  296. */
  297. public function block_identification(array $context, array $blocks = []): iterable
  298. {
  299. $macros = $this->macros;
  300. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  301. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "identification"));
  302. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  303. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "identification"));
  304. // line 74
  305. yield " <div class=\"sidenav-header d-flex align-items-center justify-content-center\">
  306. <div class=\"sidenav-header-inner text-center\">
  307. <img src=";
  308. // line 76
  309. if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("IS_AUTHENTICATED_REMEMBERED")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  310. yield " \"";
  311. 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.', 76, $this->source); })()), "user", [], "any", false, false, false, 76), "avatar", [75], "method", false, false, false, 76), "html", null, true);
  312. yield "\" ";
  313. } else {
  314. yield " ";
  315. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("img/avatar-2.jpg"), "html", null, true);
  316. yield " ";
  317. }
  318. yield " class=\"img-fluid rounded-circle\" alt=\"user-avatar\">
  319. <h2 class=\"h5 text-uppercase\"></h2>
  320. <span class=\"text-uppercase\">
  321. ";
  322. // line 79
  323. if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("IS_AUTHENTICATED_REMEMBERED")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  324. // line 80
  325. yield " ";
  326. 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.', 80, $this->source); })()), "user", [], "any", false, false, false, 80), "username", [], "any", false, false, false, 80), "html", null, true);
  327. yield "
  328. ";
  329. }
  330. // line 82
  331. yield " </span>
  332. </div>
  333. <div class=\"sidenav-header-logo\">
  334. <a href=\"index.html\" class=\"brand-small text-center\">
  335. <strong></strong>
  336. <strong class=\"text-primary\">D</strong>
  337. </a>
  338. </div>
  339. </div>
  340. ";
  341. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  342. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  343. yield from [];
  344. }
  345. // line 93
  346. /**
  347. * @return iterable<null|scalar|\Stringable>
  348. */
  349. public function block_menu(array $context, array $blocks = []): iterable
  350. {
  351. $macros = $this->macros;
  352. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  353. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
  354. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  355. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
  356. // line 94
  357. yield " <div class=\"main-menu\">
  358. <ul id=\"side-main-menu\" class=\"side-menu list-unstyled\">
  359. ";
  360. // line 96
  361. if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_ADMIN")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  362. // line 97
  363. yield " <li class=\"";
  364. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 97, $this->source); })()), "request", [], "any", false, false, false, 97), "attributes", [], "any", false, false, false, 97), "get", ["_route"], "method", false, false, false, 97) == "admin_school_years")) {
  365. yield "active";
  366. }
  367. yield "\">
  368. <a href=\"";
  369. // line 98
  370. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_school_years");
  371. yield "\">
  372. <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>
  373. <span>Années scolaires</span>
  374. </a>
  375. </li>
  376. <li class=\"";
  377. // line 103
  378. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 103, $this->source); })()), "request", [], "any", false, false, false, 103), "attributes", [], "any", false, false, false, 103), "get", ["_route"], "method", false, false, false, 103) == "admin_quaters")) {
  379. yield "active";
  380. }
  381. yield "\">
  382. <a href=\"";
  383. // line 104
  384. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_quaters");
  385. yield "\">
  386. <i class=\"fa fa-calendar-check-o\" aria-hidden=\"true\"></i>
  387. <span>Trimestres</span>
  388. </a>
  389. </li>
  390. <li class=\"";
  391. // line 109
  392. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 109, $this->source); })()), "request", [], "any", false, false, false, 109), "attributes", [], "any", false, false, false, 109), "get", ["_route"], "method", false, false, false, 109) == "admin_sequences")) {
  393. yield "active";
  394. }
  395. yield "\">
  396. <a href=\"";
  397. // line 110
  398. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_sequences");
  399. yield "\">
  400. <i class=\"fa fa-calendar-minus-o\" aria-hidden=\"true\"></i>
  401. <span>Séquences</span>
  402. </a>
  403. </li>
  404. <li class=\"";
  405. // line 115
  406. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 115, $this->source); })()), "request", [], "any", false, false, false, 115), "attributes", [], "any", false, false, false, 115), "get", ["_route"], "method", false, false, false, 115) == "admin_programs")) {
  407. yield "active";
  408. }
  409. yield "\">
  410. <a href=\"";
  411. // line 116
  412. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_programs");
  413. yield "\">
  414. <i class=\"fa fa-table\" aria-hidden=\"true\"></i>
  415. <span>Programmes</span>
  416. </a>
  417. </li>
  418. <li class=\"";
  419. // line 121
  420. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 121, $this->source); })()), "request", [], "any", false, false, false, 121), "attributes", [], "any", false, false, false, 121), "get", ["_route"], "method", false, false, false, 121) == "admin_sections")) {
  421. yield "active";
  422. }
  423. yield "\">
  424. <a href=\"";
  425. // line 122
  426. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_sections");
  427. yield "\">
  428. <i class=\"fa fa-th-large\" aria-hidden=\"true\"></i>
  429. <span>Sections</span>
  430. </a>
  431. </li>
  432. <li class=\"";
  433. // line 127
  434. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 127, $this->source); })()), "request", [], "any", false, false, false, 127), "attributes", [], "any", false, false, false, 127), "get", ["_route"], "method", false, false, false, 127) == "admin_cycles")) {
  435. yield "active";
  436. }
  437. yield "\">
  438. <a href=\"";
  439. // line 128
  440. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_cycles");
  441. yield "\">
  442. <i class=\"fa fa-th-list\" aria-hidden=\"true\"></i>
  443. <span>Cycles</span>
  444. </a>
  445. </li>
  446. <li class=\"";
  447. // line 133
  448. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 133, $this->source); })()), "request", [], "any", false, false, false, 133), "attributes", [], "any", false, false, false, 133), "get", ["_route"], "method", false, false, false, 133) == "admin_levels")) {
  449. yield "active";
  450. }
  451. yield "\">
  452. <a href=\"";
  453. // line 134
  454. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_levels");
  455. yield "\">
  456. <i class=\"fa fa-list-ul\" aria-hidden=\"true\"></i>
  457. <span>Niveaux</span>
  458. </a>
  459. </li>
  460. <li class=\"";
  461. // line 139
  462. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 139, $this->source); })()), "request", [], "any", false, false, false, 139), "attributes", [], "any", false, false, false, 139), "get", ["_route"], "method", false, false, false, 139) == "admin_classrooms")) {
  463. yield "active";
  464. }
  465. yield "\">
  466. <a href=\"";
  467. // line 140
  468. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_classrooms");
  469. yield "\">
  470. <i class=\"fa fa-indent\" aria-hidden=\"true\"></i>
  471. <span>Classes</span>
  472. </a>
  473. </li>
  474. <li class=\"";
  475. // line 145
  476. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 145, $this->source); })()), "request", [], "any", false, false, false, 145), "attributes", [], "any", false, false, false, 145), "get", ["_route"], "method", false, false, false, 145) == "admin_modules")) {
  477. yield "active";
  478. }
  479. yield "\">
  480. <a href=\"";
  481. // line 146
  482. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_modules");
  483. yield "\">
  484. <i class=\"fa fa-folder-open-o\" aria-hidden=\"true\"></i>
  485. <span>Module</span>
  486. </a>
  487. </li>
  488. <li class=\"";
  489. // line 151
  490. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 151, $this->source); })()), "request", [], "any", false, false, false, 151), "attributes", [], "any", false, false, false, 151), "get", ["_route"], "method", false, false, false, 151) == "admin_domains")) {
  491. yield "active";
  492. }
  493. yield "\">
  494. <a href=\"";
  495. // line 152
  496. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_domains");
  497. yield "\">
  498. <i class=\"fa fa-user-md\" aria-hidden=\"true\"></i>
  499. <span>Departement.</span>
  500. </a>
  501. </li>
  502. <li class=\"";
  503. // line 157
  504. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 157, $this->source); })()), "request", [], "any", false, false, false, 157), "attributes", [], "any", false, false, false, 157), "get", ["_route"], "method", false, false, false, 157) == "admin_courses")) {
  505. yield "active";
  506. }
  507. yield "\">
  508. <a href=\"";
  509. // line 158
  510. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_courses");
  511. yield "\">
  512. <i class=\"fa fa-book\" aria-hidden=\"true\"></i>
  513. <span>Matières</span>
  514. </a>
  515. </li>
  516. <li class=\"";
  517. // line 163
  518. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 163, $this->source); })()), "request", [], "any", false, false, false, 163), "attributes", [], "any", false, false, false, 163), "get", ["_route"], "method", false, false, false, 163) == "admin_subscriptions")) {
  519. yield "active";
  520. }
  521. yield "\">
  522. <a href=\"";
  523. // line 164
  524. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_subscriptions");
  525. yield "\">
  526. <i class=\"fa fa-exchange\" aria-hidden=\"true\"></i>
  527. <span>Inscriptions</span>
  528. </a>
  529. </li>
  530. <li class=\"";
  531. // line 169
  532. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 169, $this->source); })()), "request", [], "any", false, false, false, 169), "attributes", [], "any", false, false, false, 169), "get", ["_route"], "method", false, false, false, 169) == "admin_students")) {
  533. yield "active";
  534. }
  535. yield "\">
  536. <a href=\"";
  537. // line 170
  538. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_students", ["type" => "new_students_not_yet_registered_checkbox"]);
  539. yield "\">
  540. <i class=\"fa fa-users\"></i>
  541. <span>Eleves</span>
  542. </a>
  543. </li>
  544. <li class=\"";
  545. // line 175
  546. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 175, $this->source); })()), "request", [], "any", false, false, false, 175), "attributes", [], "any", false, false, false, 175), "get", ["_route"], "method", false, false, false, 175) == "admin_attributions")) {
  547. yield "active";
  548. }
  549. yield "\">
  550. <a href=\"";
  551. // line 176
  552. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_attributions");
  553. yield "\">
  554. <i class=\"fa fa-map-signs\" aria-hidden=\"true\"></i>
  555. <span>Attributions</span>
  556. </a>
  557. </li>
  558. <li class=\"";
  559. // line 181
  560. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 181, $this->source); })()), "request", [], "any", false, false, false, 181), "attributes", [], "any", false, false, false, 181), "get", ["_route"], "method", false, false, false, 181) == "admin_users")) {
  561. yield "active";
  562. }
  563. yield "\">
  564. <a href=\"";
  565. // line 182
  566. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_users");
  567. yield "\">
  568. <i class=\"fa fa-user\" aria-hidden=\"true\"></i>
  569. <span>Personnel</span>
  570. </a>
  571. </li>
  572. ";
  573. // line 189
  574. yield " ";
  575. // line 190
  576. yield " ";
  577. // line 191
  578. yield "
  579. <li class=\"
  580. ";
  581. // line 193
  582. if ((is_string($_v0 = CoreExtension::getAttribute($this->env, $this->source, 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.', 193, $this->source); })()), "request", [], "any", false, false, false, 193), "attributes", [], "any", false, false, false, 193), "get", ["_route"], "method", false, false, false, 193)) && is_string($_v1 = "app_finance_") && str_starts_with($_v0, $_v1))) {
  583. // line 194
  584. yield " active
  585. ";
  586. }
  587. // line 196
  588. yield " \">
  589. <a href=\"";
  590. // line 197
  591. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_finance_dashboard");
  592. yield "\">
  593. <i class=\"fa fa-money\"></i>
  594. <span>Finances</span>
  595. </a>
  596. <ul class=\"list-unstyled\">
  597. <li class=\"";
  598. // line 204
  599. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 204, $this->source); })()), "request", [], "any", false, false, false, 204), "attributes", [], "any", false, false, false, 204), "get", ["_route"], "method", false, false, false, 204) == "app_finance_dashboard")) {
  600. yield "active";
  601. }
  602. yield "\">
  603. <a href=\"";
  604. // line 205
  605. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_finance_dashboard");
  606. yield "\">
  607. <i class=\"fa fa-dashboard\"></i>
  608. Tableau de bord
  609. </a>
  610. </li>
  611. <li class=\"";
  612. // line 211
  613. if ((is_string($_v2 = CoreExtension::getAttribute($this->env, $this->source, 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.', 211, $this->source); })()), "request", [], "any", false, false, false, 211), "attributes", [], "any", false, false, false, 211), "get", ["_route"], "method", false, false, false, 211)) && is_string($_v3 = "app_finance_fee_definition") && str_starts_with($_v2, $_v3))) {
  614. yield "active";
  615. }
  616. yield "\">
  617. <a href=\"";
  618. // line 212
  619. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_finance_fee_definition_index");
  620. yield "\">
  621. <i class=\"fa fa-list-alt\"></i>
  622. Définitions des frais
  623. </a>
  624. </li>
  625. <li class=\"";
  626. // line 218
  627. if ((is_string($_v4 = CoreExtension::getAttribute($this->env, $this->source, 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.', 218, $this->source); })()), "request", [], "any", false, false, false, 218), "attributes", [], "any", false, false, false, 218), "get", ["_route"], "method", false, false, false, 218)) && is_string($_v5 = "app_finance_payment_") && str_starts_with($_v4, $_v5))) {
  628. yield "active";
  629. }
  630. yield "\">
  631. <a href=\"";
  632. // line 219
  633. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_finance_payment_list");
  634. yield "\">
  635. <i class=\"fa fa-credit-card\"></i>
  636. Paiements
  637. </a>
  638. </li>
  639. </ul>
  640. </li>
  641. ";
  642. // line 229
  643. yield "
  644. <li class=\"";
  645. // line 231
  646. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 231, $this->source); })()), "request", [], "any", false, false, false, 231), "attributes", [], "any", false, false, false, 231), "get", ["_route"], "method", false, false, false, 231) == "financial_scope_index")) {
  647. yield "active";
  648. }
  649. yield "\">
  650. <a href=\"";
  651. // line 232
  652. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("financial_scope_index");
  653. yield "\">
  654. <i class=\"fa fa-hand-holding-usd\" aria-hidden=\"true\"></i>
  655. <span>Financier</span>
  656. </a>
  657. </li>
  658. <li class=\"";
  659. // line 237
  660. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 237, $this->source); })()), "request", [], "any", false, false, false, 237), "attributes", [], "any", false, false, false, 237), "get", ["_route"], "method", false, false, false, 237) == "admin_statistics")) {
  661. yield "active";
  662. }
  663. yield "\">
  664. <a href=\"";
  665. // line 238
  666. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_statistics");
  667. yield "\">
  668. <i class=\"fa fa-area-chart\" aria-hidden=\"true\"></i>
  669. <span>Statistiques</span>
  670. </a>
  671. </li>
  672. ";
  673. }
  674. // line 244
  675. yield "
  676. <li class=\"";
  677. // line 245
  678. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 245, $this->source); })()), "request", [], "any", false, false, false, 245), "attributes", [], "any", false, false, false, 245), "get", ["_route"], "method", false, false, false, 245) == "admin_evaluations")) {
  679. yield "active";
  680. }
  681. yield "\">
  682. <a href=\"";
  683. // line 246
  684. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_evaluations");
  685. yield "\">
  686. <i class=\"fa fa-file-pdf-o\" aria-hidden=\"true\"></i>
  687. <span>Evaluations</span>
  688. </a>
  689. </li>
  690. ";
  691. // line 252
  692. if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_DISCIPLINE")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  693. // line 253
  694. yield " <li class=\"";
  695. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 253, $this->source); })()), "request", [], "any", false, false, false, 253), "attributes", [], "any", false, false, false, 253), "get", ["_route"], "method", false, false, false, 253) == "admin_abscences_sheet_index")) {
  696. yield "active";
  697. }
  698. yield "\">
  699. <a href=\"";
  700. // line 254
  701. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_abscences_sheet_index");
  702. yield "\">
  703. <i class=\"fa fa-exclamation-triangle\" aria-hidden=\"true\"></i>
  704. <span>Discipline</span>
  705. </a>
  706. </li>
  707. ";
  708. }
  709. // line 260
  710. yield "
  711. ";
  712. // line 261
  713. if ((($tmp = $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_FINANCIAL")) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  714. // line 262
  715. yield " <li class=\"";
  716. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 262, $this->source); })()), "request", [], "any", false, false, false, 262), "attributes", [], "any", false, false, false, 262), "get", ["_route"], "method", false, false, false, 262) == "app_payment_index")) {
  717. yield "active";
  718. }
  719. yield "\">
  720. <a href=\"";
  721. // line 263
  722. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_payment_index");
  723. yield "\">
  724. <i class=\"fa fa-credit-card\" aria-hidden=\"true\"></i>
  725. <span>Payment</span>
  726. </a>
  727. </li>
  728. <li class=\"";
  729. // line 268
  730. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 268, $this->source); })()), "request", [], "any", false, false, false, 268), "attributes", [], "any", false, false, false, 268), "get", ["_route"], "method", false, false, false, 268) == "admin_paymentPlans")) {
  731. yield "active";
  732. }
  733. yield "\">
  734. <a href=\"";
  735. // line 269
  736. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("admin_paymentPlans");
  737. yield "\">
  738. <i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i>
  739. <span>Scolarite</span>
  740. </a>
  741. </li>
  742. ";
  743. }
  744. // line 275
  745. yield "
  746. <li class=\"";
  747. // line 276
  748. if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 276, $this->source); })()), "request", [], "any", false, false, false, 276), "attributes", [], "any", false, false, false, 276), "get", ["_route"], "method", false, false, false, 276) == "app_account")) {
  749. yield "active";
  750. }
  751. yield "\">
  752. <a href=\"";
  753. // line 277
  754. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_account");
  755. yield "\">
  756. <i class=\"fa fa-user-circle\"></i>
  757. <span>Account</span>
  758. </a>
  759. </li>
  760. </ul>
  761. </div>
  762. ";
  763. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  764. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  765. yield from [];
  766. }
  767. // line 290
  768. /**
  769. * @return iterable<null|scalar|\Stringable>
  770. */
  771. public function block_header(array $context, array $blocks = []): iterable
  772. {
  773. $macros = $this->macros;
  774. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  775. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "header"));
  776. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  777. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "header"));
  778. // line 291
  779. yield " <header class=\"header d-flex align-items-center justify-content-between\">
  780. <a id=\"toggle-btn\" href=\"#\" class=\"menu-btn\"><i class=\"fa fa-bars\"></i></a>
  781. <a href=\"";
  782. // line 293
  783. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_home");
  784. yield "\" class=\"navbar-brand text-center\">
  785. <strong class=\"text-primary\">SCHOOL MANAGEMENT SYSTEM</strong>
  786. </a>
  787. ";
  788. // line 296
  789. 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.', 296, $this->source); })()), "user", [], "any", false, false, false, 296)) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  790. // line 297
  791. yield " <a id=\"logout_btn\" href=\"#\" onclick=\"event.preventDefault(); document.getElementById('js-logout-form').submit();\" class=\"btn btn-warning\">
  792. <i class=\"fa fa-sign-out\"></i>
  793. </a>
  794. <form id=\"js-logout-form\" action=\"";
  795. // line 300
  796. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_logout");
  797. yield "\" style=\"display:none;\" method=\"POST\">
  798. <input type=\"hidden\" name=\"_csrf_token\" value=\"";
  799. // line 301
  800. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderCsrfToken("logout"), "html", null, true);
  801. yield "\">
  802. </form>
  803. ";
  804. }
  805. // line 304
  806. yield " </header>
  807. ";
  808. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  809. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  810. yield from [];
  811. }
  812. // line 341
  813. /**
  814. * @return iterable<null|scalar|\Stringable>
  815. */
  816. public function block_content(array $context, array $blocks = []): iterable
  817. {
  818. $macros = $this->macros;
  819. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  820. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  821. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  822. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
  823. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  824. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  825. yield from [];
  826. }
  827. // line 349
  828. /**
  829. * @return iterable<null|scalar|\Stringable>
  830. */
  831. public function block_footer(array $context, array $blocks = []): iterable
  832. {
  833. $macros = $this->macros;
  834. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  835. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
  836. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  837. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "footer"));
  838. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  839. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  840. yield from [];
  841. }
  842. // line 351
  843. /**
  844. * @return iterable<null|scalar|\Stringable>
  845. */
  846. public function block_javascripts(array $context, array $blocks = []): iterable
  847. {
  848. $macros = $this->macros;
  849. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  850. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  851. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  852. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "javascripts"));
  853. // line 352
  854. yield from $this->yieldParentBlock("javascripts", $context, $blocks);
  855. yield "
  856. <script src=\"";
  857. // line 353
  858. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("assets/js/jquery.cookie.js"), "html", null, true);
  859. yield "\"></script>
  860. <script src=\"";
  861. // line 354
  862. 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);
  863. yield "\"></script>
  864. <script src=\"";
  865. // line 355
  866. 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);
  867. yield "\"></script>
  868. <script src=\"";
  869. // line 356
  870. 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);
  871. yield "\"></script>
  872. <script>
  873. // Toggle sidebar menu
  874. \$('#toggle-btn').on('click', function(e) {
  875. e.preventDefault();
  876. \$('.side-navbar').toggleClass('collapsed');
  877. });
  878. // Changement d'année scolaire
  879. \$('#select_year').on('change', function() {
  880. \$.ajax({
  881. type: \"POST\",
  882. url: \"";
  883. // line 369
  884. yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("update_school_year");
  885. yield "\",
  886. data: { selectedSchoolYear: \$(this).val() },
  887. success: function(){ location.reload(); },
  888. error: function(e){ console.log(e); alert(\"Echec.\"); }
  889. });
  890. });
  891. </script>
  892. ";
  893. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  894. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  895. yield from [];
  896. }
  897. /**
  898. * @codeCoverageIgnore
  899. */
  900. public function getTemplateName(): string
  901. {
  902. return "layout/backEndLayout.html.twig";
  903. }
  904. /**
  905. * @codeCoverageIgnore
  906. */
  907. public function isTraitable(): bool
  908. {
  909. return false;
  910. }
  911. /**
  912. * @codeCoverageIgnore
  913. */
  914. public function getDebugInfo(): array
  915. {
  916. return array ( 984 => 369, 968 => 356, 964 => 355, 960 => 354, 956 => 353, 952 => 352, 939 => 351, 917 => 349, 895 => 341, 883 => 304, 877 => 301, 873 => 300, 868 => 297, 866 => 296, 860 => 293, 856 => 291, 843 => 290, 824 => 277, 818 => 276, 815 => 275, 806 => 269, 800 => 268, 792 => 263, 785 => 262, 783 => 261, 780 => 260, 771 => 254, 764 => 253, 762 => 252, 753 => 246, 747 => 245, 744 => 244, 735 => 238, 729 => 237, 721 => 232, 715 => 231, 711 => 229, 699 => 219, 693 => 218, 684 => 212, 678 => 211, 669 => 205, 663 => 204, 653 => 197, 650 => 196, 646 => 194, 644 => 193, 640 => 191, 638 => 190, 636 => 189, 627 => 182, 621 => 181, 613 => 176, 607 => 175, 599 => 170, 593 => 169, 585 => 164, 579 => 163, 571 => 158, 565 => 157, 557 => 152, 551 => 151, 543 => 146, 537 => 145, 529 => 140, 523 => 139, 515 => 134, 509 => 133, 501 => 128, 495 => 127, 487 => 122, 481 => 121, 473 => 116, 467 => 115, 459 => 110, 453 => 109, 445 => 104, 439 => 103, 431 => 98, 424 => 97, 422 => 96, 418 => 94, 405 => 93, 385 => 82, 379 => 80, 377 => 79, 363 => 76, 359 => 74, 346 => 73, 333 => 285, 331 => 93, 328 => 92, 326 => 73, 322 => 71, 309 => 70, 293 => 342, 291 => 341, 288 => 340, 282 => 336, 267 => 334, 263 => 333, 254 => 327, 244 => 320, 234 => 313, 228 => 309, 226 => 308, 222 => 306, 220 => 290, 216 => 288, 213 => 70, 209 => 67, 196 => 66, 182 => 63, 169 => 62, 106 => 9, 102 => 8, 98 => 7, 94 => 6, 90 => 5, 85 => 4, 72 => 3, 49 => 1,);
  917. }
  918. public function getSourceContext(): Source
  919. {
  920. return new Source("{% extends 'layout/base.html.twig' %}
  921. {% block stylesheets %}
  922. {{ parent() }}
  923. <link href=\"{{ asset('assets/js/grasp_mobile_progress_circle-1.0.0.min.js') }}\" rel=\"stylesheet\" type=\"text/css\" />
  924. <link href=\"{{ asset('assets/css/jquery.mCustomScrollbar.css') }}\" rel=\"stylesheet\" type=\"text/css\" />
  925. <link rel=\"stylesheet\" href=\"{{ asset('assets/css/style.blue.css') }}\">
  926. <link rel=\"stylesheet\" href=\"{{ asset('assets/css/jquery.mCustomScrollbar.css') }}\">
  927. <link rel=\"stylesheet\" href=\"{{ asset('assets/cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css') }}\">
  928. <style>
  929. /* Sidebar */
  930. .side-navbar {
  931. position: fixed;
  932. top: 0;
  933. left: 0;
  934. width: 220px;
  935. height: 100vh;
  936. background: #2f3e47;
  937. color: white;
  938. overflow-y: auto;
  939. transition: all 0.3s ease;
  940. z-index: 999;
  941. }
  942. .side-navbar a { color: #d1d4d6; display:block; padding:10px 15px; }
  943. .side-navbar a:hover { background:#1e2a31; color:white; }
  944. .sidenav-header img { width:70px; border-radius:50%; margin-bottom:10px; }
  945. /* Collapsed sidebar (mobile) */
  946. .side-navbar.collapsed {
  947. left: -220px;
  948. }
  949. /* Content */
  950. .flex-grow-1 {
  951. margin-left: 220px;
  952. transition: margin 0.3s ease;
  953. }
  954. .side-navbar.collapsed ~ .flex-grow-1 {
  955. margin-left: 0;
  956. }
  957. /* Header */
  958. .header { background:white; border-bottom:1px solid #eee; padding:10px 20px; display:flex; justify-content:space-between; align-items:center; }
  959. /* Dashboard cards */
  960. .dashboard-card { background:white; border-radius:8px; padding:15px; box-shadow:0 2px 6px rgba(0,0,0,0.1); text-align:center; }
  961. .dashboard-card i { font-size:2em; margin-bottom:5px; }
  962. /* Toggle button */
  963. #toggle-btn { font-size:1.3em; cursor:pointer; color:#2f3e47; }
  964. /* Responsive */
  965. @media (max-width: 768px) {
  966. .flex-grow-1 { margin-left: 0; }
  967. .side-navbar { left: -220px; }
  968. .side-navbar.collapsed { left: 0; }
  969. }
  970. </style>
  971. {% endblock %}
  972. {% block title %}
  973. {{ parent() }} / Administration
  974. {% endblock %}
  975. {% block main %}
  976. <div class=\"d-flex\">
  977. {# Sidebar #}
  978. {% block sidebar %}
  979. <nav class=\"side-navbar\">
  980. <div class=\"side-navbar-wrapper\">
  981. {% block identification %}
  982. <div class=\"sidenav-header d-flex align-items-center justify-content-center\">
  983. <div class=\"sidenav-header-inner text-center\">
  984. <img src={% if is_granted(\"IS_AUTHENTICATED_REMEMBERED\") %} \"{{ app.user.avatar(75) }}\" {% else %} {{ asset(\"img/avatar-2.jpg\") }} {% endif %} class=\"img-fluid rounded-circle\" alt=\"user-avatar\">
  985. <h2 class=\"h5 text-uppercase\"></h2>
  986. <span class=\"text-uppercase\">
  987. {% if is_granted(\"IS_AUTHENTICATED_REMEMBERED\") %}
  988. {{ app.user.username }}
  989. {% endif %}
  990. </span>
  991. </div>
  992. <div class=\"sidenav-header-logo\">
  993. <a href=\"index.html\" class=\"brand-small text-center\">
  994. <strong></strong>
  995. <strong class=\"text-primary\">D</strong>
  996. </a>
  997. </div>
  998. </div>
  999. {% endblock identification %}
  1000. {% block menu %}
  1001. <div class=\"main-menu\">
  1002. <ul id=\"side-main-menu\" class=\"side-menu list-unstyled\">
  1003. {% if is_granted('ROLE_ADMIN') %}
  1004. <li class=\"{% if app.request.attributes.get('_route') == \"admin_school_years\" %}active{% endif %}\">
  1005. <a href=\"{{ path('admin_school_years') }}\">
  1006. <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>
  1007. <span>Années scolaires</span>
  1008. </a>
  1009. </li>
  1010. <li class=\"{% if app.request.attributes.get('_route') == \"admin_quaters\" %}active{% endif %}\">
  1011. <a href=\"{{ path('admin_quaters') }}\">
  1012. <i class=\"fa fa-calendar-check-o\" aria-hidden=\"true\"></i>
  1013. <span>Trimestres</span>
  1014. </a>
  1015. </li>
  1016. <li class=\"{% if app.request.attributes.get('_route') == \"admin_sequences\" %}active{% endif %}\">
  1017. <a href=\"{{ path('admin_sequences') }}\">
  1018. <i class=\"fa fa-calendar-minus-o\" aria-hidden=\"true\"></i>
  1019. <span>Séquences</span>
  1020. </a>
  1021. </li>
  1022. <li class=\"{% if app.request.attributes.get('_route') == \"admin_programs\" %}active{% endif %}\">
  1023. <a href=\"{{ path('admin_programs') }}\">
  1024. <i class=\"fa fa-table\" aria-hidden=\"true\"></i>
  1025. <span>Programmes</span>
  1026. </a>
  1027. </li>
  1028. <li class=\"{% if app.request.attributes.get('_route') == \"admin_sections\" %}active{% endif %}\">
  1029. <a href=\"{{ path('admin_sections') }}\">
  1030. <i class=\"fa fa-th-large\" aria-hidden=\"true\"></i>
  1031. <span>Sections</span>
  1032. </a>
  1033. </li>
  1034. <li class=\"{% if app.request.attributes.get('_route') == \"admin_cycles\" %}active{% endif %}\">
  1035. <a href=\"{{ path('admin_cycles') }}\">
  1036. <i class=\"fa fa-th-list\" aria-hidden=\"true\"></i>
  1037. <span>Cycles</span>
  1038. </a>
  1039. </li>
  1040. <li class=\"{% if app.request.attributes.get('_route') == \"admin_levels\" %}active{% endif %}\">
  1041. <a href=\"{{ path('admin_levels') }}\">
  1042. <i class=\"fa fa-list-ul\" aria-hidden=\"true\"></i>
  1043. <span>Niveaux</span>
  1044. </a>
  1045. </li>
  1046. <li class=\"{% if app.request.attributes.get('_route') == \"admin_classrooms\" %}active{% endif %}\">
  1047. <a href=\"{{ path('admin_classrooms') }}\">
  1048. <i class=\"fa fa-indent\" aria-hidden=\"true\"></i>
  1049. <span>Classes</span>
  1050. </a>
  1051. </li>
  1052. <li class=\"{% if app.request.attributes.get('_route') == \"admin_modules\" %}active{% endif %}\">
  1053. <a href=\"{{ path('admin_modules') }}\">
  1054. <i class=\"fa fa-folder-open-o\" aria-hidden=\"true\"></i>
  1055. <span>Module</span>
  1056. </a>
  1057. </li>
  1058. <li class=\"{% if app.request.attributes.get('_route') == \"admin_domains\" %}active{% endif %}\">
  1059. <a href=\"{{ path('admin_domains') }}\">
  1060. <i class=\"fa fa-user-md\" aria-hidden=\"true\"></i>
  1061. <span>Departement.</span>
  1062. </a>
  1063. </li>
  1064. <li class=\"{% if app.request.attributes.get('_route') == \"admin_courses\" %}active{% endif %}\">
  1065. <a href=\"{{ path('admin_courses') }}\">
  1066. <i class=\"fa fa-book\" aria-hidden=\"true\"></i>
  1067. <span>Matières</span>
  1068. </a>
  1069. </li>
  1070. <li class=\"{% if app.request.attributes.get('_route') == \"admin_subscriptions\" %}active{% endif %}\">
  1071. <a href=\"{{ path('admin_subscriptions') }}\">
  1072. <i class=\"fa fa-exchange\" aria-hidden=\"true\"></i>
  1073. <span>Inscriptions</span>
  1074. </a>
  1075. </li>
  1076. <li class=\"{% if app.request.attributes.get('_route') == \"admin_students\" %}active{% endif %}\">
  1077. <a href=\"{{ path('admin_students', { 'type': \"new_students_not_yet_registered_checkbox\" }) }}\">
  1078. <i class=\"fa fa-users\"></i>
  1079. <span>Eleves</span>
  1080. </a>
  1081. </li>
  1082. <li class=\"{% if app.request.attributes.get('_route') == \"admin_attributions\" %}active{% endif %}\">
  1083. <a href=\"{{ path('admin_attributions') }}\">
  1084. <i class=\"fa fa-map-signs\" aria-hidden=\"true\"></i>
  1085. <span>Attributions</span>
  1086. </a>
  1087. </li>
  1088. <li class=\"{% if app.request.attributes.get('_route') == \"admin_users\" %}active{% endif %}\">
  1089. <a href=\"{{ path('admin_users') }}\">
  1090. <i class=\"fa fa-user\" aria-hidden=\"true\"></i>
  1091. <span>Personnel</span>
  1092. </a>
  1093. </li>
  1094. {# ================================================= #}
  1095. {# ================= MENU FINANCES ================= #}
  1096. {# ================================================= #}
  1097. <li class=\"
  1098. {% if app.request.attributes.get('_route') starts with 'app_finance_' %}
  1099. active
  1100. {% endif %}
  1101. \">
  1102. <a href=\"{{ path('app_finance_dashboard') }}\">
  1103. <i class=\"fa fa-money\"></i>
  1104. <span>Finances</span>
  1105. </a>
  1106. <ul class=\"list-unstyled\">
  1107. <li class=\"{% if app.request.attributes.get('_route') == 'app_finance_dashboard' %}active{% endif %}\">
  1108. <a href=\"{{ path('app_finance_dashboard') }}\">
  1109. <i class=\"fa fa-dashboard\"></i>
  1110. Tableau de bord
  1111. </a>
  1112. </li>
  1113. <li class=\"{% if app.request.attributes.get('_route') starts with 'app_finance_fee_definition' %}active{% endif %}\">
  1114. <a href=\"{{ path('app_finance_fee_definition_index') }}\">
  1115. <i class=\"fa fa-list-alt\"></i>
  1116. Définitions des frais
  1117. </a>
  1118. </li>
  1119. <li class=\"{% if app.request.attributes.get('_route') starts with 'app_finance_payment_' %}active{% endif %}\">
  1120. <a href=\"{{ path('app_finance_payment_list') }}\">
  1121. <i class=\"fa fa-credit-card\"></i>
  1122. Paiements
  1123. </a>
  1124. </li>
  1125. </ul>
  1126. </li>
  1127. {# ============== FIN MENU FINANCES ============== #}
  1128. <li class=\"{% if app.request.attributes.get('_route') == \"financial_scope_index\" %}active{% endif %}\">
  1129. <a href=\"{{ path('financial_scope_index') }}\">
  1130. <i class=\"fa fa-hand-holding-usd\" aria-hidden=\"true\"></i>
  1131. <span>Financier</span>
  1132. </a>
  1133. </li>
  1134. <li class=\"{% if app.request.attributes.get('_route') == \"admin_statistics\" %}active{% endif %}\">
  1135. <a href=\"{{ path('admin_statistics') }}\">
  1136. <i class=\"fa fa-area-chart\" aria-hidden=\"true\"></i>
  1137. <span>Statistiques</span>
  1138. </a>
  1139. </li>
  1140. {% endif %}
  1141. <li class=\"{% if app.request.attributes.get('_route') == \"admin_evaluations\" %}active{% endif %}\">
  1142. <a href=\"{{ path('admin_evaluations') }}\">
  1143. <i class=\"fa fa-file-pdf-o\" aria-hidden=\"true\"></i>
  1144. <span>Evaluations</span>
  1145. </a>
  1146. </li>
  1147. {% if is_granted('ROLE_DISCIPLINE') %}
  1148. <li class=\"{% if app.request.attributes.get('_route') == \"admin_abscences_sheet_index\" %}active{% endif %}\">
  1149. <a href=\"{{ path('admin_abscences_sheet_index') }}\">
  1150. <i class=\"fa fa-exclamation-triangle\" aria-hidden=\"true\"></i>
  1151. <span>Discipline</span>
  1152. </a>
  1153. </li>
  1154. {% endif %}
  1155. {% if is_granted('ROLE_FINANCIAL') %}
  1156. <li class=\"{% if app.request.attributes.get('_route') == \"app_payment_index\" %}active{% endif %}\">
  1157. <a href=\"{{ path('app_payment_index') }}\">
  1158. <i class=\"fa fa-credit-card\" aria-hidden=\"true\"></i>
  1159. <span>Payment</span>
  1160. </a>
  1161. </li>
  1162. <li class=\"{% if app.request.attributes.get('_route') == \"admin_paymentPlans\" %}active{% endif %}\">
  1163. <a href=\"{{ path('admin_paymentPlans') }}\">
  1164. <i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i>
  1165. <span>Scolarite</span>
  1166. </a>
  1167. </li>
  1168. {% endif %}
  1169. <li class=\"{% if app.request.attributes.get('_route') == \"app_account\" %}active{% endif %}\">
  1170. <a href=\"{{ path('app_account') }}\">
  1171. <i class=\"fa fa-user-circle\"></i>
  1172. <span>Account</span>
  1173. </a>
  1174. </li>
  1175. </ul>
  1176. </div>
  1177. {% endblock menu %}
  1178. </div>
  1179. </nav>
  1180. {% endblock sidebar %}
  1181. <div class=\"page home-page\">
  1182. {% block header %}
  1183. <header class=\"header d-flex align-items-center justify-content-between\">
  1184. <a id=\"toggle-btn\" href=\"#\" class=\"menu-btn\"><i class=\"fa fa-bars\"></i></a>
  1185. <a href=\"{{ path('app_home') }}\" class=\"navbar-brand text-center\">
  1186. <strong class=\"text-primary\">SCHOOL MANAGEMENT SYSTEM</strong>
  1187. </a>
  1188. {% if app.user %}
  1189. <a id=\"logout_btn\" href=\"#\" onclick=\"event.preventDefault(); document.getElementById('js-logout-form').submit();\" class=\"btn btn-warning\">
  1190. <i class=\"fa fa-sign-out\"></i>
  1191. </a>
  1192. <form id=\"js-logout-form\" action=\"{{ path('app_logout') }}\" style=\"display:none;\" method=\"POST\">
  1193. <input type=\"hidden\" name=\"_csrf_token\" value=\"{{ csrf_token('logout') }}\">
  1194. </form>
  1195. {% endif %}
  1196. </header>
  1197. {% endblock %}
  1198. <section class=\"container-fluid mt-4\">
  1199. {% if is_granted('ROLE_ADMIN') %}
  1200. <div class=\"row mb-4\">
  1201. <div class=\"col-md-3\">
  1202. <div class=\"dashboard-card text-center\">
  1203. <i class=\"fa fa-graduation-cap text-primary\"></i>
  1204. <h4>{{ students_count() }}</h4>
  1205. <p>Élèves</p>
  1206. </div>
  1207. </div>
  1208. <div class=\"col-md-3\">
  1209. <div class=\"dashboard-card text-center\">
  1210. <i class=\"fa fa-users text-success\"></i>
  1211. <h4>{{ teachers_count() }}</h4>
  1212. <p>Enseignants</p>
  1213. </div>
  1214. </div>
  1215. <div class=\"col-md-3\">
  1216. <div class=\"dashboard-card text-center\">
  1217. <i class=\"fa fa-home text-warning\"></i>
  1218. <h4>{{ rooms_count() }}</h4>
  1219. <p>Classes</p>
  1220. </div>
  1221. </div>
  1222. <div class=\"col-md-3\">
  1223. <select class=\"form-control\" id=\"select_year\">
  1224. {% for year in years()|reverse %}
  1225. <option value=\"{{ year.id }}\" {% if app.session.get('session_school_year') == year.id %}selected{% endif %}>{{ year.code }}</option>
  1226. {% endfor %}
  1227. </select>
  1228. </div>
  1229. </div>
  1230. {% endif %}
  1231. {% block content %}{% endblock %}
  1232. </section>
  1233. </div>
  1234. </div>
  1235. {% endblock %}
  1236. {% block footer %}{% endblock %}
  1237. {% block javascripts %}
  1238. {{ parent() }}
  1239. <script src=\"{{ asset('assets/js/jquery.cookie.js') }}\"></script>
  1240. <script src=\"{{ asset('assets/js/grasp_mobile_progress_circle-1.0.0.min.js') }}\"></script>
  1241. <script src=\"{{ asset('assets/js/jquery.validate.min.js') }}\"></script>
  1242. <script src=\"{{ asset('assets/js/jquery.mCustomScrollbar.concat.min.js') }}\"></script>
  1243. <script>
  1244. // Toggle sidebar menu
  1245. \$('#toggle-btn').on('click', function(e) {
  1246. e.preventDefault();
  1247. \$('.side-navbar').toggleClass('collapsed');
  1248. });
  1249. // Changement d'année scolaire
  1250. \$('#select_year').on('change', function() {
  1251. \$.ajax({
  1252. type: \"POST\",
  1253. url: \"{{ path('update_school_year') }}\",
  1254. data: { selectedSchoolYear: \$(this).val() },
  1255. success: function(){ location.reload(); },
  1256. error: function(e){ console.log(e); alert(\"Echec.\"); }
  1257. });
  1258. });
  1259. </script>
  1260. {% endblock %}", "layout/backEndLayout.html.twig", "/var/www/bethesda/templates/layout/backEndLayout.html.twig");
  1261. }
  1262. }