Development #44132
Permettre de désactiver un type de rendez-vous
0%
Description
Suite de #43621 où on empêche la suppression d'un type de rendez-vous pour ne pas supprimer des réservations non échues.
Mais viendra donc le besoin d'empêcher la prise de rendez-vous sur un type de rendez-vous, qui se faisait jusqu'à maintenant par suppression du type de rendez-vous.
De là :
Frédéric Péters a écrit :
plutôt simplement poser un flag deleted sur le modèle, qui ferait qu'il ne serait plus affiché, etc. ?
Et là je me dis peut-être plus propre de poser un flag 'disabled', qui maintient l'affichage en backoffice tout en y marquant que c'est désactivé, qui bien sûr empêche la prise de rendez-vous. L'idée étant de maintenir l'affichage pour pouvoir plus tard supprimer pour de bon, une fois que les réservations sont échues.
Parce que je me dis que laisser traîner indéfiniment des types de rendez-vous, ce sera peut-être chiant, pour les agendas virtuels par exemple.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
- Lié à Development #43621: Supprimer un type de rendez-vous flingue toutes les réservations de ce type ajouté
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Emmanuel Cazenave
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
- Fichier 0001-agendas-add-a-disabled-flag-on-MeetingType-44132.patch 0001-agendas-add-a-disabled-flag-on-MeetingType-44132.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Par dessus #43621.
Si on désactive, ça ne sort plus sur sur /api/agenda/foo/meetings/, ça fait 404 sur /api/agenda/foo/meetings/bar/datetimes/ et tenter de booker sur un fillslots_url qui aurait été pris avant la désactivation renvoie une erreur 'invalid meeting type id'.
Plus quelques petites choses coté manager pour ne pas pouvoir casser un agenda virtuel en désactivant un meeting type d'un de ses agendas réels.
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
- Fichier 0001-agendas-add-a-disabled-flag-on-MeetingType-44132.patch 0001-agendas-add-a-disabled-flag-on-MeetingType-44132.patch ajouté
Typo.
Mis à jour par Frédéric Péters il y a presque 4 ans
J'imaginais aussi changement côté UI, que la croix de suppression sur la ligne d'un type de rendez-vous le marque désactivé, plutôt que le supprimer. (si jamais il est utilisé).
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
Ça laisserait la suppression quasiment inaccessible : uniquement sur la vue d'édition hors popup. Du coup il faudrait rendre la suppression accessible ailleurs non ?
Je me disais aussi : marquer visuellement la désactivation sur /manage/agendas/XX/settings
(et bien sûr je peux faire apparaître le mot 'disabled' mais pour quelque chose de plus graphique qui me semblerait bienvenu, pas d'idée).
Mis à jour par Frédéric Péters il y a presque 4 ans
En fait je voyais ma proposition, et ce ticket, plutôt être "simuler la suppression par un flag sur l'objet", pour l'usager c'est comme si c'était supprimé, il y a juste que dans la db ça n'est pas le cas, pour ne pas perdre les réservations en cours. (on n'introduit pas de notion de désactivation de type de rendez-vous).
(et derrière on peut imaginer un cron qui quand il est temps supprime pour de vrai)
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
- Statut changé de Solution proposée à En cours
Je vois que tu as prêté grande attention au delta entre ma proposition et la tienne :)
Mais bon ok, je vais reprendre, du coup au niveau UI ce sera RAS, quand on supprime ça fait disparaître et ça marque à supprimer plutôt que supprimer vraiment.
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
- Fichier 0001-agendas-mark-MeetingType-for-deletion-44132.patch 0001-agendas-mark-MeetingType-for-deletion-44132.patch ajouté
- Statut changé de En cours à Solution proposée
Voilà.
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit ff19227fc9cd7e29f50a5870572a0950be877258 Author: Emmanuel Cazenave <ecazenave@entrouvert.com> Date: Wed Jun 17 17:39:26 2020 +0200 agendas: mark MeetingType for deletion (#44132)
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
agendas: mark MeetingType for deletion (#44132)