Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Brouillon] Utiliser 2 selects (heures et minutes) sur le formulaire de plage d'ouverture #4971

Draft
wants to merge 1 commit into
base: production
Choose a base branch
from

Conversation

francois-ferrandis
Copy link
Contributor

@francois-ferrandis francois-ferrandis commented Jan 13, 2025

Edit : je passe cette PR en draft car j'aimerais creuser encore un peu le sujet Tod.

Contexte

Nous changeons ici la façon de saisir une heure de début de plage d'ouverture (et d'indisponibilité car c'est le même code).

Le picker actuel est un seul select qui contient les valeurs 00:00, 00:05, 00:10 -> 23:55. Nous jugeons qu'il est peu pratique de naviguer ce select.

Il s'agit de la V0 décrite sur cette fiche de pitch : https://www.notion.so/rdvs/Le-formulaire-des-plages-d-ouverture-1742b05ced418087b30dc0f1c0bfee78

Solution

En remplaçant le select unique par 2 selects, on facilite la saisie car on ne propose pas une liste immense, mais deux listes compréhensibles.

J'ai décidé d'essayer des incréments de 5 minutes, c'est un juste milieu entre le quart d'heure et la minute.

Côté technique

En invoquant f.input :start_time, as: :time on fait appel à ActionView::Helpers::DateHelper#select_time . Cette méthode génère un select pour les heures et un pour les minutes, mais pas pour les secondes. Cela a pour effet de faire crasher le processus de dé-sérialisation, qui intervient lorsque l'on instancie une absence avec des params.

Il y a plusieurs solutions possibles, dont :

  1. Ajouter du code pour gérer ça dans les controllers
  2. Monkey-patcher la gem tod pour s'assurer que le problème ne se produira pas ailleurs

J'étais parti sur la solution 1 mais finalement je crois que je préfère la 2. En parallèle je vais ouvrir un PR pour proposer une modification de la gem.

La suite

Nous avons d'autres améliorations en tête :

Et bien sûr, le gros du sujet : permettre à l'agent de déclarer sa journée en une seule plage plutôt que d'avoir à créer une plage pour les matins et une autre pour les après-midi ! 🤪

Captures d'écran

Avant

image

Après

image

@francois-ferrandis francois-ferrandis self-assigned this Jan 13, 2025
@francois-ferrandis francois-ferrandis marked this pull request as draft January 14, 2025 08:51
@francois-ferrandis francois-ferrandis changed the title Utiliser 2 selects (heures et minutes) sur le formulaire de plage d'ouverture [Brouillon] Utiliser 2 selects (heures et minutes) sur le formulaire de plage d'ouverture Jan 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🔖 Ready
Development

Successfully merging this pull request may close these issues.

1 participant