Development #40521
message d'avertissement avant suppression de compte inutilisé : unité de temps
0%
Description
"You have not logged since 730 days."; ce serait plus humain d'écrire "2 ans".
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ 4 ans
- Sujet changé de message d'avertissement avant suppression de compte : unité de temps à message d'avertissement avant suppression de compte inutilisé : unité de temps
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-commands-human-duration-in-unused-account-email-4052.patch 0001-commands-human-duration-in-unused-account-email-4052.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a environ 4 ans
J'allais pointer différents trucs (pluralize est à proscrire pour une internationalisation correcte) mais à regarder le module je me dis qu'on a juste à exploiter https://docs.djangoproject.com/en/1.11/ref/contrib/humanize/ , simplement avoir la date dans le contexte et lui faire confiance pour produire quelque chose d'humain. Je n'étais pas trop sûr du résultat mais il est satisfaisant (il dit "dans 1 année" plutôt que "dans 1 an" mais ça me va).
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-commands-human-duration-in-unused-account-email-4052.patch 0001-commands-human-duration-in-unused-account-email-4052.patch ajouté
Effectivement, en reformulant la phrase on arrive à nos fins. Il faudra faire gaffe à garder une tournure qui fonctionne au moment des traductions (« one year ago » devient « il y a une année »).
Je cale le filtre dans le code et pas dans le template, un peu parce que comme ça on aura pas à s'en soucier dans publik-base-theme, mais en vrai c'est surtout qu'utiliser humanize dans le template ne fonctionne pas, sans que je trouve d'explication (oui j'ai pensé à l'ajouter à INSTALLED_APPS).
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-commands-human-duration-in-unused-account-email-4052.patch 0001-commands-human-duration-in-unused-account-email-4052.patch ajouté
Rebasé sur #40760 et avec des tests qui devraient passer.
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-commands-human-duration-in-unused-account-email-4052.patch 0001-commands-human-duration-in-unused-account-email-4052.patch ajouté
Rerebasé, sur #26909.
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-commands-human-duration-in-unused-account-email-4052.patch 0001-commands-human-duration-in-unused-account-email-4052.patch ajouté
Rererebasé.
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Statut changé de Solution proposée à Information nécessaire
Pourquoi avoir laissé « In {{ days_to_deletion }} days […]» dans le template ? Est-ce qu'on ne pourrait pas faire quelque chose du genre naturaltime(now()+timedelta(days=user.ou.clean_unused_accounts_deletion - alert_delay))
pour avoir un affichage du même genre pour cette date future ?
Mis à jour par Paul Marillonnet il y a environ 4 ans
Frédéric Péters a écrit :
Je n'étais pas trop sûr du résultat mais il est satisfaisant (il dit "dans 1 année" plutôt que "dans 1 an" mais ça me va).
(D'ailleurs c'est je crois ce que Frédéric attend quand il donne cet exemple d'affichage d'une date future).
Mis à jour par Paul Marillonnet il y a environ 4 ans
Autre remarque, sur la forme, naturaltime
c'est un filtre de gabarit, ça me paraît plus logique de faire, dans le gabarit, quelque chose comme :
{% load humanize %} … Since your last logging was {{ last_login_date|naturaltime }}, …
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Fichier 0001-commands-human-duration-in-unused-account-email-4052.patch 0001-commands-human-duration-in-unused-account-email-4052.patch ajouté
- Statut changé de Information nécessaire à Solution proposée
Paul Marillonnet a écrit :
Pourquoi avoir laissé « In {{ days_to_deletion }} days […]» dans le template ? Est-ce qu'on ne pourrait pas faire quelque chose du genre
naturaltime(now()+timedelta(days=user.ou.clean_unused_accounts_deletion - alert_delay))
pour avoir un affichage du même genre pour cette date future ?
Parce que le problème du ticket c'est d'afficher un nombre de jours inintelligible. Or le délai entre alerte et suppression est de maximum un mois, et afficher « 30 jours », c'est intelligible (si le délai est plus élevé, le problème est ailleurs).
La deuxième raison est technique, naturaltime, pour un nombre de jours élevé du genre autour de 365 ou 720, va renvoyer « 1 année » ou 2, c'est à dire arrondir correctement et ne pas faire quelque chose de précis et moche. En revanche si days_to_deletion vaut 14, naturaltime dit « une semaine et 6 jours », c'est moche et moins bien que « 14 jours ».
Autre remarque, sur la forme, naturaltime c'est un filtre de gabarit, ça me paraît plus logique de faire, dans le gabarit
Comme noté plus haut, j'avais essayé sans réussir, mais je m'y suis repenché et j'ai trouvé le problème, on ne peut pas utiliser de filtres à l'intérieur de {% blocktrans %}, il faut passer par with
. C'est donc corrigé.
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Valentin Deniaud a écrit :
Parce que le problème du ticket c'est d'afficher un nombre de jours inintelligible. Or le délai entre alerte et suppression est de maximum un mois, et afficher « 30 jours », c'est intelligible (si le délai est plus élevé, le problème est ailleurs).
La deuxième raison est technique, naturaltime, pour un nombre de jours élevé du genre autour de 365 ou 720, va renvoyer « 1 année » ou 2, c'est à dire arrondir correctement et ne pas faire quelque chose de précis et moche. En revanche si days_to_deletion vaut 14, naturaltime dit « une semaine et 6 jours », c'est moche et moins bien que « 14 jours ».
Oui t'as complètement raison.
Comme noté plus haut, j'avais essayé sans réussir, mais je m'y suis repenché et j'ai trouvé le problème, on ne peut pas utiliser de filtres à l'intérieur de {% blocktrans %}, il faut passer par
with
. C'est donc corrigé.
Yep nickel, ack.
Mis à jour par Valentin Deniaud il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit edab053f92495b0eda214697a4a6b3d9541e96b8 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Thu Mar 12 12:22:57 2020 +0100 commands: human duration in unused account email (#40521)
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
commands: human duration in unused account email (#40521)