def login(): loginForm = LoginForm() if current_user: if current_user.admin: return redirect("admin") return redirect("panel") if request.method == "GET": return render_template("login.html", loginForm=loginForm) form = LoginForm(request.form) if form.validate(): email = request.form.get("email") password = request.form.get("password") if not email or not password: return render_template("login.html", loginForm=loginForm, errors=True) user = User.query.filter(User.email == email).first() if not user: return render_template("login.html", loginForm=loginForm, errors=True) if not bcrypt.hashpw(password.encode("UTF-8"), user.password.encode( "UTF-8")) == user.password.encode("UTF-8"): return render_template("login.html", loginForm=loginForm, errors=True) login_user(user) if user.admin: return redirect("admin") return redirect("panel")
def user_login(request): if (request.method == 'POST'): login_form = LoginForm(request.POST) if login_form.is_valid(): # First get the username and password supplied username = login_form.cleaned_data["username"] password = login_form.cleaned_data["password"] # Django's built-in authentication function: user = authenticate(username=username, password=password) # If we have a user if user: #Check it the account is active if user.is_active: # Log the user in. login(request, user) # Send the user back to homepage return redirect("/") else: # If account is not active: return HttpResponse("Your account is not active.") else: print("Someone tried to login and failed.") print("They used username: {} and password: {}".format( username, password)) return render(request, 'core/login.html', {"login_form": LoginForm()}) else: #Nothing has been provided for username or password. return render(request, 'core/login.html', {"login_form": LoginForm()})
def user_login(request): next = request.GET.get('next') if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): cd = form.cleaned_data user = authenticate(request, email=cd['email'], password=cd['password']) if user is not None: if user.is_active: login(request, user) if next: return redirect(next) return redirect('core:home') else: messages.info(request, "Podany login lub hasło jest niepoprawne") # return render(request, 'core/login.html', {'form': form}) else: form = LoginForm() return render(request, 'core/login.html', {'form': form})
def signin(request): if request.method == "POST": signin_form = LoginForm(data=request.POST) if signin_form.is_valid(): name = signin_form.cleaned_data['username'] password = signin_form.cleaned_data['password'] user = authenticate(request, username=name, password=password, is_staff=0) if user is not None and user.is_staff: login(request, user) messages.success(request, 'Login successful') return redirect('core:view_user') signin_form = LoginForm(data=request.POST) context = {'signin_form': signin_form} messages.error(request, 'Wrong username or password') return render(request, 'login.html', context) signin_form = LoginForm() context = {'signin_form': signin_form} return render(request, 'login.html', context)
def login(request): if request.method == 'POST': form = LoginForm(request.POST) user = authenticate(username=form.request['username'], password=form.request['password']) if user is not None: django_login(request, user) return redirect('home') else: form = LoginForm() return render(request, 'registration/login.html', {'form': form})
def index(request): if request.method == "POST": form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data.get('username') raw_password = form.cleaned_data.get('password') user = authenticate(username=username, password=raw_password) login(request, user) return redirect('profile') else: form = LoginForm() return render(request, 'index.html', {'form': form})
def login(request): Ticket = "not submitted" if request.method == "POST": # Get the posted form MyLoginForm = LoginForm(request.POST) if MyLoginForm.is_valid(): Ticket = MyLoginForm.cleaned_data['ClientTicketID'] Summary = MyLoginForm.cleaned_data['Summary'] Description = MyLoginForm.cleaned_data['Description'] else: MyLoginForm = LoginForm() return render(request, 'core/loggedin.html', {"ClientTicketID": Ticket, "Summary": Summary, "Description": Description})
def login(request): login_form = LoginForm() redirect_url = reverse('homepage', args=[]) redirect_url = request.GET.get('next') or redirect_url if request.method == 'POST' and 'login_form' in request.POST: login_form = LoginForm(request.POST) if login_form.is_valid(): return login_form.login(request, redirect_url=redirect_url) return render(request, "login.html", { "login_form": login_form, })
def rps_login(request): if request.method == "POST": login_form = LoginForm(request.POST) if login_form.is_valid(): username = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] user = authenticate(username=username, password=password) if (user): if (user.is_active): login(request, user) return redirect("/") else: return HttpResponse( "Your account is not currently active.") else: #User not found. They'll have to sign up. print( "Login failed. User \"{0}\" does not exist in the system, or you used the wrong password." .format(username)) return render(request, 'core/login.html', { "title": "User login", "login_form": LoginForm }) else: return render(request, "core/login.html", { "title": "User login", "login_form": LoginForm })
def handle_login_error(login_error): form = LoginForm() return render_to_response(template, { 'login_error': login_error, 'login_form': form, }, context_instance=RequestContext(request))
def post(self, request, *args, **kwargs): """ Post method that will enable users to login if the details provided are correct. Will then redirect to correct view. """ form = LoginForm(request.POST) next_url = request.GET.get('next', None) # check that the form is valid if form.is_valid(): # clean the user's information username = form.cleaned_data['username'] password = form.cleaned_data['password'] auth = authenticate(username=username, password=password) if auth is not None: # login user and route login(request, auth) request.session['username'] = username request.session['user_pk'] = auth.id if next_url: return HttpResponseRedirect(next_url) return redirect('dashboard') else: # details incorrect messages.add_message(request, messages.ERROR, 'Invalid login details') return redirect('login') # invalid form messages.add_message(request, messages.ERROR, 'Invalid login details') return redirect('login')
def post(self, request): """ Procces access data :param request: HttpRequest object :return: HttpResponse object with rendered login form """ form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') # Check if credential access are ok user = authenticate(username=username, password=password) if user is None: # Show error message messages.error(request, "Ops! Incorrect credentials!") else: # Start authenticate user session django_login(request, user) # Get next url parameter url = request.GET.get('next', 'blogs') # Redirect user return redirect(url) context = {'form': form} return render(request, 'core/login.html', context)
def get(self, request): """ Get method for view that will provide login form. """ next_url = request.GET.get('next', None) context = {'form': LoginForm(), 'next': next_url} return render(request, 'core/login.html', context)
def login(request): next_redirect = request.GET.get('next') if request.user.is_authenticated(): if not next_redirect: return HttpResponseRedirect( reverse('profile', kwargs={'user_id': request.user.id})) else: return HttpResponseRedirect(next_redirect) if request.method == 'POST': # create a form instance and populate it with data from the request: form = LoginForm(request.POST) # check whether it's valid: if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') if '@' in username and '.' in username: uqs = User.objects.filter(email=username) username = uqs.first().username user = djauth.authenticate(username=username, password=password) if user is None: errors = form._errors.setdefault(NON_FIELD_ERRORS, ErrorList()) errors.append(u"Could not authenticate you.") else: djauth.login(request, user) next_redirect = request.POST.get('next') if not next_redirect: return HttpResponseRedirect( reverse('profile', kwargs={'user_id': request.user.id})) else: return HttpResponseRedirect(next_redirect) # if a GET (or any other method) we'll create a blank form else: form = LoginForm() return render(request, 'auth/login.html', { 'form': form, 'next': next_redirect })
def test_form_correct(self): form_data = { 'username': '******', 'password': '******', } form = LoginForm(data=form_data) # Data that was entered is correct self.assertTrue(form.is_valid())
def login_user(request, template='index.html', redirect_url=None): def handle_login_error(login_error): form = LoginForm() return render_to_response(template, { 'login_error': login_error, 'login_form': form, }, context_instance=RequestContext(request)) if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] redirect_url = redirect_url or form.cleaned_data.get( 'redirect_url') user = authenticate(username=username, password=password) if user is not None: if user.is_active: # Redirect to a success page. login(request, user) if redirect_url: return HttpResponseRedirect(redirect_url) else: return render_to_response( template, {'login_succeeded': True}, context_instance=RequestContext(request)) else: # Return a 'disabled account' error message error = u'Account disabled' else: # Return an 'invalid login' error message. error = u'Invalid login' else: error = u'Login form is invalid' return handle_login_error(error) else: form = LoginForm() # An unbound form form.fields['redirect_url'].initial = request.GET.get('next', '/') return render_to_response(template, { 'login_error': "You must first login", 'form': form }, context_instance=RequestContext(request))
def test_invalid_login_form(self): """ Test to check that form will perform as expect when given invalid inforamtion into form """ form = LoginForm({}) self.assertFalse(form.is_valid()) self.assertEqual(form.errors['username'], ['This field is required.'])
def post(self, request): form = LoginForm(request.POST) if form.is_valid(): user = authenticate( username=User.objects.get(username=request.POST['username']), password=request.POST['password']) login(request, user) return redirect('materias_de_docente') else: return render(request, 'login.html', {'form': form})
def get(self, request): if request.user.is_authenticated(): return redirect('materias_de_docente') else: form = LoginForm() nombre_institucion = get_institucion_name() return render(request, 'login.html', { 'form': form, 'nombre_institucion': nombre_institucion })
def core_login(request): form = LoginForm(request.POST or None) if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') user = authenticate(username=username, password=password) if user is not None: login(request=request, user=user) return redirect(reverse('core_home', args=['login_success'])) return render(request, 'core/login.html', locals())
def login(): form = LoginForm(request.form) if form.validate_on_submit(): user = User.get_or_none(User.email_address == form.email_address.data) if user and check_password_hash(user.password, form.password.data): Log.insert(user_id=user.id, action='LOGIN').execute() session['user'] = model_to_dict(user) flash("Welcome back, {}!".format(user.first_name)) return redirect(request.args.get('next', url_for('main.index'))) return render_template('main/login.html', form=form)
def login_view(request): if request.method == 'POST': form = LoginForm(data=request.POST) if form.is_valid(): email = form.cleaned_data.get('email') password = form.cleaned_data.get('password') try: user = User.objects.get(email=email) except: return HttpResponse("User doesn't exist") if user.password != password: return HttpResponse("Incorrect password") user.is_active = True user.save() login(request, user) return redirect('home') else: form = LoginForm() return render(request, 'login.html', {'form': form})
def submit_req(request): with open('rfc.txt') as json_file: data = json.load(json_file) if request.method == "POST": # Get the posted form MyLoginForm = LoginForm(request.POST) if MyLoginForm.is_valid(): data["ns0:Process"]["ns2:Ticket"]["ClientTicketID"] = MyLoginForm.cleaned_data['ClientTicketID'] data["ns0:Process"]["ns2:Ticket"]["Summary"] = MyLoginForm.cleaned_data['Summary'] data["ns0:Process"]["ns2:Ticket"]["Description"] = MyLoginForm.cleaned_data['Description'] else: MyLoginForm = LoginForm() json_pretty = json.dumps(data) context = { "json_pretty": json_pretty, } return render(request, 'core/hello.html', context)
def test_valid_login_form(self): """ Test to check that given valid inforamtion the form will work correctly. """ form = LoginForm({'username': '******', 'password': '******'}) # check everything is correct self.assertTrue(form.is_valid()) self.assertEquals(form.cleaned_data['username'], 'admin') self.assertEquals(form.cleaned_data['password'], 'password')
def log_in(request): if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): try: print(form.cleaned_data.get('contact')) user = User.objects.get( contact=form.cleaned_data.get('contact')) except: return HttpResponse("Enter Registered Contact Number!") else: sms = authy_api.users.request_sms(user.authy_id) print(sms) if sms.ok(): return redirect('verify_otp', user.authy_id) else: return render(request, "500.html") else: form = LoginForm() return render(request, 'login.html', {'form': form})
def get(self, request): """ Show login form :param request: HttpRequest object :return: HttpResponse object with rendered login form """ form = LoginForm() context = {'form': form} return render(request, 'core/login.html', context)
def auth(request): if request.method == "POST": login_form = LoginForm(request.POST) if login_form.is_valid(): username = login_form.cleaned_data.get('username') password = login_form.cleaned_data.get('password') user = authenticate(username=username, password=password) if user is not None: login(request, user) nxt = request.GET.get('next') if nxt: return redirect(nxt) else: return redirect(index) else: return render(request, 'login.html', {'login_form': login_form, 'error': True}) else: return render(request, 'login.html', {'login_form': login_form}) else: login_form = LoginForm() return render(request, 'login.html', {'login_form': login_form})
def test_form_username_missing(self): form_data = { 'password': '******', } form = LoginForm(data=form_data) # Data that was entered is incorrect self.assertFalse(form.is_valid()) # Ensure that only one error was given self.assertTrue(form.has_error('username')) self.assertEqual(len(form.errors.as_data()), 1)
def login_view(request): if request.method == 'POST': login_form = LoginForm(request.POST) if login_form.is_valid(): username = login_form.cleaned_data['username'] password = login_form.cleaned_data['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return redirect('/') error_message = ('Invalid login. Please complete the form ' 'with your username and password') return render(request, 'core/login.html', { 'error_message': error_message, 'login_form': login_form, }) else: login_form = LoginForm() return render(request, 'core/login.html', {'login_form': login_form})
def post(self, request, *args, **kwargs): form = LoginForm(request.POST) if not form.is_valid(): return redirect(settings.LOGIN_URL) user = authenticate(username=form.cleaned_data.get('username'), password=form.cleaned_data.get('password')) if user is not None and user.is_active: login(request, user) return redirect(settings.LOGIN_REDIRECT_URL) return redirect(settings.LOGIN_URL)