Project

General

Profile

Development #40728

Permettre la configuration d'une date de publication par événement.

Added by Mikaël Ates 4 months ago. Updated about 1 month ago.

Status:
Solution déployée
Priority:
Normal
Category:
-
Target version:
-
Start date:
13 Mar 2020
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

Description

Pour un même agenda, la gestion d'événements peut se faire par période et l'ouverture à l'inscription peut être souhaitée simultanée pour un ensemble d'événements.

Par exemple pour un agenda "bals", l'agent souhaitera saisir les bals à venir tous les trimestres. Il fera la saisie pour le trimestre à venir pendant le trimestre en cours. Il est souhaité que les bals du trimestre en cours soit ouvert à l'inscription. Cependant, les inscription aux bals du prochain trimestre ne devront être ouvertes qu'à partir du premier jour du prochain trimestre.

La gestion actuelle des délais d'ouverture en jours par agenda ne permet pas de gérer cela aisément. Cela demande de venir, le premier jour du trimestre, paramétrer un nombre de jours couvrant le trimestre. Puis, chaque jour, de venir paramétrer un délai pour que la plage d'ouverture des inscriptions coïncide avec le dernier jour du trimestre.

Il serait souhaité qu'il soit possible de configurer une date de publication par événement. Ainsi, pour les évènements du trimestre prochain, l'agent indiquerait manuellement lors de la saisie de chaque événement la date du jour souhaitée de publication.

Cette date n'entrerait pas en conflit avec le délai configuré sur l'agenda de manière à couvrir la durée d'un trimestre.

(Cette approche est validée côté métier de la prise de rendez-vous pour la gestion des seniors.)

Même si elle demande plus "d'efforts" à l'agent car il doit renseigner sur chaque événement une date (si elle ne l'est pas, le fonctionnement actuel est conservé), cette approche semble plus souple que de configurer des champs de publication au niveau de l'agenda en indiquant "trimestre en cours" par exemple. En effet, ce pourrait être sur des périodes différentes, semestre ou année, ou autre. Cela demanderait de prévoir toutes les périodes permettant de couvrir différents cas d'usage. Cela poserait aussi la question de la gestion lorsque cette période varie, par exemple une bascule de trimestre vers semestre, ou parce que l'été ce serait finalement 4 mois avant qu'il faudrait permettre l'ouverture.

0001-agendas-add-publication_date-on-event-40728.patch View (10.5 KB) Lauréline Guerin, 12 May 2020 04:58 PM

0002-api-check-publication_date-in-datetimes-fillslots-ap.patch View (17.4 KB) Lauréline Guerin, 12 May 2020 04:58 PM

0001-agendas-add-publication_date-on-event-40728.patch View (10.5 KB) Lauréline Guerin, 13 May 2020 06:26 PM

0002-api-check-publication_date-in-datetimes-fillslots-ap.patch View (17.4 KB) Lauréline Guerin, 13 May 2020 06:26 PM

0001-agendas-add-publication_date-on-event-40728.patch View (9.76 KB) Lauréline Guerin, 18 May 2020 09:41 AM

0002-api-check-publication_date-in-datetimes-fillslots-ap.patch View (17.4 KB) Lauréline Guerin, 18 May 2020 09:41 AM

Associated revisions

Revision ff9da976 (diff)
Added by Lauréline Guérin about 2 months ago

agendas: add publication_date on event (#40728)

Revision 0f89c488 (diff)
Added by Lauréline Guérin about 2 months ago

api: check publication_date in datetimes & fillslots api (#40728)

History

#4 Updated by Benjamin Dauvergne about 2 months ago

  • Assignee set to Lauréline Guerin

#5 Updated by Lauréline Guerin about 2 months ago

branche basée sur #40719 pour enchaîner les migrations proprement.

Comme la méthode in_bookable_period est déjà unit-testée, j'ai utilisé mock pour valider le comportement de l'api fillslots en fonction des ses retours possibles. J'aime assez utiliser mock dans les tests, mais ce n'est pas forcément le cas de tout le monde :)

Effet de bord de l'ajout de check de la bookabilité des events dans l'api fillslots: des changement dans pas mal de tests, qui bookaient des events situés dans le passé.

#6 Updated by Benjamin Dauvergne about 2 months ago

Dans in_bookable_period tu utilises localtime() mais pas dans le filtre, or now() est toujours en timezone UTC.

#8 Updated by Benjamin Dauvergne about 2 months ago

  • Status changed from Solution proposée to Solution validée

J'en viendrai presque à dire que ce serait plus clair que publication_date soit un datetime (et renommé publication_datetime) tout en conservant une IHM basée sur les dates pour la sélection (jusqu'au jour où on voudra plus). Ça éviterait de jouer avec localtime au moment de l'utilisation, mais ce n'est qu'une suggestion.

#9 Updated by Lauréline Guerin about 2 months ago

Pas sûr que ça simplifie le tout d'avoir un datetime.

J'ai ajouté l'affichage de la date de publication sur quelques écrans, mais je suis pas sûre que ce soit pertinent.

#10 Updated by Benjamin Dauvergne about 2 months ago

J'ai ajouté l'affichage de la date de publication sur quelques écrans, mais je suis pas sûre que ce soit pertinent.

Dans month_view je ne pense pas puisqu'en cliquant sur un évènement ça doit afficher event_detail_fragment.

#11 Updated by Lauréline Guerin about 2 months ago

Date de publication supprimée de la page month_view

#12 Updated by Benjamin Dauvergne about 2 months ago

  • Status changed from Solution proposée to Solution validée

#13 Updated by Frédéric Péters about 2 months ago

(ce commentaire par prudence : c'est pour le prochain cycle)

#14 Updated by Lauréline Guerin about 1 month ago

  • Status changed from Solution validée to Résolu (à déployer)
commit 0f89c488c8bd08612b90446210426906b9e81b03
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Tue May 12 16:57:11 2020 +0200

    api: check publication_date in datetimes & fillslots api (#40728)

commit ff9da976c9fe1470a5dd76bdcbd040c3a982e83b
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Tue May 12 14:22:52 2020 +0200

    agendas: add publication_date on event (#40728)

#15 Updated by Frédéric Péters about 1 month ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF