base.html.twig 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>{% block title %}VideoPotes{% endblock %}</title>
  6. <link rel="stylesheet" href="{{ asset('build/app.css') }}">
  7. {% block stylesheets %}{% endblock %}
  8. <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
  9. </head>
  10. <body style="padding-top:5rem;">
  11. <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
  12. <a class="navbar-brand" href="{{ path('videotheque_liste') }}">Videothèque</a>
  13. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="/" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
  14. <span class="navbar-toggler-icon"></span>
  15. </button>
  16. <div class="collapse navbar-collapse" id="navbarsExampleDefault">
  17. {% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
  18. <ul class="navbar-nav mr-auto">
  19. <li class="nav-item">
  20. <a class="nav-link" href="{{ path('videothequepersonnelle_maliste') }}">Ma liste de films<span class="sr-only">(current)</span></a>
  21. </li>
  22. <li class="nav-item">
  23. <a class="nav-link" href="{{ path('videotheque_liste') }}">Liste des films<span class="sr-only">(current)</span></a>
  24. </li>
  25. <li class="nav-item">
  26. <a class="nav-link" href="{{ path('realisateur_liste') }}">Liste des réalisateurs<span class="sr-only">(current)</span></a>
  27. </li>
  28. {% if is_granted('ROLE_MODERATEUR') %}
  29. <ul class="navbar-nav">
  30. <li class="nav-item dropdown">
  31. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownAdmin" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  32. Administration
  33. </a>
  34. <div class="dropdown-menu" aria-labelledby="navbarDropdown">
  35. {% if is_granted('ROLE_ADMIN') %}
  36. <a class="dropdown-item" href="{{ path('admin_index') }}">Utilisateurs</a>
  37. <div class="dropdown-divider"></div>
  38. {% endif %}
  39. <a class="dropdown-item" href="{{ path('genre_liste') }}">Liste des genres</a>
  40. {#<div class="dropdown-divider"></div>
  41. <a class="dropdown-item" href="{{ path('admin_resettokens') }}">Reset Tokens</a>
  42. #}
  43. </div>
  44. </li>
  45. </ul>
  46. {% endif %}
  47. </ul>
  48. <form class="form-inline my-2 my-lg-0" action="{{ path('search_recherche') }}">
  49. <input class="form-control mr-sm-2" name="q" type="text" placeholder="Rechercher" aria-label="Rechercher">
  50. <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Go</button>
  51. </form>
  52. {% endif %}
  53. {% if not is_granted('IS_AUTHENTICATED_REMEMBERED') %}
  54. <ul class="navbar-nav">
  55. <li class="nav-item"><a class="nav-link" href="{{ path('login') }}">Se connecter</a></li>
  56. </ul>
  57. {% else %}
  58. <ul class="navbar-nav">
  59. <li class="nav-item dropdown">
  60. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  61. {{ app.user.nomComplet }}
  62. </a>
  63. <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
  64. <a class="dropdown-item" href="{{ path('user_profil') }}">Profil</a>
  65. <div class="dropdown-divider"></div>
  66. <a class="dropdown-item" href="{{ path('logout') }}">Se déconnecter</a>
  67. </div>
  68. </li>
  69. </ul>
  70. {% endif %}
  71. </div>
  72. </nav>
  73. <div class="container-fluid">
  74. <header>
  75. <h1>{% block titre %}{% endblock %}</h1>
  76. </header>
  77. <main role="main">
  78. <div>
  79. {#{% for message in app.flashes('success') %}
  80. <div class="alert alert-success alert-dismissible fade show" role="alert">
  81. <strong>Succès</strong> {{ message }}
  82. <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  83. <span aria-hidden="true">&times;</span>
  84. </button>
  85. </div>
  86. {% endfor %}
  87. {% for message in app.flashes('warning') %}
  88. <div class="alert alert-warning alert-dismissible fade show" role="alert">
  89. <strong>Attention</strong> {{ message }}
  90. <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  91. <span aria-hidden="true">&times;</span>
  92. </button>
  93. </div>
  94. {% endfor %}
  95. #}
  96. {% for type, messages in app.session.flashBag.all %}
  97. {% for message in messages %}
  98. {% if type == 'error' %}{% set type = 'danger' %} {% endif %}
  99. <div data-toggle="notify" data-message="{{ message }}" data-type="{{ type }}"></div>
  100. {% endfor %}
  101. {% endfor %}
  102. {% block body %}{% endblock %}
  103. </div>
  104. </main>
  105. <footer class="footer">
  106. <div class="container text-center">
  107. <span class="text-muted small">Cette application est développée en Symfony 3.4 - Code source disponible sur <a target="_blank" href="https://gogs.fdlibre.eu/sangfroid/films">Gogs</a><br>Licence <a target="_blank" href="http://www.wtfpl.net">WTFLP</a></span>
  108. </div>
  109. {% block footer %}
  110. {% endblock %}
  111. </footer>
  112. </div>
  113. <script src="{{ asset('build/app.js') }}"></script>
  114. {% block javascripts %}{% endblock %}
  115. </body>
  116. </html>