Development #52068
association d'un utilisateur à une nouvelle demande/fiche : logguer l'éventuelle erreur
0%
Description
On balance :
new_formdata.user = get_publisher().user_class.lookup_by_string(value)
et s'il n'y pas d'utilisateur trouvé ça juste n'associe pas d'utilisateur; on devrait faire une loggederror à ce moment (si value n'est pas vide).
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ 3 ans
- Fichier 0001-workflows-record-error-when-user-to-assign-cannot-be.patch 0001-workflows-record-error-when-user-to-assign-cannot-be.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a environ 3 ans
Je dirais de loger même si value est vide, car c'est un cas certainement anormal. Si c'est lié à un crash du compute au dessus c'est vrai qu'on aura déjà un autre log (ili permettra de voir la raison du value vide), mais on peut aussi imaginer un compute syntaxiquement correct mais qui ne renvoie rien (et on voudra le savoir, dans 99,9% des cas).
C'est à dire remplacer :
if value and not new_formdata.user: get_publisher().record_error(
par
if not new_formdata.user: get_publisher().record_error(
Mis à jour par Frédéric Péters il y a environ 3 ans
Je m'étais posé la question à l'écriture du ticket et j'étais plutôt à penser que la situation où value était vide (et pas suite à une erreur de rendu dans self.compute, qui enregistrera sa propre erreur), cette situation sera le plus souvent désirée, en fait je pensais à des {% if quelquechoseseulement %}{{ whatever }}{% endif %}
où le gabarit est clairement prévu pour parfois produire une valeur vide.
Mis à jour par Thomas Noël il y a environ 3 ans
- Statut changé de Solution proposée à Solution validée
Frédéric Péters a écrit :
Je m'étais posé la question à l'écriture du ticket et j'étais plutôt à penser que la situation où value était vide (et pas suite à une erreur de rendu dans self.compute, qui enregistrera sa propre erreur), cette situation sera le plus souvent désirée, en fait je pensais à des
{% if quelquechoseseulement %}{{ whatever }}{% endif %}
où le gabarit est clairement prévu pour parfois produire une valeur vide.
Je pensais ça et je me suis dit que «je veux attacher des demandes à un usager sauf des fois» c'est rarement voulu.
Mais hey, allons-y ainsi, je te suis. De toute façon record_error c'est pas du logs, juste des alertes, alors autant ne pas en ajouter trop.
(On reverra ça quand on se sera ajouté des formdata_xx_foobar_logs pour enregistrer vraiment ce qui se passe sur une demande)
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit d5cf5890681ace837767ded38e49470db0e4911d Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Mar 30 22:48:06 2021 +0200 workflows: record error when user to assign cannot be found (#52068)
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
workflows: record error when user to assign cannot be found (#52068)