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

Page de contacts : tri et groupement par département #4750

Merged
merged 4 commits into from
Oct 31, 2024

Conversation

AntoineGirard
Copy link
Member

@AntoineGirard AntoineGirard commented Oct 28, 2024

Closes #4744

Review app : https://demo-rdv-solidarites-pr4750.osc-secnum-fr1.scalingo.io/contact (pas forcément nécessaire ici, mais c’était pour tester le fonctionnement des reviews app pour ma première PR).

Contexte

La page de contact avait plusieurs petits soucis :

  • Les territoires n’étaient pas triés
  • On affichait des territoires qui n’avaient pas de numéro de téléphone
  • On mentionnait des « départements » alors que l’usage des territoires a évolué et ne se limite plus à un territoire par département.

Solution

  • On récupère que les territoires qui ont un phone_number_formatted non nul plutôt que d’utiliser le phone_number qui peut être empty.
  • On trie par departement_number puis par name
  • On groupe et on affiche les résultats par departement_number

Checklist

  • Extraire dans d'autres PRs les changements indépendants, si nécessaire
  • Préparer des captures de l’interface avant et après

Captures d'écran

Avant Après
image image

@AntoineGirard AntoineGirard force-pushed the agd/group-and-order-contacts branch from 868f069 to 83d3130 Compare October 28, 2024 15:55
Copy link
Contributor

@adipasquale adipasquale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 merci beaucoup Antoine et félicitations pour cette PR du permier jour 👏

C’est super d’avoir pris des initiatives et proposé d’aller plus loin que ce que décrivait le ticket.
Cette page a clairement beaucoup de marge d’amélioration.
Je suis complètement aligné avec tes propositions 👍

Pour info on envisage avec Nesserine de faire évoluer cette page sur deux points principaux :

  • afficher les numéros de contact des organisations plutôt que des territoires
  • améliorer le bloc de contact de l’équipe technique pour clarifier le message sur notre rôle et le mettre plus en avant.

cf ce ticket notion et ce ticket github

J’ai fait des remarques absolument non-bloquantes, je suis pour déployer cette PR 👍

Donnée de prod

Je suis allé exécuter en prod Territory.where.not(phone_number_formatted: nil).pluck(:departement_number).uniq.compact_blank.sort

Sur RDV SP : ["40", "59", "60", "62", "68", "76", "84", "89", "92", "974"] tout va bien

Sur RDV Solidarités : ["01", "03", "08", "13", "22", "42", "55", "64", "678", "71", "76", "77", "78", "80", "84", "92", "C30"] :

  • C30 c’est le territoire « CDAD du Gard »
  • 678 c’est le CDAD de la Haute-Garonne

Peut-être que @victormours ou @francois-ferrandis auront plus d’informations sur ces deux territoires aux numéros de départements surprenants ?
Je comprends qu’il y ait des territoires qui ne représentent pas des départements mais je ne comprends pas pourquoi ces territoires ont un departement_number volontairement « faux ».

span> Autres départements, voir
= link_to "l'annuaire des services publics", "https://lannuaire.service-public.fr/"
- Territory.where.not(phone_number_formatted: nil).order(:departement_number, :name).group_by(&:departement_number).each do |department_number, territories|
h2 #{department_number}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La syntaxe h2= departement_number semble utilisée plus fréquemment dans RDVSP.

Je n’ai pas vraiment de préférence dans un sens ou dans l’autre, et c’est tout à fait OK d’avoir les deux dans notre codebase. Je me demandais simplement si c’était un choix ou une habitude @AntoineGirard ?

Et en deuxième remarque plus sur le fond j’aurais bien précédé ce numéro d’un « Département » pour clarifier et donner un peu de cohérence visuelle à la page.

Suggested change
h2 #{department_number}
h2 Département #{department_number}

(en écrivant cette suggestion de changement je me rends compte que la syntaxe que tu as utilisé Antoine est plus facile à faire évoluer, il y a moins de changements à faire lorsqu’on veut introduire du texte et interpoler les variables)

Ce n’est absolument pas une suggestion bloquante pour déployer cette PR, c’est déjà beaucoup mieux que ce qu’il y a actuellement. Et en plus il semble y avoir des territoires avec des departement_number qui ne sont pas « réels » en prod.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah aussi, ta solution génère un h2 vide pour les departement_number nil ou blank

ce n’est pas très problématique mais on peut peut-être faire un peu mieux, par exemple afficher « Autres » ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

en bonus, c'est peut-être possible d'utiliser lib/assets/departements_fr.csv pour avoir le nom du département en toutes lettres

span> #{territory.name}
= link_to territory.phone_number, "tel:#{territory.phone_number_formatted}"

h2 Autres contacts
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 très cool de génériser ce titre

@AntoineGirard AntoineGirard force-pushed the agd/group-and-order-contacts branch 4 times, most recently from 64877cb to f4ce938 Compare October 30, 2024 13:29
@AntoineGirard
Copy link
Member Author

Vu avec @victormours ce matin, on préfère retirer l’usage des scopes pour ne pas alourdir le model pour un scope utilisé une seule fois.
On met donc la logique de requêtage dans le controller.

@AntoineGirard AntoineGirard force-pushed the agd/group-and-order-contacts branch from f4ce938 to 2da0352 Compare October 30, 2024 13:32
Copy link
Contributor

@victormours victormours left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 Trop bien ! Merci pour le petit refacto.
J'ai mis une petite suggestion pour un scope, mais c'est complètement facultatif.
Bravo pour ta première PR métier sur l'appli !


territories_without_department = territories_with_phone_number
.where.not(departement_number: Territory::DEPARTEMENTS_NAMES.keys)
.order(:name)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tu peux utiliser le scope ordered_by_name pour gérer les accents et les majuscules

@AntoineGirard AntoineGirard force-pushed the agd/group-and-order-contacts branch from 561b5e9 to 4be3198 Compare October 31, 2024 07:31
@AntoineGirard AntoineGirard enabled auto-merge (squash) October 31, 2024 07:31
@AntoineGirard AntoineGirard merged commit 7df5fdc into production Oct 31, 2024
15 of 16 checks passed
@AntoineGirard AntoineGirard deleted the agd/group-and-order-contacts branch October 31, 2024 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

trier les territoires sur la page contact
3 participants