templates/layout/backEndLayout.html.twig line 16

Open in your IDE?
  1. {% extends 'layout/base.html.twig' %}
  2. {% block stylesheets %}
  3. {{ parent() }}
  4. <link href="{{ asset('assets/css/grasp_mobile_progress_circle-1.0.0.min.css') }}" rel="stylesheet" type="text/css" />
  5. <link href="{{ asset('assets/css/jquery.mCustomScrollbar.css') }}" rel="stylesheet" type="text/css" />
  6. <link rel="stylesheet" href="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css') }}">
  7. <link href="{{ asset('assets/css/style.blue.css') }}" rel="stylesheet" type="text/css" />
  8. {% endblock %}
  9. {% block title %}
  10. {{ parent() }}
  11. /Administration
  12. {% endblock %}
  13. {% block main %}
  14. {% block sidebar %}
  15. <nav class="side-navbar">
  16. <div class="side-navbar-wrapper">
  17. {% block identification %}
  18. <div class="sidenav-header d-flex align-items-center justify-content-center">
  19. <div class="sidenav-header-inner text-center">
  20. <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">
  21. <h2 class="h5 text-uppercase"></h2>
  22. <span class="text-uppercase">
  23. {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
  24. {{ app.user.username }}
  25. {% endif %}
  26. </span>
  27. </div>
  28. <div class="sidenav-header-logo">
  29. <a href="index.html" class="brand-small text-center">
  30. <strong></strong>
  31. <strong class="text-primary">
  32. D
  33. </strong>
  34. </a>
  35. </div>
  36. </div>
  37. {% endblock identification %}
  38. {% block menu %}
  39. <div class="main-menu">
  40. <ul id="side-main-menu" class="side-menu list-unstyled">
  41. {% if is_granted('ROLE_ADMIN') %}
  42. <li class="{% if app.request.attributes.get('_route') == "admin_school_years" %}active{% endif %}">
  43. <a href="{{ path('admin_school_years') }}">
  44. <i class="fa fa-calendar" aria-hidden="true"></i>
  45. Années scolaires
  46. </a>
  47. </li>
  48. <li class="{% if app.request.attributes.get('_route') == "admin_quaters" %}active{% endif %}">
  49. <a href="{{ path('admin_quaters') }}">
  50. <i class="fa fa-calendar-check-o" aria-hidden="true"></i>
  51. Trimestres
  52. </a>
  53. </li>
  54. <li class="{% if app.request.attributes.get('_route') == "admin_sequences" %}active{% endif %}">
  55. <a href="{{ path('admin_sequences') }}">
  56. <i class="fa fa-calendar-minus-o" aria-hidden="true"></i>
  57. Séquences
  58. </a>
  59. </li>
  60. <li class="{% if app.request.attributes.get('_route') == "admin_programs" %}active{% endif %}">
  61. <a href="{{ path('admin_programs') }}">
  62. <i class="fa fa-table" aria-hidden="true"></i>
  63. Programmes
  64. </a>
  65. </li>
  66. <li class="{% if app.request.attributes.get('_route') == "admin_sections" %}active{% endif %}">
  67. <a href="{{ path('admin_sections') }}">
  68. <i class="fa fa-th-large" aria-hidden="true"></i>
  69. Sections
  70. </a>
  71. </li>
  72. <li class="{% if app.request.attributes.get('_route') == "admin_cycles" %}active{% endif %}">
  73. <a href="{{ path('admin_cycles') }}">
  74. <i class="fa fa-th-list" aria-hidden="true"></i>
  75. Cycles
  76. </a>
  77. </li>
  78. <li class="{% if app.request.attributes.get('_route') == "admin_levels" %}active{% endif %}">
  79. <a href="{{ path('admin_levels') }}">
  80. <i class="fa fa-list-ul" aria-hidden="true"></i>
  81. Niveaux
  82. </a>
  83. </li>
  84. <li class="{% if app.request.attributes.get('_route') == "admin_modules" %}active{% endif %}">
  85. <a href="{{ path('admin_modules') }}">
  86. <i class="fa fa-folder-open-o" aria-hidden="true"></i>
  87. Module
  88. </a>
  89. </li>
  90. <li class="{% if app.request.attributes.get('_route') == "admin_domains" %}active{% endif %}">
  91. <a href="{{ path('admin_domains') }}">
  92. <i class="fa fa-user-md" aria-hidden="true"></i>
  93. Departement.
  94. </a>
  95. </li>
  96. <li class="{% if app.request.attributes.get('_route') == "admin_courses" %}active{% endif %}">
  97. <a href="{{ path('admin_courses') }}">
  98. <i class="fa fa-book" aria-hidden="true"></i>
  99. Matières
  100. </a>
  101. </li>
  102. <li class="{% if app.request.attributes.get('_route') == "admin_subscriptions" %}active{% endif %}">
  103. <a href="{{ path('admin_subscriptions') }}">
  104. <i class="fa fa-exchange" aria-hidden="true"></i>
  105. Inscriptions
  106. </a>
  107. </li>
  108. <li class="{% if app.request.attributes.get('_route') == "admin_students" %}active{% endif %}">
  109. <a href="{{ path('admin_students', { 'type': "new_students_not_yet_registered_checkbox" }) }}">
  110. <i class="fa fa-users"></i>
  111. Eleves
  112. </a>
  113. </li>
  114. <li class="{% if app.request.attributes.get('_route') == "admin_attributions" %}active{% endif %}">
  115. <a href="{{ path('admin_attributions') }}">
  116. <i class="fa fa-map-signs" aria-hidden="true"></i>
  117. Attributions
  118. </a>
  119. </li>
  120. <li class="{% if app.request.attributes.get('_route') == "admin_users" %}active{% endif %}">
  121. <a href="{{ path('admin_users') }}">
  122. <i class="fa fa-user" aria-hidden="true"></i>
  123. Professeurs
  124. </a>
  125. </li>
  126. <li class="{% if app.request.attributes.get('_route') == "admin_statistics" %}active{% endif %}">
  127. <a href="{{ path('admin_statistics') }}">
  128. <i class="fa fa-area-chart" aria-hidden="true"></i>
  129. Statistiques
  130. </a>
  131. </li>
  132. <li class="{% if app.request.attributes.get('_route') == "admin_classrooms" %}active{% endif %}">
  133. <a href="{{ path('admin_classrooms') }}">
  134. <i class="fa fa-indent" aria-hidden="true"></i>
  135. Classes
  136. </a>
  137. </li>
  138. {% endif %}
  139. <li class="{% if app.request.attributes.get('_route') == "admin_evaluations" %}active{% endif %}">
  140. <a href="{{ path('admin_evaluations') }}">
  141. <i class="fa fa-file-pdf-o" aria-hidden="true"></i>
  142. Evaluations
  143. </a>
  144. </li>
  145. {% if is_granted('ROLE_DISCIPLINE') %}
  146. <li class="{% if app.request.attributes.get('_route') == "admin_abscences_sheet_index" %}active{% endif %}">
  147. <a href="{{ path('admin_abscences_sheet_index') }}">
  148. <i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
  149. Discipline
  150. </a>
  151. </li>
  152. {% endif %}
  153. {% if is_granted('ROLE_FINANCIAL') %}
  154. <li class="{% if app.request.attributes.get('_route') == "app_payment_index" %}active{% endif %}">
  155. <a href="{{ path('app_payment_index') }}">
  156. <i class="fa fa-money" aria-hidden="true"></i>
  157. Payment
  158. </a>
  159. </li>
  160. <li class="{% if app.request.attributes.get('_route') == "admin_paymentPlans" %}active{% endif %}">
  161. <a href="{{ path('admin_paymentPlans') }}">
  162. <i class="fa fa-clock-o" aria-hidden="true"></i>
  163. Scolarite
  164. </a>
  165. </li>
  166. {% endif %}
  167. {#<li class="{% if app.request.attributes.get('_route') == "admin_emails" %}active{% endif %}">
  168. <a href="{{ path('admin_emails')}}"><i class="fa fa-credit-card" aria-hidden="true"></i>Messages</a>
  169. </li>
  170. <li class="{% if app.request.attributes.get('_route') == "admin_payes" %}active{% endif %}">
  171. <a href="{{ path('admin_payes')}}"><i class="fa fa-money" aria-hidden="true"></i>Versement</a>
  172. </li>
  173. <HR size="0.8" align="center" width="80%" color="white">
  174. {#
  175. <HR size="0.8" align="center" width="80%" color="white">
  176. <li class="{% if app.request.attributes.get('_route') == "admin_tables" %}active{% endif %}">
  177. <a href="{{ path('admin_tables')}}">
  178. <i class="fa fa-filter" aria-hidden="true"></i>
  179. <span>Filtres
  180. </span>
  181. </a>
  182. </li>
  183. <li class="{% if app.request.attributes.get('_route') == "admin_graphs" %}active{% endif %}">
  184. <a href="{{ path('admin_graphs')}}">
  185. <i class="fa fa-bar-chart" aria-hidden="true"></i>
  186. <span>Graphes
  187. </span>
  188. </a>
  189. </li>
  190. #}
  191. <li class="{% if app.request.attributes.get('_route') == "app_account" %}active{% endif %}">
  192. <a href="{{ path('app_account') }}">
  193. <i class="fa fa-user-circle"></i>
  194. Account
  195. </a>
  196. </li>
  197. </ul>
  198. </div>
  199. {% endblock menu %}
  200. </div>
  201. </nav>
  202. {% endblock sidebar %}
  203. <div class="page home-page">
  204. {% block header %}
  205. <header class="header">
  206. <nav class="navbar">
  207. <div class="container-fluid">
  208. <div class="navbar-holder d-flex justify-content-around">
  209. <div class="navbar-header">
  210. <a id="toggle-btn" href="#" class="menu-btn">
  211. <i class="fa fa-bars" aria-hidden="true"></i>
  212. </a>
  213. <a href="{{ path('app_home') }}" class="navbar-brand text-center">
  214. <div class="brand-text d-none d-md-inline-block">
  215. <strong class="text-primary">
  216. SCHOOL MANAGEMENT SYSTEM
  217. </strong>
  218. </div>
  219. </a>
  220. {% if app.user %}
  221. <a id="logout_btn" href="#" onclick="event.preventDefault(); document.getElementById('js-logout-form').submit();" class="btn text-right btn-warning">
  222. <i class="fa fa-sign-out" aria-hidden="true"></i>
  223. </a>
  224. <form id="js-logout-form" action="{{ path('app_logout') }}" style="dislay:none;" method="POST">
  225. <input type="hidden" name="_csrf_token" value="{{ csrf_token('logout') }}" />
  226. </form>
  227. {% endif %}
  228. </div>
  229. </div>
  230. </div>
  231. </nav>
  232. <section class="container-fluid">
  233. {% if is_granted('ROLE_ADMIN') %}
  234. <div class="row m-2">
  235. <div class="col-xl-2 col-md-4 col-6">
  236. <div class="wrapper count-title d-flex">
  237. <div class="icon">
  238. <i class="fa fa-graduation-cap" aria-hidden="true"></i>
  239. </div>
  240. <div class="name">
  241. <strong class="text-uppercase">
  242. &nbsp; {{ students_count() }} &nbsp; eleves
  243. </strong>
  244. </div>
  245. </div>
  246. </div>
  247. <div class="col-xl-2 col-md-4 col-6">
  248. <div class="wrapper count-title d-flex">
  249. <div class="icon">
  250. <i class="fa fa-users" aria-hidden="true"></i>
  251. </div>
  252. <div class="name">
  253. <strong class="text-uppercase">
  254. &nbsp; {{ teachers_count() }} &nbsp; enseigants
  255. </strong>
  256. </div>
  257. </div>
  258. </div>
  259. <div class="col-xl-2 col-md-4 col-6">
  260. <div class="wrapper count-title d-flex">
  261. <div class="icon">
  262. <i class="fa fa-users"></i>
  263. </div>
  264. <div class="name">
  265. <strong class="text-uppercase">
  266. &nbsp; {# insolvents() #} &nbsp; insolvables
  267. </strong>
  268. </div>
  269. </div>
  270. </div>
  271. <div class="col-xl-2 col-md-4 col-6">
  272. <div class="wrapper count-title d-flex">
  273. <div class="form-group">
  274. <select class="custom-select form-select form-control" id="select_year">
  275. {% for year in years()|reverse %}
  276. {% if app.session.has('session_school_year') %}
  277. <option {% if app.session.get('session_school_year')== year.id %}selected{% endif %} value={{year.id}}>{{year.code}}</option>
  278. {% else %}
  279. <option value={{year.id}}>{{year.code}}</option>
  280. {% endif %}
  281. {% endfor %}
  282. </select>
  283. </div>
  284. </div>
  285. </div>
  286. <div class="col-xl-2 col-md-4 col-6">
  287. <div class="wrapper count-title d-flex">
  288. <div class="icon">
  289. <i class="icon-list"></i>
  290. </div>
  291. <div class="name">
  292. <strong class="text-uppercase">
  293. &nbsp; {{ rooms_count() }} &nbsp; classes
  294. </strong>
  295. <div class="count-number"></div>
  296. </div>
  297. </div>
  298. </div>
  299. <div class="col-xl-2 col-md-4 col-6">
  300. <div class="wrapper count-title d-flex">
  301. <div class="icon">
  302. <i class="fa fa-home" aria-hidden="true"></i>
  303. </div>
  304. <div class="name">
  305. <strong class="text-uppercase">
  306. </strong>
  307. </div>
  308. </div>
  309. </div>
  310. </div>
  311. </div>
  312. {% endif %}
  313. </section>
  314. </header>
  315. {% endblock header %}
  316. </div>
  317. <section class=" section-padding row">
  318. <article class="row">
  319. <aside class="col-2"></aside>
  320. <section class="col-10">
  321. {% block content %}{% endblock content %}
  322. </section>
  323. </article>
  324. </section>
  325. {% endblock main %}
  326. {% block footer %}{% endblock footer %}
  327. {% block javascripts %}
  328. {{ parent() }}
  329. <script type="text/javascript" src="{{ asset('assets/js/jquery.cookie.js') }}"></script>
  330. <script type="text/javascript" src="{{ asset('assets/js/grasp_mobile_progress_circle-1.0.0.min.js') }}"></script>
  331. <script type="text/javascript" src="{{ asset('assets/js/jquery.validate.min.js') }}"></script>
  332. <script type="text/javascript" src="{{ asset('assets/js/jquery.mCustomScrollbar.concat.min.js') }}"></script>
  333. <script type="text/javascript">
  334. $('#select_year').on('change', function() {
  335. postData = {
  336. "selectedSchoolYear": $(this).val()
  337. };
  338. $.ajax({
  339. type: "POST",
  340. url: "{{ path('update_school_year') }}",
  341. data: postData,
  342. datatype: "json",
  343. success: function (data) {
  344. console.log("Changement d'annee.");
  345. location.reload();
  346. },
  347. error: function (e) {
  348. console.log(e.message);
  349. alert("Echec.");
  350. }
  351. });
  352. });
  353. </script>
  354. {% endblock javascripts %}