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

Ne pas afficher le bouton "Prendre un RDV" sur l'instance RDV-SP #4808

Open
wants to merge 4 commits into
base: production
Choose a base branch
from

Conversation

francois-ferrandis
Copy link
Contributor

@francois-ferrandis francois-ferrandis commented Nov 14, 2024

Closes #4798

Contexte

Le problème est bien décrit dans l'issue #4798.

On y évoque deux changements désirés :

  1. le bouton "Prendre un RDV" ne doit plus être affiché dans l'espace
  2. "la page /prendre_rdv ne doit plus exister"

Le premier point ne pose pas trop de question, si ce n'est l'abstraction à utiliser dans le code pour contrôler l'affichage du bouton.

Le second point, en revanche, pose question, car le chemin /prendre_rdv est utilisé à de nombreuses occasions, en lui passant des paramètres. Une possibilité serait donc de détecter dans app/controllers/search_controller.rb:19 si la page est visitée sans aucun paramètre et de rendre la page d'accueil. Cela empêcherait de fait d'arriver sur le champ de recherche par localité sur l'instance RDV-SP.

Solution

Ne plus afficher le bouton

J'ai hésité à introduire un nouvel attribut Domain#internal_search_feature pour représenter l'abstraction "ce domaine propose la barre de recherche de localisation comme porte d'entrée". J'ai finalement décidé qu'il était un peu tôt, et j'ai opté pour une comparaison explicite sur le domaine.

if current_domain != Domain::RDV_MAIRIE

Ceci étant dit, on a quand-même 11 usages de Domain::RDV_MAIRIE dans nos vues pour faire du feature flag, y'a peut-être une opportunité pour faire émerger des abstractions qui nous permette de mieux comprendre les complexités engendrées.

Ne pas afficher la barre de recherche par localité

Ça se passe dans app/controllers/search_controller.rb, j'adapte un if pour faire en sorte qu'une visite de /prendre_rdv sans aucun paramètre redirige vers /, et qu'on continue de render une homepage custom à la visite de /.

Je remarque encore que ces ambiguïtés entre / et /prendre_rdv nous complexifient un truc simple. Je vais essayer de faire une proposition pour cesser de faire pointer / vers le tunnel de prise de RDV, mais plutôt de toujours utiliser /prendre_rdv pour ce tunnel et garder / pour la homepage uniquement.

Captures d'écran

Avant

image

Après

image

@francois-ferrandis francois-ferrandis self-assigned this Nov 14, 2024
@victormours
Copy link
Contributor

il faut peut-être aussi supprimer app/views/search/address_selection/_rdv_mairie.html.slim

@@ -6,7 +6,8 @@
= link_to "Voir vos prochains RDV", users_rdvs_path, class: "btn btn-outline-primary"
- else
= link_to "Voir vos RDV passés", users_rdvs_path(past: true), class: "btn btn-outline-primary"
= render "prendre_rdv_button"
- if current_domain != Domain::RDV_MAIRIE
Copy link
Contributor

Choose a reason for hiding this comment

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

je suis hésitant à ce qu'on laisse les current_domain != Domain::RDV_MAIRIE se multiplier, surtout que dans la classe Domain on a déjà l'attribut search_banner_template_name qui sert à gérer la recherche de rdv par les usagers. Peut-être qu'on peut éviter à la fois ce if et celui du search_controller en remaniant cet attribut

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.

Le CTA prendre un RDV n'a pas de sens sur l'instance rdv.anct.gouv.fr
2 participants