voirfilm.html.twig 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. {% extends "videotheque/base.html.twig" %}
  2. {% block title %}{{ parent() }} - Fiche film - {{ film.titre }}{% endblock %}
  3. {% block titre %}
  4. {% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
  5. {% if film.usersWantToView.contains(app.user) %}
  6. {% set follow_icone = "fa fa-bookmark" %}
  7. {% set follow_texte = "Supprimer ce film de votre liste à voir" %}
  8. {% else %}
  9. {% set follow_icone = "fa fa-bookmark-o text-secondary" %}
  10. {% set follow_texte = "Ajouter ce film à votre liste à voir" %}
  11. {% endif %}
  12. <a href="#" data-fonction="switch"
  13. data-icone-actif="fa fa-bookmark"
  14. data-icone-inactif="fa fa-bookmark-o text-secondary"
  15. data-path="{{ path('maliste_modifier_a_voir') }}"
  16. data-bs-toggle="tooltip"
  17. title="{{ follow_texte }}"
  18. data-content="{{ film.id }}">
  19. <i class="{{ follow_icone }}"></i></a>
  20. {% if film.usersWhoSeen.contains(app.user) %}
  21. {% set vu_icone = '<i class="fa fa-eye text-success"></i>' %}
  22. {% else %}
  23. {% set vu_icone = '<i class="fa fa-eye-slash text-secondary"></i>' %}
  24. {% endif %}
  25. <a href="#" data-fonction="switch"
  26. data-path="{{ path('maliste_modifier_vus') }}"
  27. data-content="{{ film.id }}"
  28. data-icone-actif = "fa fa-eye text-success"
  29. data-icone-inactif = "fa fa-eye-slash text-secondary">
  30. {{ vu_icone | raw }}</a>
  31. {% endif %}
  32. {{ film.titre }}
  33. {% if film.note > 0 %}
  34. <p>
  35. <input class="rating"
  36. data-disabled="true"
  37. data-show-clear="false"
  38. data-show-caption="false"
  39. data-theme="krajee-fa"
  40. min=0
  41. max=5
  42. style="display:none;"
  43. data-step=0.5
  44. data-size="xs"
  45. value="{{ film.note }}">
  46. </p>
  47. {% endif %}
  48. {% endblock %}
  49. {% block body %}
  50. <div class="row">
  51. <div class="col-sm-8">
  52. <div class="row">
  53. <div class="col-sm-7">
  54. <div class="card border-info">
  55. <div class="card-header">
  56. <div class="row">
  57. <h5 class="col-10">Fiche technique</h5>
  58. {% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
  59. <div class="col-2">
  60. <a data-bs-toggle="tooltip" title="Modifier la fiche du film" href="{{ path('videotheque_modifier', {'id': film.id}) }}"><i class="fa fa-edit fa-lg"></i></a>
  61. {% if is_granted('ROLE_ADMIN') %}<a href="{{ path('videotheque_supprimer', {'id': film.id}) }}"><i class="fa fa-trash fa-lg", style="color:Tomato;"></i></a>{% endif %}
  62. </div>
  63. {% endif %}
  64. </div>
  65. </div>
  66. <div class="card-body">
  67. <dl class="row">
  68. <dt class="col-4">Année</dt>
  69. <dd class="col-8">{{ film.annee | date('Y') }}</dd>
  70. <dt class="col-4">Réalisateur(s)</dt>
  71. <dd class="col-8">
  72. {% for realisateur in film.realisateurs %}
  73. <a href="{{ path('videotheque_listeparreal', {'id': realisateur.id}) }}"><span class="badge bg-info">{{ realisateur.nomComplet }}</span></a>
  74. {% endfor %}
  75. </dd>
  76. <dt class="col-4">Genre</dt>
  77. <dd class="col-8">
  78. {% for genre in film.genres %}
  79. <a href="{{ path('videotheque_listepargenre', {'id': genre.id}) }}"><span class="badge bg-info">{{ genre.name }}</span></a>
  80. {% endfor %}
  81. </dd>
  82. {% if film.lien is not null %}
  83. <dt class="col-4">Lien</dt>
  84. <dd class="col-8"><a href="{{ film.lien }}"><i class="fa fa-external-link"></i></a></dd>
  85. {% endif %}
  86. </dl>
  87. </div>
  88. <div class="card-footer">
  89. <dl class="row">
  90. <dt class="col-4">Suivi par</dt>
  91. <dd class="col-8">
  92. {% for user in film.usersWantToView %}
  93. <span>{{ user.username }}</span>&nbsp;
  94. {% endfor %}
  95. </dd>
  96. <dt class="col-4">Vu par</dt>
  97. <dd class="col-8">
  98. {% for user in film.usersWhoSeen %}
  99. <span>{{ user.username }}</span>&nbsp;
  100. {% endfor %}
  101. </dd>
  102. </dl>
  103. </div>
  104. </div>
  105. <div>&nbsp;</div>
  106. <div class="card border-info">
  107. <div class="card-header">
  108. <h5>Informations complémentaires</h5>
  109. </div>
  110. <div class="card-body">
  111. {% if film.information is not null %}
  112. <p>{{ film.information | nl2br }}</p>
  113. {% else %}
  114. <p>Pas d'information</p>
  115. {% endif %}
  116. </div>
  117. </div>
  118. <div>&nbsp;</div>
  119. </div>
  120. <div class="col-sm-5">
  121. <div class="card border-info">
  122. <div class="card-header">
  123. <h5>Bande Annonce</h5>
  124. </div>
  125. <div class="card-body">
  126. {% if film.mediaVideo.video is defined %}
  127. <div class="embed-responsive embed-responsive-4by3">
  128. {{ film.mediaVideo.video|raw }}
  129. </div>
  130. {% else %}
  131. <p>Pas encore de bande annonce</p>
  132. {% endif %}
  133. </div>
  134. </div>
  135. </div>
  136. <div>&nbsp;</div>
  137. </div>
  138. </div>
  139. <div class="col-sm-4">
  140. <div class="card border-info">
  141. <div class="card-header">
  142. <h5>Commentaires</h5>
  143. </div>
  144. <div class="card-body">
  145. {% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
  146. <p>
  147. <a data-bs-toggle="collapse" role="button" href="#collapseCommentaire" aria-expanded="false" aria-controls="collapseCommentaire">Commenter <i class="fa fa-chevron-down"></i></a>
  148. </p>
  149. <div class="collapse" id="collapseCommentaire">
  150. {{ include('videotheque/form_commentaire.html.twig') }}
  151. </div>
  152. {% endif %}
  153. <div class="list-group">
  154. {% for commentaire in film.commentaires %}
  155. <div class="list-group-item">
  156. <p class="mb-1"><strong>Posté par {{ commentaire.user.username }}</strong></p>
  157. {% if commentaire.note > 0 %}
  158. <input class="rating"
  159. data-disabled="true"
  160. data-show-clear="false"
  161. data-show-caption="false"
  162. data-theme="krajee-fa"
  163. min=0
  164. max=5
  165. data-step=1
  166. data-size="xs"
  167. value="{{ commentaire.note }}">
  168. {% endif %}
  169. {% if commentaire.contenu != "" %}
  170. <p class="mb-1">{{ commentaire.contenu | nl2br }}</p>
  171. {% endif %}
  172. </div>
  173. {% endfor %}
  174. </div>
  175. </div>
  176. </div>
  177. </div>
  178. </div>
  179. {% endblock %}
  180. {% block javascripts %}
  181. {% endblock %}