def login(request): if request.user.is_authenticated(): return handle_user_type(request, redirect_request=True) f = LoginForm(request.POST) if f.is_valid(): user = f.get_user() if not user.is_active: from datetime import datetime user_hashid = '' timestamp = user.last_login or user.date_joined if ((datetime.utcnow() - timestamp.replace(tzinfo=None)).total_seconds() > 300): # 5 min user_hashid = settings.HASHID_CUSTOM_USER.encode(user.pk) return JsonResponse( data={ 'success': True, 'render': loader.render_to_string('account/inactive.html', { 'user': user, 'user_hashid': user_hashid }) }) auth_login(request, user) return JsonResponse(data={ 'success': True, 'location': get_relevant_reversed_url(request) }) else: return JsonResponse(status=400, data={'errors': dict(f.errors.items())})
def login(request): if request.method == 'POST': form = LoginForm(request, data=request.POST) if form.is_valid(): auth_login(request, form.get_user()) next_page = request.GET.get('next', '/') return HttpResponseRedirect(next_page) else: form = LoginForm() if request.user.is_authenticated(): return HttpResponseRedirect('/') return TemplateResponse(request, 'account/login.html', {'form': form})
def sign_in(request): if request.method == 'POST': form = LoginForm(data=request.POST) if form.is_valid(): login(request, form.get_user()) return HttpResponseRedirect('/calendar.html') else: form = LoginForm() return render(request, 'account/sign_in.html', {'form': form})
def login(request): """ Displays the login form and handles the login action. """ redirect_to = request.REQUEST.get('next', '') if not redirect_to: redirect_to = get_referer_url(request) if request.method == "POST": form = LoginForm(data=request.POST) if form.is_valid(): # Ensure the user-originating redirection url is safe. if not is_safe_url(url=redirect_to, host=request.get_host()): redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL) if not form.cleaned_data.get('remember_me'): request.session.set_expiry(0) # Okay, security check complete. Log the user in. auth_login(request, form.get_user()) if request.session.test_cookie_worked(): request.session.delete_test_cookie() return JsonResponse({'status': True, 'redirect': redirect_to}) else: status = False else: form = LoginForm(request) status = True request.session.set_test_cookie() request_url = urlparse.urlparse(request.build_absolute_uri()) context = { 'form': form, 'next': redirect_to or '', 'domain': request_url.netloc, 'rand': ''.join(random.choice(string.ascii_lowercase) for x in range(5)) } if request.is_ajax(): return JsonResponse({'status': status, 'template': render_to_string( 'account/login/login_form.html', context, context_instance=RequestContext(request))}) return TemplateResponse(request, 'account/login/login_container.html', context)