templates\base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6. <meta name="description" content="Entreprise de restauration spécialisée dans la préparation de repas pour toutes les occasions." />
  7. <meta name="author" content="Jean Laurent Royer" />
  8. <!-- Favicon-->
  9. <link rel="icon" type="image/x-icon" href="{{ asset('assets/favicon.ico') }}" />
  10. <!-- Bootstrap CSS -->
  11. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  12. <!-- Core theme CSS (includes Bootstrap)-->
  13. <link href="{{ asset('css/styles.css') }}" rel="stylesheet" type="text/css"/>
  14. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  15. {% block stylesheets %}
  16. {% endblock %}
  17. <title>Vite &amp; Gourmand - {% block title %}{% endblock %}</title>
  18. </head>
  19. <body>
  20. <nav class="navbar navbar-expand-lg navbar-light {% if app.user and 'ROLE_ADMIN' in app.user.roles %}ROLE_ADMIN{% elseif app.user and 'ROLE_USER' in app.user.roles %}ROLE_USER{% elseif app.user and 'ROLE_USE' in app.user.roles %}ROLE_USE{% else %}bg-light{% endif %}">
  21. <div class="container px-4 px-lg-5 py-3">
  22. <a class="navbar-brand" href="{{ path('homepage') }}"><img src="{{ asset('assets/favicon.png') }}" alt="Favicon">Vite &amp; Gourmand</a>
  23. <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  24. <span class="navbar-toggler-icon"></span>
  25. </button>
  26. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  27. <ul class="navbar-nav me-auto mb-2 mb-lg-0 ms-lg-4">
  28. {% if app.user %}
  29. <li class="nav-item">
  30. <span class="nav-link">Bienvenue {{ app.user.prenom }} {{ app.user.nom }} !</span>
  31. </li>
  32. {% endif %}
  33. <li class="nav-item">
  34. <a class="nav-link {{ app.request.get('_route') == 'homepage' ? 'active' : '' }}" href="{{ path('homepage') }}">Accueil</a>
  35. </li>
  36. <li class="nav-item dropdown">
  37. <a class="nav-link dropdown-toggle" id="navbarDropdown" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Tous les menus</a>
  38. <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
  39. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_menu' ? 'active' : '' }}" href="{{ path('app_menu_liste') }}">Menus</a></li>
  40. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_plat' ? 'active' : '' }}" href="{{ path('app_plat_liste') }}">Plats</a></li>
  41. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_theme' ? 'active' : '' }}" href="{{ path('app_theme_liste') }}">Themes</a></li>
  42. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_allergene' ? 'active' : '' }}" href="{{ path('app_allergene_liste') }}">Allergènes</a></li>
  43. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_regime' ? 'active' : '' }}" href="{{ path('app_regime_liste') }}">Regimes</a></li>
  44. </ul>
  45. </li>
  46. {% if app.user and 'ROLE_ADMIN' in app.user.roles %}
  47. <li class="nav-item dropdown">
  48. <a class="nav-link dropdown-toggle" id="navbarDropdown" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Administration</a>
  49. <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
  50. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_utilisateur' ? 'active' : '' }}" href="{{ path('app_utilisateur_liste') }}">Utilisateurs</a></li>
  51. <li><hr class="dropdown-divider" /></li>
  52. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_avis' ? 'active' : '' }}" href="{{ path('app_avis_liste') }}">Avis</a></li>
  53. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_horaire' ? 'active' : '' }}" href="{{ path('app_horaire_liste') }}">Horaires</a></li>
  54. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_commande' ? 'active' : '' }}" href="{{ path('app_commande_liste') }}">Commandes</a></li>
  55. </ul>
  56. </li>
  57. {% endif %}
  58. {% if app.user and 'ROLE_USE' in app.user.roles %}
  59. <li class="nav-item dropdown">
  60. <a class="nav-link dropdown-toggle" id="navbarDropdown" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Employés</a>
  61. <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
  62. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_utilisateur' ? 'active' : '' }}" href="{{ path('app_utilisateur_liste') }}">Utilisateurs</a></li>
  63. <li><hr class="dropdown-divider" /></li>
  64. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_avis' ? 'active' : '' }}" href="{{ path('app_avis_liste') }}">Avis</a></li>
  65. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_horaire' ? 'active' : '' }}" href="{{ path('app_horaire_liste') }}">Horaires</a></li>
  66. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_commande' ? 'active' : '' }}" href="{{ path('app_commande_liste') }}">Commandes</a></li>
  67. </ul>
  68. </li>
  69. {% endif %}
  70. {% if app.user and 'ROLE_USER' in app.user.roles %}
  71. <li class="nav-item dropdown">
  72. <a class="nav-link dropdown-toggle" id="navbarDropdown" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Compte</a>
  73. <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
  74. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_profile' ? 'active' : '' }}" href="{{ path('app_profile_index') }}">Profil</a></li>
  75. <li><hr class="dropdown-divider" /></li>
  76. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_avis' ? 'active' : '' }}" href="{{ path('app_avis_liste') }}">Avis</a></li>
  77. <li><a class="dropdown-item {{ app.request.get('_route') starts with 'app_commande' ? 'active' : '' }}" href="{{ path('app_commande_liste') }}">Commandes</a></li>
  78. </ul>
  79. </li>
  80. {% endif %}
  81. {% if app.user %}
  82. <li class="nav-item">
  83. <a class="nav-link" href="{{ path('app_security_logout') }}">Déconnexion</a>
  84. </li>
  85. {% else %}
  86. <li class="nav-item">
  87. <a class="nav-link {{ app.request.get('_route') == 'app_security_login' ? 'active' : '' }}" href="{{ path('app_security_login') }}">Connexion</a>
  88. </li>
  89. <li class="nav-item">
  90. <a class="nav-link {{ app.request.get('_route') == 'app_registration_register' ? 'active' : '' }}" href="{{ path('app_registration_register') }}">Inscription</a>
  91. </li>
  92. {% endif %}
  93. <li class="nav-item">
  94. <a class="nav-link {{ app.request.get('_route') == 'homepage_contact' ? 'active' : '' }}" href="{{ path('homepage_contact') }}">Contact</a>
  95. </li>
  96. </ul>
  97. </div>
  98. </div>
  99. </nav>
  100. {% for message in app.flashes('success') %}
  101. <div class="alert alert-success">
  102. {{ message }}
  103. </div>
  104. {% endfor %}
  105. {% for message in app.flashes('warning') %}
  106. <div class="alert alert-warning">
  107. {{ message }}
  108. </div>
  109. {% endfor %}
  110. {% for message in app.flashes('danger') %}
  111. <div class="alert alert-danger">
  112. {{ message }}
  113. </div>
  114. {% endfor %}
  115. {% block content %}{% endblock %}
  116. <div id="divdialog" style="visibility:hidden"></div>
  117. <!-- Footer-->
  118. <footer class="py-5 bg-dark">
  119. <div class="container">
  120. <div class="row">
  121. <div class="col-lg-6 col-md-6 mb-4 mb-md-0">
  122. <p class="m-0 text-white" id="Horaire">
  123. Horaires d'ouverture : <br>
  124. <script>
  125. var horaireUrl = "{{ path('homepage_horaire') }}";
  126. let oHttp = new XMLHttpRequest();
  127. oHttp.open("POST", horaireUrl);
  128. oHttp.onreadystatechange = function () {
  129. if (oHttp.readyState === 4) {
  130. if (oHttp.responseText.length!=0) {
  131. document.getElementById("Horaire").innerHTML += oHttp.responseText;
  132. }
  133. }
  134. };
  135. oHttp.send();
  136. </script>
  137. </p>
  138. </div>
  139. <div class="col-lg-6 col-md-6 mb-4 mb-md-0">
  140. <h5 class="text-uppercase text-white">Vite &amp; Gourmand</h5>
  141. <p class="m-0 text-white">Entreprise de restauration spécialisée dans la préparation de repas pour toutes les occasions.</p>
  142. </div>
  143. <div class="col-lg-6 col-md-6 mb-4 mb-md-0">
  144. <h5 class="text-uppercase text-white">Contact</h5>
  145. <p class="m-0 text-white">Adresse : 4 Rue du 11 novembre, 33000 Bordeaux, France</p>
  146. <p class="m-0 text-white">Téléphone : +33 1 34 68 26 01</p>
  147. <p class="m-0 text-white">Email : contact@viteetgourmand.fr</p>
  148. </div>
  149. </div>
  150. <div class="row">
  151. <p class="m-0 text-center text-white">
  152. <table class="table table-dark table-striped text-center">
  153. <tr>
  154. <td><a href="{{ path('homepage') }}" class="text-white">&copy;Vite &amp; Gourmand</a> - 2026 - Tous droits réservés.</td>
  155. </tr>
  156. <tr>
  157. <td><a href="{{ path('homepage_conditiongeneralcgv') }}" class="text-white">Conditions générales de ventes (CGV).</a></td>
  158. </tr>
  159. <tr>
  160. <td><a href="{{ path('homepage_conditiongeneralcgu') }}" class="text-white">Conditions générales d'utilisation (CGU).</a></td>
  161. </tr>
  162. <tr>
  163. <td><a href="{{ path('homepage_mentionlegal') }}" class="text-white">Mention légale.</a></td>
  164. </tr>
  165. </table>
  166. </p>
  167. </div>
  168. </div>
  169. </footer>
  170. {% block scripts %}
  171. <!-- jQuery first, then Popper.js, then Bootstrap JS -->
  172. <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  173. <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  174. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  175. <!-- Bootstrap core JS-->
  176. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
  177. <!-- Core theme JS-->
  178. <script src="{{ asset('js/scripts.js') }}" type="text/javascript"></script>
  179. {% endblock %}
  180. {% block formscripts %}
  181. {% endblock %}
  182. </body>
  183. </html>