index.html.twig 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. {% extends 'bulma.html.twig' %}
  2. {% block title %}Administration > Événement > Configurer{% endblock %}
  3. {% block content %}
  4. <nav class="breadcrumb has-arrow-separator" aria-label="breadcrumbs">
  5. <ul>
  6. <li><a href="{{ path('app_main') }}">Accueil</a></li>
  7. <li><a href="{{ path('app_admin') }}">Administration</a></li>
  8. <li><a href="{{ path('app_admin_event') }}">Gestion des événements</a></li>
  9. <li class="is-active"><a>Configuration</a></li>
  10. </ul>
  11. </nav>
  12. <div class="box has-text-centered">
  13. <strong class="has-text-primary">{{ event.name }}</strong> du {{ event.startOn|date('d/m/Y H:i', app_timezone) }} au {{ event.endOn|date('d/m/Y H:i', app_timezone) }}
  14. </div>
  15. <div class="tabs is-boxed">
  16. <ul>
  17. <li class="is-active"><a>Accueil</a></li>
  18. <li><a href="{{ path('app_admin_event_config_space', {'id': event.id}) }}">Espaces</a></li>
  19. <li><a href="{{ path('app_admin_event_config_period', {'id': event.id}) }}">Périodes</a></li>
  20. <li><a href="{{ path('app_admin_event_config_slot', {'id': event.id}) }}">Slots</a></li>
  21. <li><a href="{{ path('app_admin_event_config_gamemaster', {'id': event.id}) }}">Meneur(euse)s de jeu</a></li>
  22. <li><a href="{{ path('app_admin_event_config_game', {'id': event.id}) }}">Jeux</a></li>
  23. <li><a href="{{ path('app_admin_event_config_party', {'id': event.id}) }}">Parties</a></li>
  24. </ul>
  25. </div>
  26. <div id="tabs-content">
  27. <div class="box">
  28. <div class="block">
  29. <div class="level">
  30. <div class="level-item has-text-centered">
  31. {% if event.getSpaces()|length > 0 %}
  32. <div>
  33. <p class="title">{{ event.getSpaces()|length }}</p>
  34. <p class="heading">espaces</p>
  35. </div>
  36. {% else %}
  37. <p class="heading has-text-danger">Aucun espace</p>
  38. {% endif %}
  39. </div>
  40. <div class="level-item has-text-centered">
  41. {% if event.getPeriods()|length > 0 %}
  42. <div>
  43. <p class="title">{{ event.getPeriods()|length }}</p>
  44. <p class="heading">périodes</p>
  45. </div>
  46. {% else %}
  47. <p class="heading has-text-danger">Aucune période</p>
  48. {% endif %}
  49. </div>
  50. <div class="level-item has-text-centered">
  51. {% if event.getSlots()|length > 0 %}
  52. <div>
  53. <p class="title">{{ event.getSlots()|length }}</p>
  54. <p class="heading">slots</p>
  55. </div>
  56. {% else %}
  57. <p class="heading has-text-danger">Aucun slot</p>
  58. {% endif %}
  59. </div>
  60. <div class="level-item has-text-centered">
  61. {% if event.getGamemastersAssigned()|length > 0 %}
  62. <div>
  63. <p class="title">{{ event.getGamemastersAssigned()|length }}</p>
  64. <p class="heading">MJ</p>
  65. </div>
  66. {% else %}
  67. <p class="heading has-text-danger">Aucun(e) MJ</p>
  68. {% endif %}
  69. </div>
  70. <div class="level-item has-text-centered">
  71. {% if event.getGameAssigned()|length > 0 %}
  72. <div>
  73. <p class="title">{{ event.getGameAssigned()|length }}</p>
  74. <p class="heading">jeux</p>
  75. </div>
  76. {% else %}
  77. <p class="heading has-text-danger">Aucun jeu</p>
  78. {% endif %}
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. <article class="section">
  84. <p>Déterminez des <strong>espaces</strong> et des <strong>périodes</strong> pour générer les <strong>slots</strong> permettant de modéliser le planning.
  85. Les <strong>slots</strong> peuvent être régénérés à tout moment, mais peuvent entraîner la destruction de parties déjà enregistrées pour l'événement.
  86. Les <strong>jeux</strong> sont sélectionnés à partir des <strong>MJ</strong> affectés à l'événement. Seul les <strong>jeux</strong> et <strong>MJ</strong> sélectionnés pourront être proposés pour créer le planning.
  87. Les <strong>MJ</strong> disposant d'un compte pourront ajouter eux-mêmes leurs parties et définir leurs disponibilités.
  88. Les <strong>périodes off</strong> permettent de neutraliser des <strong>slots</strong> dans le planning où aucune partie ne pourra être enregistrer dans l'<strong>espace spécifié</strong>.</p>
  89. <p>La publication de l'événement permettra aux participants de s'inscrire. Si l'événement est publié, il ne sera plus possible de modifier les slots.</p>
  90. </article>
  91. <div class="block has-text-centered">
  92. {% if event.getSlots()|length > 0 and event.getGamemastersAssigned()|length > 0 and event.getGameAssigned()|length > 0 and not event.isPublished %}
  93. <a href="{{ path('app_admin_event_config_publish', {id: event.id}) }}" class="button is-primary" data-turbo="false">Publier</a>
  94. {% elseif event.isPublished %}
  95. <a href="{{ path('app_admin_event_config_unpublish', {id: event.id}) }}" class="button is-danger" data-turbo="false">Dépublier</a>
  96. {% else %}
  97. <button href="#" class="button" disabled>Publier</button>
  98. {% endif %}
  99. </div>
  100. </div>
  101. {% endblock %}