25 lines
771 B
Python
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)
|