Bug #37503
TypeError at /api/users/cf6c572dee184210a3af6a0067fbfe71/
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
06 novembre 2019
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Trace Authentic qui dit :
File "/usr/lib/python2.7/dist-packages/authentic2/api_views.py" in handle_exception 101. response = super(ExceptionHandlerMixin, self).handle_exception(exc) File "/usr/lib/python2.7/dist-packages/rest_framework/views.py" in dispatch 454. self.initial(request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/rest_framework/views.py" in initial 385. self.check_permissions(request) File "/usr/lib/python2.7/dist-packages/rest_framework/views.py" in check_permissions 318. if not permission.has_permission(request, self): File "/usr/lib/python2.7/dist-packages/rest_framework/permissions.py" in has_permission 47. return request.user and request.user.is_authenticated() Exception Type: TypeError at /api/users/cf6c572dee184210a3af6a0067fbfe71/ Exception Value: 'bool' object is not callable Request information: USER: Publik Service User
depuis :
commit a14ced4d18ce868b9b2d7a37ce4d937c734f09e6 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sat Oct 5 10:30:04 2019 +0200 dj22: use user.is_authenticated as a boolean (#36708)
Fichiers
Révisions associées
Historique
Mis à jour par Thomas Noël il y a plus de 4 ans
De ce que je comprends il faut plutôt partir vers des choses du genre :
from django.utils.deprecation import CallableFalse, CallableTrue ... @property def is_anonymous(self): return CallableFalse ou CallableTrue, c'est selon @property def is_authenticated(self): return CallableTrue ou CallableFalse, c'est selon
Mis à jour par Frédéric Péters il y a plus de 4 ans
Ça c'est la forme de transition, solution adaptée par django entre quelques versions pour marcher en booléen et en callable, mais je pense qu'on peut s'épargner la phase de transition, en restant comme on est, ou en basculant sur une version plus récente de djandorestframework (mais j'ai regardé et ça demande 3.7 qui me semble un saut en avant conséquent, et ça m'irait de revert côté hobo un temps).
Mis à jour par Thomas Noël il y a plus de 4 ans
- Fichier 0001-dj22-use-user.is_authenticated-as-a-boolean-or-calla.patch 0001-dj22-use-user.is_authenticated-as-a-boolean-or-calla.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Deux propositions, en fait :
- soit un simple revert de a14ced4, qui marchera forcément et nous remettra à l'aise
- soit ce patch
sachant que le vrai boulot c'est en fait de passer à DRF 3.7
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Yep transition vers djangorestframework 3.7 à venir mais pour le temps de passage passer par les CallableTrue/False c'est très bien.
Mis à jour par Thomas Noël il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit ce798bc5871dd45b383ab7e6c2ab08cac51f9bf0 Author: Thomas NOEL <tnoel@entrouvert.com> Date: Thu Nov 7 01:12:40 2019 +0100 dj22: use user.is_authenticated as a boolean or callable (#37503)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
dj22: use user.is_authenticated as a boolean or callable (#37503)