def login_user(request): '''Log in a user or render the login template.''' if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') user, error = HuxleyUser.authenticate(username, password) if error: return render_json({'success': False, 'error': error}) redirect = HuxleyUser.login(request, user) return render_json({'success': True, 'redirect': redirect}) return render_template(request, 'login.html')
def post(self, request, *args, **kwargs): '''Log in a new user.''' if request.user.is_authenticated(): raise PermissionDenied('Another user is currently logged in.') try: data = request.DATA user = HuxleyUser.authenticate(data['username'], data['password']) except AuthenticationError as e: raise AuthenticationFailed(str(e)) login(request, user) return Response(UserSerializer(user).data, status=status.HTTP_201_CREATED)
def post(self, request, *args, **kwargs): '''Log in a new user.''' if request.user.is_authenticated(): raise PermissionDenied('Another user is currently logged in.') try: data = request.DATA user = HuxleyUser.authenticate(data['username'], data['password']) except AuthenticationError as e: raise AuthenticationFailed(str(e)) login(request, user) return Response(UserSerializer(user).data, status=status.HTTP_201_CREATED)
def login_user(request): '''Log in a user or render the login template.''' if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') try: user = HuxleyUser.authenticate(username, password) except AuthenticationError as e: return render_json({'success': False, 'error': str(e)}) redirect = HuxleyUser.login(request, user) return render_json({'success': True, 'redirect': redirect}) return render_template(request, 'login.html')