Projet

Général

Profil

Bug #20497

trace sur accès à /manage/roles/

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
07 décembre 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:

Description

Internal Server Error: /manage/roles/
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python2.7/dist-packages/django/contrib/auth/decorators.py", line 22, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/authentic2/manager/views.py", line 111, in dispatch
    return super(PermissionMixin, self).dispatch(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/authentic2/manager/views.py", line 168, in dispatch
    self.search_form = self.get_search_form()
  File "/usr/lib/python2.7/dist-packages/authentic2/manager/views.py", line 165, in get_search_form
    return form_class(**self.get_search_form_kwargs())
  File "/usr/lib/python2.7/dist-packages/authentic2/manager/forms.py", line 386, in __init__
    super(ServiceRoleSearchForm, self).__init__(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/authentic2/manager/forms.py", line 67, in __init__
    super(PrefixFormMixin, self).__init__(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/authentic2/manager/forms.py", line 464, in __init__
    data[ou_key] = str(self.ou_qs[0].pk)
  File "/usr/lib/python2.7/dist-packages/django/db/models/query.py", line 184, in __getitem__
    return self._result_cache[k]
IndexError: list index out of range

Historique

#2

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

La trace complète est sans doute utile, on y lit notamment "Error in formatting: AttributeError: 'RoleSearchForm' object has no attribute '_errors'".

#3

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

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Benjamin Dauvergne

Le problème est identifié, dans le cas d'un utilisateur qui n'a un droit d'administration que sur un seul rôle, et non pas sur tous les rôles d'un OU ou plusieurs OU, ça ne marche pas, il faudrait complètement retirer le sélecteur d'OU, ou alors il faut que je change la façon de lister les OUs, au lieu de user.ous_with_perm('a2_rbac.search_role') il faudrait que je fasse OU.objects.filter(role=user.filter_by_perm('a2_rbac.search_role', roles)), en fait c'est vrai pour les utilisateurs aussi (même si pour l'instant on ne donne jamais à personne le droit d'éditer un unique utilisateur).

#4

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

  • Statut changé de En cours à Fermé

Corrigé par #20511.

Formats disponibles : Atom PDF