Projet

Général

Profil

Bug #58334

appel API vers une vue filtrant sur l'usager connecté → AttributeError: 'ApiAdminUser' object has no attribute 'id'

Ajouté par Frédéric Péters il y a plus de 2 ans. Mis à jour il y a 5 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
03 novembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Exception:
  type = '<class 'AttributeError'>', value = ''ApiAdminUser' object has no attribute 'id''

Stack trace (most recent call first):
  File "/usr/lib/python3/dist-packages/wcs/backoffice/management.py", line 1665, in get_view_criterias
  1663             elif filter_field.type == 'user-id':
  1664                 if filter_field_value == '__current__' and get_request().user:
> 1665                     filter_field_value = str(get_request().user.id)
  1666                 criterias.append(Equal('user_id', filter_field_value))
  1667             elif filter_field.type == 'submission-agent-id':

  locals:
     criterias = []
     fake_fields = [<wcs.backoffice.management.FakeField object at 0x7fae0bd3d0b8>, <wcs.backoffice.management.FakeField object at 0x7fae0bd3de48>, <wcs.backoffice.management.FakeField object at 0x7fae0bd3d6d8>, <wcs.backoffice.management.FakeField object at 0x7fae0bd3de80>, <wcs.backoffice.management.FakeField
object at 0x7fae0bd3dac8>, <wcs.backoffice.management.FakeField object at 0x7fae0bd0df28>]
     filter_field = <wcs.backoffice.management.FakeField object at 0x7fae0bd3dac8>
     filter_field_key = 'filter-user-value'
     filter_field_value = '__current__'
     filters_dict = {'filter-user': 'on', 'filter-user-value': '__current__', 'orig': 'quimper.test.entrouvert.org', 'algo': 'sha256', 'timestamp': '2021-11-03T08:29:54Z', 'nonce': '4c58cd01b25d0a9fb497ec32adcba3be', 'signature': 'VRMcUeFtAq72KLT28/dVLDag/Nr4FoxEM8uupaxTmmE='}
     name_id = None
     query_overrides = {'orig': 'quimper.test.entrouvert.org', 'algo': 'sha256', 'timestamp': '2021-11-03T08:29:54Z', 'nonce': '4c58cd01b25d0a9fb497ec32adcba3be', 'signature': 'VRMcUeFtAq72KLT28/dVLDag/Nr4FoxEM8uupaxTmmE='}
     request = <wcs.compat.CompatHTTPRequest object at 0x7fae0be486d8>
     request_form = {'orig': 'quimper.test.entrouvert.org', 'algo': 'sha256', 'timestamp': '2021-11-03T08:29:54Z', 'nonce': '4c58cd01b25d0a9fb497ec32adcba3be', 'signature': 'VRMcUeFtAq72KLT28/dVLDag/Nr4FoxEM8uupaxTmmE='}
     self = <wcs.api.ApiCardPage object at 0x7fae0bbb2828>

  File "/usr/lib/python3/dist-packages/wcs/backoffice/management.py", line 1569, in get_criterias_from_query
  1567     def get_criterias_from_query(self):
  1568         query_overrides = get_request().form
> 1569         return self.get_view_criterias(query_overrides, request=get_request())
  1570
  1571     def get_view_criterias(self, query_overrides=None, request=None):

  locals:
     query_overrides = {'orig': 'quimper.test.entrouvert.org', 'algo': 'sha256', 'timestamp': '2021-11-03T08:29:54Z', 'nonce': '4c58cd01b25d0a9fb497ec32adcba3be', 'signature': 'VRMcUeFtAq72KLT28/dVLDag/Nr4FoxEM8uupaxTmmE='}
     self = <wcs.api.ApiCardPage object at 0x7fae0bbb2828>

  File "/usr/lib/python3/dist-packages/wcs/backoffice/management.py", line 1997, in json
  1995         user = get_user_from_api_query_string() or get_request().user if not anonymise else None
  1996         selected_filter = self.get_filter_from_query(default='all')
> 1997         criterias = self.get_criterias_from_query()
  1998         order_by = misc.get_order_by_or_400(get_request().form.get('order_by', None))
  1999         if self.view and not order_by:

  locals:
     anonymise = False
     selected_filter = 'all'
     self = <wcs.api.ApiCardPage object at 0x7fae0bbb2828>
     user = <wcs.api.ApiCardPage.check_access.<locals>.ApiAdminUser object at 0x7fae10251400>
(...)

PATH_INFO       '/api/cards/atout-sport-associations/list/association-de-l-usager'
QUERY_STRING    'orig=quimper.test.entrouvert.org&algo=sha256&timestamp=2021-11-03T08%3A29%3A54Znonce=4c58cd01b25d0a9fb497ec32adcba3be&signature=VRMcUeFtAq72KLT28/dVLDag/Nr4FoxEM8uupaxTmmE%3D'

Historique

#1

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

  • Description mis à jour (diff)
#2

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

  • Statut changé de Nouveau à Fermé

#77162 a ajouté un id à l'ApiAdminUser, donc ça ne planterait plus pareil, mais surtout il y a eu #68532 qui a fait que seuls les vrais utilisateurs étaient considérés :

-                    elif get_request().user:
+                    elif isinstance(get_request().user, get_publisher().user_class):
                         filter_field_value = str(get_request().user.id)

Formats disponibles : Atom PDF