Development #24205
Gestion d'ouvertures exceptionnelles
0%
Description
On permet actuellement des exceptions de fermeture.
Il faut aussi prévoir des exceptions d'ouverture, typiquement "le service sera ouvert ce samedi 2 juin de 9h à 18h"
Historique
Mis à jour par Thomas Noël il y a presque 6 ans
La logique de chrono, c'est de gérer des exception sur les créneaux récurrents existants. A priori il est difficile (lire "impossible") de changer cette logique (à discuter).
Donc, si on veut ouvrir le samedi 2 juin de 9h à 12h :- ajout d'un creneau récurrent samedi 9h-12h (donc, potentiellement "tous les samedi")
- une exception générale de tous les samedis (déjà possible via ics)
- une exception particulière d'ouverture le samedi 2 juin (l'objet de ce ticket)
Cela implique aussi que ce qui gagne à la fin, ce sont les ouvertures exceptionnelles.
Je vois donc à développer :- sur toute exception, définir s'il s'agit d'une ouverture ou fermeture exceptionnelle
- modifier l'algo de calcul des exceptions pour prendre en charge d'abord les fermetures, puis les ouvertures
- bonus : permettre une exception récurrente tous les xxx-di, de telle à telle date, telle à telle heure (pour la gestion d'exception récurrente sans passer par un ics)
PS: Dans l'ordre des manipulations qui seront faites en vrai, pour éviter d'avoir quelques minutes où tous les samedis sont ouverts, on ferait : 1. ajout de l'exception générale 2. création du créneau récurrent 3. ajout de l'exception particulière.
Mis à jour par Thomas Noël il y a presque 6 ans
- Sujet changé de Exceptions d'ouverture à Gestion d'ouvertures exceptionnelles
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
Ça me paraîtrait plus simple et plus générique de faire de TimePeriod un objet ayant une date de début et de fin, ça en fait une sorte d'évènement récurrent. Pour faire une ouverture exceptionnelle, et bien début = fin, idéalement TimePeriod aurait tous les paramètres d'un évènement iCalendar (début, fin, durée, récurrence, exceptions), on devrait pouvoir définir presque un calendrier complet avec quelques timeperiod et pas toujours 5.
Mis à jour par Benjamin Dauvergne il y a presque 6 ans
Autre suggestion transformer weekday en bitmask pour stocker d'un seul coup un planning régulier (l'idée c'est de s'approcher de plus en plus des fonctionnalités des RRULE qui nous intéressent).
En gros pour un planning pour un planning régulier 8h/12h-14h/17h sur jours ouvrés on aurait que deux TimePeriod à créer avec weekday=set([1,2,3,4,5]).
Mis à jour par Benjamin Dauvergne il y a 12 mois
- Statut changé de Nouveau à Fermé
- Planning mis à Non
Ça existe, TimePeriod accepte une date maintenant.