Projet

Général

Profil

Bug #62177

TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

Ajouté par Sentry Io il y a environ 2 ans. Mis à jour il y a environ 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
25 février 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

https://sentry.entrouvert.org/entrouvert/sictiam/issues/54644/

TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
(9 additional frame(s) were not displayed)
...
  File "quixote/directory.py", line 88, in _q_traverse
    return obj._q_traverse(path)
  File "quixote/directory.py", line 92, in _q_traverse
    return obj()
  File "wcs/backoffice/management.py", line 1940, in _q_index
    criterias = self.get_criterias_from_query()
  File "wcs/backoffice/management.py", line 1654, in get_criterias_from_query
    return self.get_view_criterias(query_overrides, request=get_request())
  File "wcs/backoffice/management.py", line 1826, in get_view_criterias
    filter_field_value = int(filter_field_value)

Fichiers


Demandes liées

Lié à w.c.s. - Development #60785: Form/Carddata API - filtre avec opérateurFermé18 janvier 2022

Actions

Révisions associées

Révision e3cb559a (diff)
Ajouté par Lauréline Guérin il y a environ 2 ans

backoffice: don't fail on integer cast TypeError (#62177)

Historique

#1

Mis à jour par Lauréline Guérin il y a environ 2 ans

  • Projet changé de Suivi des traces à w.c.s.
#2

Mis à jour par Lauréline Guérin il y a environ 2 ans

#3

Mis à jour par Lauréline Guérin il y a environ 2 ans

En fait avant le dev des opérateurs, ce genre de filtre échouait aussi, mais plus loin:

[2022-02-25 14:34:00] exception caught
Exception:
  type = '<class 'psycopg2.errors.UndefinedFunction'>', value = 'ERREUR:  l'opérateur n'existe pas : character varying = text[]
LINE 1: SELECT id FROM formdata_1_form_title WHERE f1 = ARRAY['','fo...

#4

Mis à jour par Lauréline Guérin il y a environ 2 ans

#5

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

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

Pas de referer dans la trace (je ne sais pas si juste absent ou si sentry filtre), en query string,

?1=on&3=on&4=on&filter=recorded&filter-status=on&filter-vaccin=on&id=on

étrange mélange de paramètres qui viennent via l'ui (type 1=on) et d'un paramètre qui semble plutôt manuellement posé (filter-vaccin=on).

En tout via l'UI, qui met ...&filter-4=on&filter-4-value= ça passe on peut filtrer sur les différentes valeurs de la liste multiple.

Le patch attaché évitera le crash; je ne suis pas remonté voir comment la liste précisément se trouvait présente dans filter_field_value à ce moment, il y aurait peut-être quand même une origine à creuser, si jamais quelque chose dans l'autre sens remonte (text[] vs varchar plutôt que varchar vs text[]).

#6

Mis à jour par Lauréline Guérin il y a environ 2 ans

  • Assigné à mis à Lauréline Guérin
#7

Mis à jour par Lauréline Guérin il y a environ 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit e3cb559a512441d75eeeccdfaccb22b41d37d0c4
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Fri Feb 25 14:32:00 2022 +0100

    backoffice: don't fail on integer cast TypeError (#62177)
#8

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

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

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

Automatic expiration

Formats disponibles : Atom PDF