浏览代码

suppression de turbo sur les liens de génération et correctif des twig

garthh 12 小时之前
父节点
当前提交
65cb9a4070

+ 1 - 1
src/Controller/Admin/EventConfig/PeriodController.php

@@ -42,7 +42,7 @@ final class PeriodController extends AbstractController
     #[Route('/admin/period/{id}/delete', name: 'app_admin_period_delete', requirements: ['id' => '\d+'], methods: ['GET'])]
     public function delete(?Period $period, EntityManagerInterface $manager): Response
     {
-        if ($period->isLocked) {
+        if ($period->isLocked()) {
             $this->addFlash('danger', 'Cette période est utilisée dans les slots ! Supprimez les slots avant de supprimer la période !');
         } else {
             $event = $period->getEvent();

+ 1 - 0
src/Controller/Admin/EventConfig/SlotController.php

@@ -76,6 +76,7 @@ final class SlotController extends AbstractController
                         $startIndex->add(new \DateInterval('PT30M'));
                         // et on l'utilise aussi pour la fin
                         $newSlot->setEndOn($startIndex);
+                        $event->addSlot($newSlot);
                         // Hop, dans la BDD en attente de sauvegarde
                         $manager->persist($newSlot);
                         $countGenSlot++;

+ 1 - 1
src/Controller/Admin/EventConfig/SpaceController.php

@@ -42,7 +42,7 @@ final class SpaceController extends AbstractController
     #[Route('/admin/space/{id}/delete', name: 'app_admin_space_delete', requirements: ['id' => '\d+'], methods: ['GET'])]
     public function delete(?Space $space, EntityManagerInterface $manager): Response
     {
-        if ($space->isLocked) {
+        if ($space->isLocked()) {
             $this->addFlash('danger', 'Cet espace est utilisé dans les slots ! Supprimez les slots avant de supprimer l\'espace !');
         } else {
             $event = $space->getEvent();

+ 2 - 2
src/Controller/Admin/EventController.php

@@ -150,8 +150,8 @@ final class EventController extends AbstractController
     #[Route('/admin/event/{id}/configure', name: 'app_admin_event_config', requirements: ['id' => Requirement::UUID_V7], methods: ['GET', 'POST'])]
     public function configure(?Event $event, Request $request, EntityManagerInterface $manager, PictureService $pictureService): Response
     {
-        return $this->redirectToRoute('app_admin_event_config_space', [
-            'id' => $event->getId()
+        return $this->render('admin/event/config/index.html.twig', [
+            'event' => $event
         ]);
     }
 

+ 44 - 0
templates/admin/event/config/index.html.twig

@@ -0,0 +1,44 @@
+{% extends 'bulma.html.twig' %}
+
+{% block title %}Administration > Événement > Configurer{% endblock %}
+
+{% block content %}
+
+    <nav class="breadcrumb has-arrow-separator" aria-label="breadcrumbs">
+      <ul>
+        <li><a href="{{ path('app_main') }}">Accueil</a></li>
+        <li><a href="{{ path('app_admin') }}">Administration</a></li>
+        <li><a href="{{ path('app_admin_event') }}">Gestion des événements</a></li>
+        <li class="is-active"><a>Configuration</a></li>
+      </ul>
+    </nav>
+
+    <div class="box has-text-centered">
+      <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) }}
+    </div>
+
+    <div class="tabs is-boxed">
+        <ul>
+            <li class="is-active"><a>Aide</a></li>
+            <li><a href="{{ path('app_admin_event_config_space', {'id': event.id}) }}">Espaces</a></li>
+            <li><a href="{{ path('app_admin_event_config_period', {'id': event.id}) }}">Périodes</a></li>
+            <li><a href="{{ path('app_admin_event_config_slot', {'id': event.id}) }}">Slots</a></li>
+            <li><a>Meneur(euse)s de jeu</a></li>
+            <li><a>Jeux</a></li>
+        </ul>
+    </div>
+
+    <div id="tabs-content">
+
+  <div class="block">
+      <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.
+      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.
+      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.
+      Les <strong>MJ</strong> disposant d'un compte pourront ajouter eux-mêmes leurs parties et définir leurs disponibilités.
+      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>
+    </div>
+
+
+    </div>
+
+{% endblock %}

+ 3 - 9
templates/admin/event/config/period.html.twig

@@ -14,18 +14,12 @@
     </nav>
 
     <div class="box has-text-centered">
-      <strong class="is-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) }}
+      <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) }}
     </div>
-    <!--<div class="block">
-      <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.
-      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.
-      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.
-      Les <strong>MJ</strong> disposant d'un compte pourront ajouter eux-mêmes leurs parties et définir leurs disponibilités.
-      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>
-    </div>-->
 
     <div class="tabs is-boxed">
         <ul>
+            <li><a href="{{ path('app_admin_event_config', {'id': event.id}) }}">Aide</a></li>
             <li><a href="{{ path('app_admin_event_config_space', {'id': event.id}) }}">Espaces</a></li>
             <li class="is-active"><a>Périodes</a></li>
             <li><a href="{{ path('app_admin_event_config_slot', {'id': event.id}) }}">Slots</a></li>
@@ -81,7 +75,7 @@
                     <td>{{ period.endOn|date('d/m/Y H:i', app_timezone) }}</td>
                     <td>
                       {% if period.isLocked %}
-                        <small class="id-danger">Utilisé dans le calcul des slots.</small>
+                        <small class="has-text-info">Utilisé dans le calcul des slots.</small>
                       {% else %}
                         <a class="button is-danger" data-id="{{ path('app_admin_period_delete', {'id': period.id})}}" href="#" {{ stimulus_controller('admin_confirm') }}>Supprimer</a>
                       {% endif %}

+ 6 - 3
templates/admin/event/config/slot.html.twig

@@ -14,11 +14,12 @@
     </nav>
 
     <div class="box has-text-centered">
-      <strong class="is-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) }}
+      <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) }}
     </div>
 
     <div class="tabs is-boxed">
         <ul>
+            <li><a href="{{ path('app_admin_event_config', {'id': event.id}) }}">Aide</a></li>
             <li><a href="{{ path('app_admin_event_config_space', {'id': event.id}) }}">Espaces</a></li>
             <li><a href="{{ path('app_admin_event_config_period', {'id': event.id}) }}">Périodes</a></li>
             <li class="is-active"><a>Slots</a></li>
@@ -55,12 +56,14 @@
                   {% if event.getSlots()|length > 0 %}
                     {{ event.getSlots()|length }} slots
                   {% else %}
-                    Aucune slot
+                    Aucun slot
                   {% endif %}
                 </div>
                 <div class="column">
                   {% if event.getPeriods()|length > 0 and  event.getSpaces()|length > 0 and event.getSlots()|length < 1 %}
-                    <a href="#" data-id="{{ path('app_main_event_config_slot_generate', {id: event.getId })}}" class="button is-primary"  {{ stimulus_controller('admin_confirm') }}>Générer les slots</a>
+                    {#<a href="#" data-id="{{ path('app_main_event_config_slot_generate', {id: event.getId })}}" class="button is-primary"  {{ stimulus_controller('admin_confirm') }}>Générer les slots</a>#}
+                    <a href="{{ path('app_main_event_config_slot_generate', {id: event.getId })}}" data-turbo="false"  class="button is-primary">Générer les slots</a>
+                    
                   {% elseif event.getSlots()|length > 0 %}
                     <a href="#" data-id="{{ path('app_main_event_config_slot_delete', {id: event.getId })}}" class="button is-danger" {{ stimulus_controller('admin_confirm') }}>Supprimer les slots</a>
                   {% else %}

+ 3 - 9
templates/admin/event/config/space.html.twig

@@ -14,18 +14,12 @@
     </nav>
 
     <div class="box has-text-centered">
-      <strong class="is-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) }}
+      <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) }}
     </div>
-    <!--<div class="block">
-      <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.
-      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.
-      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.
-      Les <strong>MJ</strong> disposant d'un compte pourront ajouter eux-mêmes leurs parties et définir leurs disponibilités.
-      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>
-    </div>-->
 
     <div class="tabs is-boxed">
         <ul>
+            <li><a href="{{ path('app_admin_event_config', {'id': event.id}) }}">Aide</a></li>
             <li class="is-active"><a>Espaces</a></li>
             <li><a href="{{ path('app_admin_event_config_period', {'id': event.id}) }}">Périodes</a></li>
             <li><a href="{{ path('app_admin_event_config_slot', {'id': event.id}) }}">Slots</a></li>
@@ -72,7 +66,7 @@
                     <td>{{ space.name }}</td>
                     <td>
                       {% if space.isLocked %}
-                        <small class="id-danger">Utilisé dans le calcul des slots.</small>
+                        <small class="has-text-info">Utilisé dans le calcul des slots.</small>
                       {% else %}
                         <a class="button is-danger" data-id="{{ path('app_admin_space_delete', {'id': space.id})}}" href="#" {{ stimulus_controller('admin_confirm') }}>Supprimer</a>
                       {% endif %}