Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Created on 16-04-2012
- @author: Krzysztof
- '''
- from django.contrib.auth.backends import ModelBackend
- from ksiazkakucharska.core.models import Uzytkownik
- from django.core.exceptions import ImproperlyConfigured
- from django.core.exceptions import ObjectDoesNotExist
- from django.contrib.auth.models import User
- class CustomUserModelBackend(ModelBackend):
- def authenticate(self, username=None, password=None):
- try:
- user = Uzytkownik.objects.get(username=username)
- self._user_class = Uzytkownik
- if user.check_password(password, user.password):
- return user
- except Uzytkownik.DoesNotExist:
- try:
- user = User.objects.get(username=username)
- self._user_class = User
- if user.check_password(password):
- return user
- except ObjectDoesNotExist:
- return None
- def get_user(self, user_id):
- try:
- return Uzytkownik.objects.get(pk=user_id)
- except Uzytkownik.DoesNotExist:
- try:
- return User.objects.get(id=user_id)
- except ObjectDoesNotExist:
- return None
- @property
- def user_class(self):
- if not hasattr(self, '_user_class'):
- if hasattr(self.logged_user, 'nazwa_firmy'):
- self._user_class = Uzytkownik
- else:
- self._user_class = User
- if not self._user_class:
- raise ImproperlyConfigured('Could not get custom user model')
- return self._user_class
Add Comment
Please, Sign In to add comment