Development #60165
utiliser idp_service_and_next_params
0%
Description
De #57482#note-31,
le but étant d'avoir des URLs avec ce paramètre ?service= dans les entête de page (lien page mon compte)
Ça me paraît clair que du coup il faut aller explicitement toucher cet/ces endroit(s) et y ajouter ?{{idp_service_and_next_params}}.
Ok, j'ouvrirai un ticket sur publik-base-theme dans la foulée quand celui-ci sera validé.
Ça a été validé déployé, voici donc le ticket pour la mise en place de idp_service_and_next_params ici.
Fichiers
Demandes liées
Historique
Mis à jour par Frédéric Péters il y a environ 2 ans
- Lié à Development #57482: Exploiter le paramètre ?service= pour les URLs "Mon compte" et d'enregistrement ajouté
Mis à jour par Emmanuel Cazenave il y a environ 2 ans
Je me suis fait une instance local multi collectivité, je tape ce patch :
--- a/templates/includes/user-info.html +++ b/templates/includes/user-info.html @@ -6,7 +6,7 @@ {% skeleton_extra_placeholder user-info %} {% if user.is_authenticated %} <span class="logged-in"> - {% if idp_account_url %}<a class="account-link" href="{{idp_account_url}}">{% endif %} + {% if idp_account_url %}<a class="account-link" href="{{idp_account_url}}?{{idp_service_and_next_params}}">{% endif %}
Et maintenant en cliquant sur mon petit non depuis le portail d'une collectivité secondaire, j'arrive sur https://authentic.dev.publik.love/accounts/?next=https%3A%2F%2Fcoll1-combo.dev.publik.love%2F&service=hobo-coll1+_hobo-coll1_portal
Sauf que le next
n'est pas exploité par la page /accounts
donc je suis pas bien avancé .... je loupe quelque chose ?
Mis à jour par Frédéric Péters il y a environ 2 ans
Le truc c'est ensuite d'exploiter, ça doit permettre d'avoir le service appelant dans le contexte, pour dans un gabarit pouvoir faire un lien <a href="{{ quelque chose }}">Retourner au service {{ libellé de quelque chose }}</a>.
Mis à jour par Frédéric Péters il y a environ 2 ans
(et c'est vraiment valider cette possibilité qui est important)
Mis à jour par Emmanuel Cazenave il y a environ 2 ans
- Assigné à mis à Benjamin Dauvergne
Frédéric Péters a écrit :
Le truc c'est ensuite d'exploiter
Alors sur la page combo qui sert de modèle à /accounts
, je tente une cellule texte avec {{service}} et ok le nom du service d'où je viens s'affiche.
Par contre je n'arrive pas à obtenir un URL, genre {{service.url}} ne marche pas, en fait j'ai l'impression que servie
c'est un objet de type authentic/models.py::Service qui ne contient pas d'URL.
Je ne retrouve pas le bout de de code qui rend service
disponible dans le contexte, c'est pas peut-être pas service
qu'il faut utiliser ... à toi Benj pour des lumières.
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Assigné à changé de Benjamin Dauvergne à Emmanuel Cazenave
Mis à jour par Emmanuel Cazenave il y a environ 2 ans
Frédéric Péters a écrit :
(et c'est vraiment valider cette possibilité qui est important)
Alors alors des tests en local avec #60345 et #61029.
Sur la page combo qui sert de modèle, une cellule texte avec <p><a href="{{service.base_url}}">Blababla</a></p>
et .... raté parce que le rendu de {{service.base_url}}
n'est pas fait coté a2 mais coté combo par la vue skeleton, ca passe dans TextCell.get_cell_extra_context
qui fait un text = re.sub(r'(href|src)="(.*?)"', sub_variadic_url, text)
, qui shoote le lien.
C'est dommage parce que ce soit intercepté par combo parce que sinon l'approche avec #60345 et #61029 marche bien, genre si on met {{service.base_url}}
à la place de Blablabla
, le rendu coté a2 sort l'URL qui va bien.
Mis à jour par Frédéric Péters il y a environ 2 ans
Sur le besoin de mon côté c'était quelque chose dans l'intégration graphique, pas posé à travers une cellule. (ce que j'écrivais "pour dans un gabarit pouvoir faire un lien").
Mis à jour par Emmanuel Cazenave il y a environ 2 ans
Ok.
Une remarque à la cantonade en prenant l'exemple de cap-atlantique, si on passe par une template dans l'intégration graphique, pour conserver le rendu neutre, il faut taper un mini patch css :
--- a/static/cap-atlantique/_custom.scss +++ b/static/cap-atlantique/_custom.scss @@ -222,7 +222,7 @@ div#rub_service { // // NEUTRAL TPL // -.page-template-neutral { +.page-template-neutral, .authentic-page {
Mis à jour par Emmanuel Cazenave il y a environ 2 ans
- Fichier 0001-misc-use-idp_service_and_next_params-60165.patch 0001-misc-use-idp_service_and_next_params-60165.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Retour à l'intitulé de ce ticket.
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Statut changé de Solution validée à Nouveau
Je pense qu'on va faire autrement, cf. #61191.