Files
django-maraudes/website/backends.py
2016-12-29 13:26:22 +01:00

25 lines
771 B
Python

from django.contrib.auth.backends import ModelBackend
from utilisateurs.models import Maraudeur
def user_models():
return (Maraudeur,)
class MyBackend(ModelBackend):
def get_user(self, user_id):
""" Essaye de récupérer une classe enfant de User existante, telle que
définie dans 'utilisateurs.models'. Fallback to default user.
"""
for user_model in user_models():
try:
return user_model.objects.get(pk=user_id)
except user_model.DoesNotExist:
print('Tried %s.' % user_model.__class__)
return super().get_user(user_id)
def has_perm(self, *args, **kwargs):
print('call has_perm', args, kwargs)
return super().has_perm(*args, **kwargs)