예제 #1
0
def login(request):
    if request.user.is_authenticated():
        return redirect('index')
    context = dict()
    return_path = request.META.get('HTTP_REFERER', '/')
    shortcut = lambda: render(request, 'login.html', context)

    if request.method == 'GET':
        if 'code' in request.GET:
            code = request.GET['code']
            try:
                access_token, user_id = vkontakte.auth_code(code, reverse('login'))
            except vkontakte.AuthError as e:
                messages.warning(request, 'Ошибка авторизации')
                return shortcut()
            try:
                user = User.objects.get(vkuserid=user_id)
                backend = auth.get_backends()[0]
                user.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__)
                auth.login(request, user)
                try:
                    next = request.GET.__getitem__('next')
                    return redirect(next)
                except KeyError:
                    print return_path.rsplit('/', 1)[1]
                    if return_path.rsplit('/', 1)[1] != 'login':
                        return redirect(return_path)
                    else:
                        return redirect('index')
            except User.DoesNotExist:
                messages.warning(request, 'Такой пользователь не найден')
                return shortcut()


    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            email, password = form.cleaned_data['email'], form.data['password']
            user = auth.authenticate(username=email, password=password)
            if not user:
                messages.warning(request, "Пользователь не найден!")
                context['form'] = form
                return shortcut()
            else:
                auth.login(request, user)
                try:
                    next = request.GET.__getitem__('next')
                    return redirect(next)
                except KeyError:
                    if return_path.rsplit('/', 1)[1] != 'login':
                        return redirect(return_path)
                    else:
                        return redirect('index')
        else:
            messages.warning(request, "Введенные данные некорректны!")
            context['form'] = form
            return shortcut()

    context['form'] = UserLoginForm
    return shortcut()
예제 #2
0
def index():
    form = UserLoginForm()
    all = User.query.all()
    if request.method == 'POST' and form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and user.password == form.password.data:
            login_user(user)
            return render_template('user_page.html', user=user)
    return render_template('home.html', form=form)
예제 #3
0
파일: views.py 프로젝트: ssssergey/Feniks
def login_view(request):
    print(request.user.is_authenticated())
    page_title = u"Вход"
    form = UserLoginForm(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)
        login(request, user)
        return redirect('/')
    return render(request, "registration/login.html", {"form": form, "page_title": page_title})
예제 #4
0
def login():
    if request.method == 'POST':
        form = UserLoginForm(request.form)
        if form.validate():
            user = User.query.filter_by(name=form.name.data).first()
            if user is not None:
                if user.password == form.password.data:
                    session['name'] = form.name.data
                    if session['name'] == "admin":
                        return redirect(url_for('admin'))
                    return redirect(url_for('list'))
            return redirect(url_for('login'))
        else:
            flash('All fields are required.')
    form = UserLoginForm()
    return render_template('login.html', form=form)
예제 #5
0
def login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(email=request.POST.get('email'), password=request.POST.get('password'))

            if user is not None:
                auth.login(request, user)
                messages.error(request, 'You have successfully logged in! ')
                return redirect(reverse('profile'))
            else:
                form.add_error(None, 'Your email or password was not recognised')
    else:
        form = UserLoginForm()

    args = {'form': form}
    args.update(csrf(request))
    return render(request, 'login.html', args)
예제 #6
0
파일: views.py 프로젝트: BenCh94/DjangoToDo
def login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(username=request.POST.get('username'),
                                     password=request.POST.get('password'))

            if user is not None:
                auth.login(request, user)
                return redirect(reverse('index'))
            else:
                form.add_error(None, "Your username or password was not recognised")
    else:
        form = UserLoginForm()

    args = {'form': form}
    args.update(csrf(request))
    return render(request, 'login.html', args)
예제 #7
0
파일: views.py 프로젝트: kpeng94/foodbook
def login_user(request):
	if request.method == 'POST':
		form = UserLoginForm(request.POST)
		form.is_valid()
		if 'username' in form.cleaned_data and 'password' in form.cleaned_data:
			username = form.cleaned_data['username']
			password = form.cleaned_data['password']
			user = authenticate(username=username, password=password)
			if user is not None:
				login(request,user)
				messages.success(request, 'You have successfully logged in.')
			else:
				messages.error(request, 'Username/password combination was incorrect.')
		else:
			messages.error(request, 'Improper username/password.')
		if 'HTTP_REFERER' in request.META:
			return redirect(request.META['HTTP_REFERER'])
		else:
			return redirect('/home')
	return redirect('/home')
예제 #8
0
def login(request):
	post = request.POST
	login_form = UserLoginForm(post or None)

	if login_form.is_valid():

		username = login_form.cleaned_data['username']
		password = login_form.cleaned_data['password']

		user_auth = authenticate(username=username,password=password)

		if user_auth:
			auth_login(request,user_auth)
			messages.success(request,'You successfully logged in!')
			return redirect('projects')
		else:
			messages.error(request,'Login Failed')
	
	template = 'authentication/index.html'
	context = {'login_form':login_form}
	return render(request,template,context)
예제 #9
0
def show_login_form():

    if 'username' in session:
        session['username'] = user.username
        username = user.username
        return redirect(f'/users/{username}')

    form = UserLoginForm()

    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data

        user = User.authenticate(username, password)

        if user:
            session['username'] = user.username
            username = user.username
            return redirect(f'/users/{username}')
        else:
            form.username.errors = ['Bad name/password']

    return render_template('login.html', form=form)
예제 #10
0
def login():
    """ Handle user login.
        Takes in { user: { username, password }}
        Returns JWT token if authenticated; otherwise, returns error messages
                 { token }
    """

    user_data = request.json.get("user")
    form = UserLoginForm(data=user_data)

    if form.validate():
        user = User.authenticate(form.username.data, form.password.data)

        if user:
            return do_login(user)

        return (jsonify(errors=["Invalid credentials."]), 401)
    else:
        errors = []
        for field in form:
            for error in field.errors:
                errors.append(error)
        return (jsonify(errors=errors), 400)
예제 #11
0
def user_login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = authenticate(email=form['email'].value(), password=form['password'].value())
            if user is not None:
                login(request, user)
                return HttpResponseRedirect(reverse('tasks:task_list'))
            else:
                return render(request, 'sign_up_or_login.html', {'form': form})
        else:
            return render(request, 'sign_up_or_login.html', {
                'form': form,
            })
    else:
        user = request.user
        if user.is_anonymous():
            form = UserLoginForm()
            return render(request, 'sign_up_or_login.html', {
                'form': form,
            })
        else:
            return HttpResponseRedirect(reverse('tasks:task_list'))
예제 #12
0
파일: app.py 프로젝트: nus-ncl/prototype-ui
def login():
	error = None
	form = UserLoginForm()

	if request.method == 'POST':

		if form.validate():
			user = query_db('SELECT * from users WHERE username = ?', [form.username.data], one=True)

			if user is None:
				error = 'Invalid username/password.'
			elif not check_password_hash(user['pw_hash'], form.password.data):
				error = 'Invalid username/password.'
			else:
				session['personal_name'] = user['name']
				session['logged_in'] = True
				session['uid'] = user['uid']
				session['role'] = user['role']
				return redirect(url_for('two_factor_auth'))
		else:
			error = 'Invalid username/password.'
				
	return render_template('login.html', error=error, form=form)
예제 #13
0
def user_login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = authenticate(email=form['email'].value(),
                                password=form['password'].value())
            if user is not None:
                login(request, user)
                return HttpResponseRedirect(reverse('tasks:task_list'))
            else:
                return render(request, 'sign_up_or_login.html', {'form': form})
        else:
            return render(request, 'sign_up_or_login.html', {
                'form': form,
            })
    else:
        user = request.user
        if user.is_anonymous():
            form = UserLoginForm()
            return render(request, 'sign_up_or_login.html', {
                'form': form,
            })
        else:
            return HttpResponseRedirect(reverse('tasks:task_list'))
예제 #14
0
def login_view(request):
    login_form = UserLoginForm(request.POST or None)
    context = {'login_form': login_form}
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                return render(request, 'home.html')
            else:
                return HttpResponse(
                    "Your account has been blocked please contact the admin")

        else:
            return render(request, 'login.html', context)

    return render(request, 'login.html', context)
예제 #15
0
def login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(email=request.POST.get('email'),
                                     password=request.POST.get('password'))

            if user is not None:
                auth.login(request, user)
                messages.error(request, "You have successfully logged in")
                return redirect(reverse('profile'))
            else:
                form.add_error(None, "Your email or password was not recognised - Please go to the register tab and register if you have not already done so")

    else:
        form = UserLoginForm()

    args = {'form': form}
    args.update(csrf(request))
    return render(request, 'login.html', args)
예제 #16
0
def login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        if form.is_valid():
            user = auth.authenticate(email=request.POST.get('email').lower(),
                                     password=request.POST.get('password'))

            if user is not None:
                auth.login(request, user)
                messages.success(request, "You have successfully logged in.")
                return redirect(reverse('account', kwargs={'user_id':
                                                           user.id}))
            else:
                form.add_error(None,
                               "Your email or password was not recognised.")

    else:
        form = UserLoginForm()

    args = {'form': form}
    args.update(csrf(request))
    return render(request, 'accounts/login.html', args)
예제 #17
0
def login():
    form = UserLoginForm()

    if request.method == 'POST':
        error = None
        user = db.member.find_one({'id' : form.userid.data })
        print(user)
        if not user:
            error = "존재하지 않는 사용자입니다."
        elif not check_password_hash(user['password'], form.password.data):
            error = "비밀번호가 올바르지 않습니다."
        if error is None:
            session.clear()
            session['user_id'] = user['id']
            session['user_is_student'] = user['is_student']
            print(session['user_id'], session['user_is_student'])
            if  session['user_is_student'] == 'Professor':
                return redirect(url_for('professorOfficeForm'))
           
            return redirect(url_for('home'))
                

            
    return render_template('login.html', form=form)
    def test_login_form(self):
        form = UserLoginForm({'username': '******', 'password': '******'})

        self.assertTrue(form.is_valid())
예제 #19
0
def user_login():
    form = UserLoginForm(csrf_enabled=False)
    if form.validate_on_submit():
        return render_template('user_center.html',form=form)
    return render_template('login.html',form=form)
예제 #20
0
def display_login_form():

    form = UserLoginForm()

    return render_template("login_form.html", form=form)
예제 #21
0
 def test_login_form(self):
     form = UserLoginForm({
         'email': '*****@*****.**',
         'password': '******',
     })
     self.assertTrue(form.is_valid())
예제 #22
0
def get_login_form():
    form = UserLoginForm()
    return render_template('/signup_and_login/login.html', form=form)
예제 #23
0
 def test_form_validates_valid_data(self):
     form = UserLoginForm(data=self.valid_data)
     self.assertTrue(form.is_valid())
예제 #24
0
 def test_form_validates_valid_data(self):
     form = UserLoginForm(data=self.valid_data)
     self.assertTrue(form.is_valid())
예제 #25
0
def user_login():
    form = UserLoginForm(csrf_enabled=False)
    if form.validate_on_submit():
        return render_template('user_center.html',form=form)
    return render_template('login.html',form=form)
예제 #26
0
 def test_not_existing_user_not_logged_in(self):
     form = UserLoginForm(data=self.not_existing_user)
     self.assertFalse(form.is_valid())
예제 #27
0
def user_login(request):
    if request.method == "POST":

        form = UserLoginForm(request.POST, request.FILES)

        if form.is_valid():
            email = request.POST.get('email')
            password = request.POST.get('password')

            user = ""

            try:
                user = User.objects.get(email=email)
            except:
                user = None

            if user is not None:
                user.backend = 'django.contrib.auth.backends.ModelBackend'
                auth = user.check_password(password)
                if auth:
                    #Check if authenticated user is active.
                    if user.user.graduated:
                        return render(
                            request, 'campusthrift/login.html', {
                                'form':
                                form,
                                'error':
                                "Congratulations on graduating! CampusThrift is only available to current students."
                            })

                    elif user.is_active:
                        authenticate(username=user.username, password=password)
                        login(request, user)
                        return redirect('home')
                    #If user is authenticated but user is not active.
                    else:
                        return render(
                            request, 'campusthrift/login.html', {
                                'form':
                                form,
                                'error':
                                "Your account is not activated! Check your"
                                " email for the activation link!"
                            })
                #User is not authorized.
                else:
                    return render(request, 'campusthrift/login.html', {
                        'form': form,
                        'error': "Invalid password."
                    })
            #User does not exist with that email.
            else:
                return render(
                    request, 'campusthrift/login.html', {
                        'form': form,
                        'error':
                        "We could not find an account with that email!"
                    })

    else:
        # form = UserRegistrationForm()
        form = UserLoginForm()

        return render(request, 'campusthrift/login.html', {'form': form})
예제 #28
0
 def test_not_existing_user_not_logged_in(self):
     form = UserLoginForm(data=self.not_existing_user)
     self.assertFalse(form.is_valid())
 def get(self):
     form = UserLoginForm()
     return make_response(render_template('UserLoginForm.html', form=form))