Projet

Général

Profil

Development #21781

Permettre d'accompagner les messages suggérant de s'adresser à un administrateur d'une URL

Ajouté par Frédéric Péters il y a environ 6 ans. Mis à jour il y a plus de 3 ans.

Statut:
Nouveau
Priorité:
Bas
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
11 février 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Il y a des messages genre :

  • "La connexion depuis %(name)s a échoué, vous pouvez signaler le numéro d'erreur %(request_id)s à un administrateur."
  • "Votre mot de passe n'a pas pu être réinitialisé. Veuillez contacter votre administrateur."
  • etc.

mais ni adresse email ni formulaire de contact, du coup bonne chance à l'usager.

On pourrait avoir un paramètre permettant de préciser l'adresse d'un formulaire de contact.

Historique

#3

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

La bonne solution ce serait d'abord d'analyser plus finement les erreurs en fonction des listes prévues:

Elles signalent quasiment toute une erreur de configuration et devraient juste être loggé en erreur pour qu'on corrige, et la seule chose qu'on doit rapporter à l'utilisateur c'est qu'il devrait réessayer plus tard. La seule qui peut concerner l'utilisateur c'est "access_denied" qu'il faut expliciter à l'utilisateur en lui donnant un contact, mais auprès des responsables de l'IdP OIDC (et donc pas de l'IdP authentic qui rapporte le problème) vraisemblablement.

#4

Mis à jour par Frédéric Péters il y a environ 6 ans

J'ai listé des exemples de message parlant de contacter l'administrateur, à Tournai c'était "Votre mot de passe n'a pas pu être réinitialisé (...)" (cf #21779).

Je n'ai pas fait le tour et s'il n'y a aucun message où demander de contacter un admin local à un sens, modifions simplement les textes.

#5

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

Désolé je me suis focalisé uniquement sur les deux premiers qui ne concernent que authentic2_auth_oidc, je vais donc les laisser de coté car ils sont particuliers, je vais voir pour les autres.

#7

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

Bon le problème ici est multiple:
1. on a rien pour surcharger les chaîne localisable passées à messages.warning/info/error().
2. django.contrib.messages ne permet pas de balancer autre chose qu'une simple chaîne de texte, ni attributs, ni HTML.

Pour le premier je me dis qu'il faut arrêter de mettre directement la chaîne dans le code et de passer par un catalogue de messages avec des codes, quelque chose comme:

class MessageCatalog(...): 
   PASSWORD_RESET_UNUSABLE_PASSWORD_WARNING = _('Your account does not have a password, so you cannot change it')

catalog = MessageCatalog()

avec un peu d'huile de coude pour que sur un accès à catalog.PASSWORD_RESET_UNUSABLE_PASSWORD_WARNING on aille aussi voir si settings.A2_MESSAGE_CATALOG.get(get_language(), {}).get('password-reset-unusable-password-warning') est défini.

2. on pourrait se débrouiller via le tag warning présent sur le message pour au niveau du message afficher un lien vers le support, FAQ, etc..

          <ul class="messages">
              {% for message in messages %}
              <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
                  {{ message }}
                  {% if "warning" in message.tags %}
                      <p>Pour tout problème consultez la <a href="FAQ">FAQ</a></p>
                  {% endif %}
              </li>
              {% endfor %}
          </ul>

donc via le template ou on peut aussi prévoir un template particulier pour ce bout de message {% include "authentic2/message_template" %}.

On pourrait aussi passer directement le code du message vu plus haut dans les tags si on souhaite spécialiser au niveau du template ce qui est dit, comme pointer vers la bonne URL de la FAQ (mais ce n'est pas facile à maintenir ensuite).

#8

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Priorité changé de Normal à Bas

Je baisse, voir je fermerai, la bonne stratégie c'est ne pas avoir ces messages ou de conseiller de réessayer plus tard + éventuellement une URL générique de support configurable (formulaire de demande "libre"), pas besoin de faire dans la finesse.

Formats disponibles : Atom PDF