def login(request): if request.user.is_authenticated(): return HttpResponseRedirect(request.META.get('HTTP_REFERER','/')) if request.method == 'GET': referer = request.META.get('HTTP_REFERER','/') if 'accounts' or 'notice' or 'message' in str(referer): print 'here' request.session['referer'] = '/' else : request.session['referer'] = referer form = LoginForm() return render(request,'login.html',locals()) form = LoginForm(request.POST) if form.is_valid(): data = form.clean() # 检查email是否存在 try: user = User.objects.get(username=data['email']) except User.DoesNotExist: messages.error(request,"该邮箱未注册") return render(request,'login.html',locals()) user = authenticate(username=data['email'],password=data['password']) if user is not None: if user.is_active: auth_login(request,user) nextpage = request.session.get('referer','/') # 下页地址 is_auto_login = request.POST.get('auto') if not is_auto_login: request.session.set_expiry(0) return HttpResponseRedirect(nextpage) else: return HttpResponseRedirect('/accounts/active/%d/not_active/' % user.id) else: messages.error(request,'密码错误!') return render(request,'login.html',locals())
def post(self, request, *args, **kwargs): conferencia = self.get_conferencia() context = self.get_context_data(**kwargs) context['not_found'] = None form = LoginForm(request.POST) if form.is_valid(): cpf = form.cleaned_data['cpf'].replace(".", "").replace("-", "") data_nascimento = form.cleaned_data['data_nascimento'] try: inscricao = Inscricao.objects.get( cpf=cpf, data_nascimento=data_nascimento, conferencia=conferencia) user = inscricao.usuario except: context['not_found'] = True return super().render_to_response(context) login(request, user) return redirect( reverse_lazy('dashboard', kwargs={"conferencia": conferencia.titulo_slug})) return super().render_to_response(context)
def login(request): if request.user.is_authenticated(): return HttpResponseRedirect(request.META.get('HTTP_REFERER','/')) if request.method == 'GET': referer = request.META.get('HTTP_REFERER','/') if 'accounts' in str(referer) or 'notice' in str(referer) or 'admin' in str(referer): request.session['referer'] = '/' else : request.session['referer'] = referer form = LoginForm() return render(request,'login.html',locals()) form = LoginForm(request.POST) if form.is_valid(): data = form.clean() user = User.objects.get(username=data['email']) user = authenticate(username=data['email'],password=data['password']) #print data['password'] #print user.check_password(data['password']) #if user.check_password(data['password']): # print user if user is not None: if user.is_active: auth_login(request, user) nextpage = request.session.get('referer','/') # 下页地址 is_auto_login = request.POST.get('auto') if not is_auto_login: request.session.set_expiry(0) return HttpResponseRedirect(nextpage) else: return HttpResponseRedirect('/accounts/active/%s/not_active' % user.get_profile().slug) else: messages.error(request,'密码不正确!') return render(request,'login.html',locals()) else: return render(request,'login.html',{"form":form})
def test_invalid_password_input(self): ''' tests invalid Signup were password has invalid size ''' form = LoginForm({'username': '******', 'password': '******'}, self.my_user) self.assertFalse(form.is_valid()) self.assertIn(UserFormTestData.errors['password_size']['en'], form.errors['password'][0])
def login(request): form = LoginForm(request.POST or None) if request.method == 'POST': if form.is_valid(): user = form.cleaned_data['user'] auth.login(request, user) return {'redirect': 'core:index'} return { 'form': form }
def test_empty_data_input(self): ''' tests invalid Sign Up form with empty fields ''' form = LoginForm({'username': '', 'password': ''}, self.my_user) self.assertFalse(form.is_valid()) self.assertIn(UserFormTestData.errors['null_field']['en'], form.errors['username']) self.assertIn(UserFormTestData.errors['null_field']['en'], form.errors['password'])
def userLogin(request): if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password']) if user is not None: login(request, user) return redirect(reverse('orders:panel_index')) form = LoginForm() context = {'form': form} return render(request, 'login.html', context)
def test_valid_data_input(self): ''' tests Login form with valid data ''' form = LoginForm( { 'username': self.my_user.username, 'password': self.my_user.password }, self.my_user) self.assertTrue(form.is_valid()) self.assertEqual(form.data['username'], self.my_user.username) self.assertEqual(form.data['password'], self.my_user.password)
def login (request): """ This view handles the login and signup related stuff """ loginpage = True # Create the basic forms which will be rendered in get requests loginform = LoginForm() signupform = SignUpForm() if request.user.is_authenticated(): # If user logged in : Redirect to home return HttpResponseRedirect(reverse('home')) # If the form has been submitted, get the form data and handle the appropriate way if request.method == 'POST': postdata = request.POST.copy() if 'signup' in postdata: # SIGNUP FORM signupform = SignUpForm(postdata) if signupform.is_valid(): # If the form is valid, save the user using the inbuilt function try: signupform.save() messages.success(request,'<strong>Hi!</strong> Your account has been made, but is not yet activated. We will review and activate your account soon !',extra_tags='alert-success') return HttpResponseRedirect(reverse('home')) except IntegrityError: # The username (email) already exists messages.error(request,'<strong>Oops!</strong> That email id has already been signed up. Try logging in !',extra_tags='alert-danger') else: print signupform.errors elif 'login' in postdata: # LOGIN FORM loginform = LoginForm(postdata) if loginform.is_valid(): try: user = User.objects.get(username=loginform.cleaned_data.get('username')) print user user = auth.authenticate(username=user.username, password=loginform.cleaned_data.get('password')) if user is not None and user.is_active: auth.login(request, user) # Successful login if 'next' in request.POST: return HttpResponseRedirect(request.POST['next']) else: return HttpResponseRedirect(reverse('profile')) except User.DoesNotExist: messages.error(request,'<strong>Oops!</strong> You don\'t seem to be registered. Please Sign Up first!',extra_tags='alert-error') else: print signupform.errors return render_to_response('pages/login.html', locals(), context_instance= global_context(request))
def login(request): form = LoginForm(request.POST or None) if request.method == 'POST': if form.is_valid(): user = form.cleaned_data['user'] auth.login(request, user) _next = request.GET.get('next', None) if _next: return {'redirect': _next} if request.user.is_operator: return {'redirect': 'catalog:service-orders'} return {'redirect': 'core:index'} return { 'form': form }
def login(request): if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): cd = form.cleaned_data user = authenticate(username = cd.get('username'),password=cd.get('password')) if user: _login(request,user) next=request.REQUEST.get('next','/tests/') return HttpResponseRedirect(next) else: return HttpResponseRedirect(reverse('login')) else: form = LoginForm() rc = RequestContext(request,{'form':form}) return render_to_response('accounts/login.html',rc)
def login(request): if request.user.is_authenticated(): return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) if request.method == 'GET': referer = request.META.get('HTTP_REFERER', '/') if 'accounts' in str(referer) or 'notice' in str( referer) or 'admin' in str(referer): request.session['referer'] = '/' else: request.session['referer'] = referer form = LoginForm() return render(request, 'login.html', locals()) form = LoginForm(request.POST) if form.is_valid(): data = form.clean() user = User.objects.get(username=data['email']) user = authenticate(username=data['email'], password=data['password']) #print data['password'] #print user.check_password(data['password']) #if user.check_password(data['password']): # print user if user is not None: if user.is_active: auth_login(request, user) nextpage = request.session.get('referer', '/') # 下页地址 is_auto_login = request.POST.get('auto') if not is_auto_login: request.session.set_expiry(0) return HttpResponseRedirect(nextpage) else: return HttpResponseRedirect('/accounts/active/%s/not_active' % user.get_profile().slug) else: messages.error(request, '密码不正确!') return render(request, 'login.html', locals()) else: return render(request, 'login.html', {"form": form})
def manage_login(request): """ Handle s ajax request from login-dialog. returns a json object with a code. Or renders the dedicated login page if manually enterd url. code -1 - invalid request 0 - invalid form input 1 - bad login credentials 2 - subscription is not active 3 - success 4 - employee with no access 5 - employee pending 6 - invalid recaptcha response """ data = {"code": -1} if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): c = login(request, request.POST.dict().copy()) c_type = type(c) if c_type is int: if c == 0: # bad login credentials data['code'] = 1 elif c == 1: data['code'] = 2 elif c == 2: data['code'] = 4 elif c == 3: data['code'] = 5 elif c == 4: # recaptcha response fail data['code'] = 6 else: data['code'] = 3 # manually check the next parameter next = request.GET.get("next") if not next: next = reverse("store_index") data['redirect_url'] = next # user may try to login on another tab when already in try: CometSessionIndex.objects.create(session_key=\ request.session.session_key, store_id=request.session['store'].objectId, last_updated=timezone.now()) except IntegrityError: pass else: data['code'] = 0 else: if request.session.get('account'): return redirect(reverse('store_index')) data['form'] = LoginForm() return render(request, 'manage/login.djhtml', data) if data['code'] in (1, 6): data['display_recaptcha'] =\ RECAPTCHA_TOKEN in request.session and request.session[\ RECAPTCHA_TOKEN] >= RECAPTCHA_ATTEMPTS return HttpResponse(json.dumps(data), content_type="application/json")
def manage_login(request): """ Handle s ajax request from login-dialog. returns a json object with a code. Or renders the dedicated login page if manually enterd url. code -1 - invalid request 0 - invalid form input 1 - bad login credentials 2 - subscription is not active 3 - success 4 - employee with no access 5 - employee pending 6 - invalid recaptcha response """ data = {"code":-1} if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): c = login(request, request.POST.dict().copy()) c_type = type(c) if c_type is int: if c == 0: # bad login credentials data['code'] = 1 elif c == 1: data['code'] = 2 elif c == 2: data['code'] = 4 elif c == 3: data['code'] = 5 elif c == 4: # recaptcha response fail data['code'] = 6 else: data['code'] = 3 # manually check the next parameter next = request.GET.get("next") if not next: next = reverse("store_index") data['redirect_url'] = next # user may try to login on another tab when already in try: CometSessionIndex.objects.create(session_key=\ request.session.session_key, store_id=request.session['store'].objectId, last_updated=timezone.now()) except IntegrityError: pass else: data['code'] = 0 else: if request.session.get('account'): return redirect(reverse('store_index')) data['form'] = LoginForm() return render(request, 'manage/login.djhtml', data) if data['code'] in (1, 6): data['display_recaptcha'] =\ RECAPTCHA_TOKEN in request.session and request.session[\ RECAPTCHA_TOKEN] >= RECAPTCHA_ATTEMPTS return HttpResponse(json.dumps(data), content_type="application/json")