Terminus: adapter la gestion de l'état d'un événement/scénario
L'état d'un scénario/événement dépendant uniquement de l''état de ses calendriers.
Un calendrier peut être actif ou au contraire désactivé. (nouvel attribut enabled, par défaut à 1)
La logique d''évaluation de l'état se fait dans cet ordre.
-
Si un scénario dispose d'au moins un calendrier actif sans phase de publication, alors il est "En Cours". Les messages relatifs aux calendriers sans phase de publication sont diffusés.
-
Si un scénario dispose d'au moins un calendrier actif avec phase de publication qui correspond à "maintenant", il est "En Cours". Les messages relatifs aux calendriers actifs sont diffusés. On pourra dire par raccourci que le calendrier est diffusé.
-
Si un scénario dispose d'au moins un calendrier actif avec phase de publication qui correspond à "plus tard" (au moins un intervalle dans le futur), il est "Programmé". Aucun calendrier du scénario n'est pas diffusé (et donc aucun de leurs messages).
-
Si un scénario ne dispose d'aucun calendrier actif, il est "Archivé", rien n'est diffusé.
5 : a contrôler sur la base tl : si aucun calendrier (messages directement rattachés au scénario), alors diffusion permanente (voir si on peut modifier simplement les appels externes qui créent ce type de message ou si impossible voir si on crée un cas particulier dans le comportement) L' action "Archiver" désactive tous les calendriers d'un scénario, en fixant leur attribut enabled à 0.
-
Ajouter un attribut calculé par service fournissant l'état du scénario: Brouillons, Programmé, En Cours, Archivé -
Supprimer les attributs "enabled", "archived", "manual_override" de SentScenario -
Ajouter l'attribut "enabled" sur Calendrier de scénario, représenté par son carré de couleur grisé si désactivé -
Mettre en pause une diffusion en cours désactive le (ou les) calendrier en cours de diffusion -
Archiver un scénario désactive tous les calendriers -
Les actions possibles sur scénario se limitent maintenant à "Activer" (pour quitter l'état brouillon) et "Archiver" (en plus de "Enregistrer")