Projet

Général

Profil

Development #61191

passer l'URL actuelle aux liens connexions / déconnexion / enregistrement

Ajouté par Benjamin Dauvergne il y a environ 2 ans. Mis à jour il y a environ 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
27 janvier 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Je découvre que ça ne semble pas le cas actuellement, c'est dire si je suis aware.

--- a/templates/includes/user-info.html
+++ b/templates/includes/user-info.html
@@ -4,22 +4,24 @@
 <div id="toplinks">
 {% block user-info %}
 {% skeleton_extra_placeholder user-info %}
+  {% with next_url=request.get_full_path|urlencode %}
   {% 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}}?next={{ next_url }}">{% endif %}
     <span class="connected-user">{% block user-info-user-name %}{{user.first_name}} {{user.last_name}}{% endblock %}</span>{% if idp_account_url %}</a>{% endif %}
-    <a accesskey="o" class="logout" href="{% url 'auth_logout' %}">{% block user-info-logout-label %}Déconnexion{% endblock %}</a>
+    <a accesskey="o" class="logout" href="{% url 'auth_logout' %}?next={{ next_url }}">{% block user-info-logout-label %}Déconnexion{% endblock %}</a>
   </span>
   {% else %}
    {% firstof registration_url idp_registration_url as registration_url %}
-    <span class="login"><a accesskey="2" class="login-link" href="{% url 'auth_login' %}" 
+    <span class="login"><a accesskey="2" class="login-link" href="{% url 'auth_login' %}?next={{ next_url }}" 
       >{% block user-info-login-label %}Connexion{% endblock %}
       {% if registration_url and include_registration_link != False %}
       </a>
       <span class="sep">/</span>
-      <a class="registration" href="{{registration_url}}" 
+      <a class="registration" href="{{registration_url}}?next={{ next_url }}" 
       >{% block user-info-registration-label %}Inscription{% endblock %}{% endif %}</a></span>
   {% endif %}
+  {% endwith %}
 {% end_skeleton_extra_placeholder %}
 {% endblock %}
 </div>

Ça semble marcher même en se déplaçant sur un autre service que combo, je suppose grâce à la directive skeleton_extra_placeholder qui doit suspendre l'interprétation du template lors du rendu dans skeleton.

Mais ça rentre en collision avec les plans du ticket "utiliser idp_service_and_next_params" (#60165), j'ai l'impression qu'il faudrait réfléchir un poil plus ici, on ne devrait forcer le paramètre "next" depuis une variable hobo ici, en fait je ne sais même plus pourquoi on passe "service" aussi, on peut deviner ça via ?next=.


Fichiers


Demandes liées

Lié à Hobo - Development #61192: Introduire des variables pour URLs usuelles login_url, logout_url et registration_urlFermé27 janvier 2022

Actions

Révisions associées

Révision e95ff40b (diff)
Ajouté par Benjamin Dauvergne il y a environ 2 ans

misc: use contextual variables for all user-info links (#61191)

It uses the new variables from the new hobo's user_urls context
processor, introduced in #61192.

Historique

#2

Mis à jour par Benjamin Dauvergne il y a environ 2 ans

Ça pourrait aussi passer par des templatetags dans la bibliothèque de tag de hobo pour ne pas laisser toute cette logique dans les templates :

{% login_url %}
{% logout_url %}
{% registration_url %}

on est un peu limité avec simplement des variables ou des bouts de template.

#3

Mis à jour par Benjamin Dauvergne il y a environ 2 ans

Benjamin Dauvergne a écrit :

Ça pourrait aussi passer par des templatetags dans la bibliothèque de tag de hobo pour ne pas laisser toute cette logique dans les templates :
[...]
on est un peu limité avec simplement des variables ou des bouts de template.

Ou bêtement un context processor comme template_vars...

#4

Mis à jour par Benjamin Dauvergne il y a environ 2 ans

  • Lié à Development #61192: Introduire des variables pour URLs usuelles login_url, logout_url et registration_url ajouté
#5

Mis à jour par Benjamin Dauvergne il y a environ 2 ans

  • Assigné à mis à Benjamin Dauvergne
#6

Mis à jour par Benjamin Dauvergne il y a environ 2 ans

#7

Mis à jour par Serghei Mihai il y a environ 2 ans

  • Statut changé de Solution proposée à Solution validée

Sur la forme: avoir des espaces entres les doubles accolades et les variables {{account_url}} => {{ account_url }}.
Et go.

#9

Mis à jour par Benjamin Dauvergne il y a environ 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit e95ff40b45bac69e060dd77259c42cd3da6f0748
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Fri Jan 28 10:30:39 2022 +0100

    misc: use contextual variables for all user-info links (#61191)

    It uses the new variables from the new hobo's user_urls context
    processor, introduced in #61192.
#10

Mis à jour par Transition automatique il y a environ 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#11

Mis à jour par Transition automatique il y a presque 2 ans

Automatic expiration

Formats disponibles : Atom PDF