from django.conf import settings
from django.contrib.auth.models import User, check_password

class GroupBackend(object):
	def authenticate(self, username=None, password=None):
		login_valid = (settings.ADMIN_LOGIN == username)
		pwd_valid = check_password(password, settings.ADMIN_PASSWORD)
		if login_valid and pwd_valid:
			try:
				user = Group.objects.get(username=username)
			except User.DoesNotExist:
				# Create a new user. Note that we can set password
				# to anything, because it won't be checked; the password
				# from settings.py will.
				user = User(username=username, password='get from settings.py')
				user.is_staff = True
				user.is_superuser = True
				user.save()
			return user
		return None

	def get_user(self, user_id):
		try:
			return User.objects.get(pk=user_id)
		except User.DoesNotExist:
			return None