Project

General

Profile

Development #60165

utiliser idp_service_and_next_params

Added by Frédéric Péters 5 months ago. Updated about 2 months ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
30 Dec 2021
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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.


Files


Related issues

Related to Hobo - Development #57482: Exploiter le paramètre ?service= pour les URLs "Mon compte" et d'enregistrementFermé01 Oct 2021

Actions

History

#1

Updated by Frédéric Péters 5 months ago

  • Related to Development #57482: Exploiter le paramètre ?service= pour les URLs "Mon compte" et d'enregistrement added
#2

Updated by Emmanuel Cazenave 5 months ago

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 ?

#3

Updated by Frédéric Péters 5 months ago

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>.

#4

Updated by Frédéric Péters 5 months ago

(et c'est vraiment valider cette possibilité qui est important)

#5

Updated by Emmanuel Cazenave 5 months ago

  • Assignee set to 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.

#7

Updated by Benjamin Dauvergne 5 months ago

Non il n'y a rien mais tu peux faire {{ portal_url }}/redirect/service/{{ service.slug }}/ par exemple et prévoir une URL adéquate à cet endroit; idem via les assets pour une image. Pour tout stocker coté a2, il y a plusieurs tickets sur le sujet: #20700 et #47406.

#8

Updated by Benjamin Dauvergne 5 months ago

  • Assignee changed from Benjamin Dauvergne to Emmanuel Cazenave
#9

Updated by Emmanuel Cazenave 4 months ago

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.

#10

Updated by Frédéric Péters 4 months ago

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").

#11

Updated by Emmanuel Cazenave 4 months ago

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 {
#12

Updated by Emmanuel Cazenave 4 months ago

Retour à l'intitulé de ce ticket.

#13

Updated by Benjamin Dauvergne 4 months ago

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

Updated by Benjamin Dauvergne 4 months ago

  • Status changed from Solution validée to Nouveau

Je pense qu'on va faire autrement, cf. #61191.

#15

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

  • Status changed from Nouveau to Fermé

Also available in: Atom PDF