Projet

Général

Profil

Development #32887

Ré-intégrer le bloc de profil pour les mots de passe

Ajouté par Benjamin Dauvergne il y a presque 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
07 mai 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Le ticket #32780 a rendu nécessaire de réellement utiliser le bloc de profil des mots de passe et de ne pas le surcharger avec un template en ajoutant un rendu manuel au niveau d'accounts.html.

Actuellement le lien de changement de mot de passe s'affiche alors que la vue est interdite, voir https://connexion-malakoff.test.entrouvert.org/accounts/ en se connectant via FC.


Fichiers


Demandes liées

Lié à Publik - Development #27081: Intégration cahier des charges FranceConnectFermé08 octobre 2018

Actions

Révisions associées

Révision 72820f13 (diff)
Ajouté par Benjamin Dauvergne il y a presque 5 ans

templates: use password profile frontend block (#32887)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

#2

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

À valider avant la mise en prod car sinon la page mon compte est un peu cassée.

#3

Mis à jour par Frédéric Péters il y a presque 5 ans

À côté de ça j'essaie d'assurer depuis plusieurs semaines une transition douce avec #31218. Frustration.

#4

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Je suis désolé mais je ne vois pas le rapport en fait, si tu peux m'expliquer (ça n'a rien à voir avec les pages d'enregistrement).

#5

Mis à jour par Frédéric Péters il y a presque 5 ans

Le rapport c'est que malgré les efforts on n'arrive pas à anticiper les choses pour éviter de trouver des morceaux "un peu cassés".

Mais si je comprends bien, "un peu cassé" c'est en fait seulement "affiche un lien que normalement elle ne devrait pas", pas une régression suite à un changement mal anticipé. (?)

Par contre, avec authentic de git master, je n'ai pas de frontends_block_by_id.password, j'ai juste "fc" dans ce dictionnaire.

Ce qui ramène à l'anticipation, qui serait ici d'appliquer uniquement le morceau {% if id != "password" %}. Comme ça quand authentic aura password dans frontends_block_by_id on ne se trouvera pas avec deux fois la partie mot de passe sur la page. Et on pourra appliquer les autres chunks du patch.

#6

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Frédéric Péters a écrit :

Mais si je comprends bien, "un peu cassé" c'est en fait seulement "affiche un lien que normalement elle ne devrait pas", pas une régression suite à un changement mal anticipé. (?)

Oui.

Par contre, avec authentic de git master, je n'ai pas de frontends_block_by_id.password, j'ai juste "fc" dans ce dictionnaire.

Bizarre de mon coté je l'ai.

Ce qui ramène à l'anticipation, qui serait ici d'appliquer uniquement le morceau {% if id != "password" %}. Comme ça quand authentic aura password dans frontends_block_by_id on ne se trouvera pas avec deux fois la partie mot de passe sur la page. Et on pourra appliquer les autres chunks du patch.

Il l'a maintenant, c'est pour cela que ça pose souci.

#7

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

De plus si le bloc était vraiment absent je ne vois pas pourquoi on aurait surchargé son template pour le rendre invisible.

#8

Mis à jour par Frédéric Péters il y a presque 5 ans

Il l'a maintenant, c'est pour cela que ça pose souci.

De plus si le bloc était vraiment absent je ne vois pas pourquoi on aurait surchargé son template pour le rendre invisible.

Désolé ça m'embrouille davantage encore la situation.

Si frontends_block_by_id['password'] existait aujourd'hui, avec le code du gabarit aujourd'hui,

  {% for id, block in frontends_block_by_id.items %}
  <div class="block" id="account-management-{{ id }}">
    <h2>{{ block.name }}</h2>

on aurait, aujourd'hui, en recette (b7d0c63b, v2.1.65, origin/master), un bloc "mot de passe" venant s'ajouter sous "Gestion du compte", à cette page : https://connexion-validation.test.entrouvert.org/accounts/

Ce n'est pourtant pas le cas.

#9

Mis à jour par Frédéric Péters il y a presque 5 ans

Ce n'est pourtant pas le cas.

À détricoter les choses, à lire le code, ce qui se passe en fait c'est que le patch de ce ticket, introduisant un login_password_profile.html, qui n'existe pas dans authentic, va provoquer l'ajout dans frontends_block_by_id d'une entrée 'password'.

Peut-être qu'en local tu as un login_password_profile.html qui a été zappé d'un patch ?

#10

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Statut changé de Solution proposée à Résolu (à déployer)

Parce que publik-base-theme contient ce fichier vide :

bdauvergne@revestel:~/wd/eo/publik-base-theme$ ls -l templates/auth/login_password_profile.html 
-rw-r--r-- 1 bdauvergne bdauvergne 0 mai    8 21:49 templates/auth/login_password_profile.html

ajouté dans ce commit :
commit c756d92d7ea26791fad71a958c5d1effb366bdea
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Oct 22 22:41:44 2015 +0200

    templates: relayout "account management" page (#8761)

#11

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Statut changé de Résolu (à déployer) à Solution proposée
#12

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Et que la vue login_password_profile supporte les deux emplacements :

    return render_to_string(['auth/login_password_profile.html',
                             'authentic2/login_password_profile.html'],
                            context, request=request)

#13

Mis à jour par Frédéric Péters il y a presque 5 ans

Parce que publik-base-theme contient ce fichier vide (templates/auth/login_password_profile.html)

ok, c'est ce qui assure donc qu'aujourd'hui frontends_block_by_id ne contient pas de partie "password".

Et donc, ce patch, mettant du contenu dans ce fichier, fait apparaitre ce bloc "password"; le tout se tenant donc dans publik-base-theme uniquement.

Et on passe par ce bloc de frontend parce que ça donne accès à can_change_password/has_usable_password, ce qui fait donc de ce patch le compagnon publik-base-theme de #32760. (et peut-être que la description devait pointer vers ce ticket depuis le début et que c'était juste une faute de frappe de pointer vers #32780 à la place, et juste pas de bol que ça tombe aussi sur un ticket authentic, en rapport trop lointain).

Enfin détricoté.

Bref, je dirais "templates: use password profile frontend block (#32887)", histoire de tenir sous 80 caractères.

#15

Mis à jour par Frédéric Péters il y a presque 5 ans

Ok, et donc maintenant que je l'applique en local, ça ne marche pas du tout.

{% frontends_block_by_id.password %} devrait être {{ ... }}.

mais une fois fait ça la page contient

 {'authenticator': <authentic2.authenticators.LoginPasswordAuthenticator object at 0x7f4e541fbf90>, 'name': u'Mot de passe', 'status_code': 200, 'id': 'password', 'content': u'\n \n <li><a href="/accounts/password/change/">Modifier le mot de passe</a></li>\n \n\n', 'response': u'\n \n <li><a href="/accounts/password/change/">Modifier le mot de passe</a></li>\n \n\n'} 

Bref,

-      {% frontends_block_by_id.password %}
+      {{ frontends_block_by_id.password.content|safe }}

(patch attaché)

#16

Mis à jour par Frédéric Péters il y a presque 5 ans

  • Statut changé de Solution proposée à Résolu (à déployer)

Et cela étant considéré comme une relecture,

commit 72820f136a3ae32cbaf16354ea186aca7b176990
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Tue May 7 21:47:34 2019 +0200

    templates: use password profile frontend block (#32887)
#17

Mis à jour par Frédéric Péters il y a presque 5 ans

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

Formats disponibles : Atom PDF