Пример #1
0
def login_view(request):
    error = None
    next = request.GET.get('next', None)
    if request.user.is_authenticated():
        return redirect(reverse('home'))
    if request.POST:
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(username=username, password=password)

            if user is not None:
                login(request, user)
                if request.GET.get('next') is not None:
                    print('here')
                    return redirect(request.GET["next"])
                return redirect(reverse('home'))

        error = 'Invalid credentials.'

    else:
        form = LoginForm()

    return render(request, 'auth/login.html', {
        'form': form,
        'error': error,
        'next': next
    })
Пример #2
0
def loginView(request):
    message_after = ""
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data["username"],
                                password=data["password"])
            if user is not None:
                login(request, user)
                return HttpResponseRedirect(
                    request.GET.get("next", reverse("home")))
            else:
                message_after = """Credentials supplied do not match our records.
                    Please try again."""
    form = LoginForm()
    return render(
        request,
        "../templates/general_form.html",
        {
            "form": form,
            "message_after": message_after
        },
    )
Пример #3
0
def login_view(request):
    context = {}
    if request.user:
        user = request.user
        group = user.groups.all()
        if group.filter(name=PROVINCE_USER).count():
            return redirect('manager.question_table')
        elif group.filter(name=SCHOOL_USER).count():
            return redirect('school.question_table')
    if request.method == 'GET':
        login_form = LoginForm()
        context['login_form'] = login_form
        return render(request, 'authentication/login.html', context)
    else:
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            cd = login_form.cleaned_data
            username = cd['username']
            password = cd['password']
            user = authenticate(**cd)
            if user is not None:
                login(request, user)
                group = user.groups.all()
                if group.filter(name=PROVINCE_USER).count():
                    return redirect('manager.question_table')
                elif group.filter(name=SCHOOL_USER).count():
                    return redirect('school.question_table')
                else:
                    context['errors'] = 'Invalid role'
            else:
                context['errors'] = 'Invalid User'
        context['login_form'] = login_form
        return render(request, 'authentication/login.html', context)
Пример #4
0
def login_mobile(request):
    user_agent = get_user_agent(request)
    error_message = None
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(username=username, password=password)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponseRedirect(reverse('index'))
            else:
                error_message = 'Username or password is incorrect'
        else:
            error_message = 'Invalid input'
    else:
        form = LoginForm()

    context = {
        'form': form,
        'error_message': error_message,
        'mobile': user_agent.is_mobile,
    }

    return render(request, 'login_mobile.html', context)
Пример #5
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        signup_form = SignupForm(request.POST)
        if Author.objects.filter(
                username=form.data["username"]).first() == None:
            if signup_form.is_valid():

                data = signup_form.cleaned_data
                Author.objects.create_user(username=data["username"],
                                           email=data["email"],
                                           password=data["password"])
                return HttpResponseRedirect(
                    request.GET.get("next", reverse("login")))
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data["username"],
                                password=data["password"])
            if user:
                login(request, user)
                messages.info(request,
                              f"You are now logged in as {user.username}")
                return HttpResponseRedirect(
                    request.GET.get("next", reverse("homepage")))
            else:
                messages.error(request, "Invalid username or password")
        else:
            messages.error(request, "Invalid username or password")
    form = LoginForm()
    signup_form = SignupForm()
    return render(request, "login.html", {
        "form": form,
        "signup_form": signup_form
    })
Пример #6
0
def login(request):
    if request.user.is_authenticated():
        redirect_to = request.REQUEST.get('next') or '/'
        return HttpResponseRedirect(redirect_to)
        #return HttpResponseRedirect('/')
    if request.method == 'GET':
        c = {}
        c.update(csrf(request))
        c['form'] = LoginForm()
        return render_to_response('authentication/login.html', c)
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.clean()
            user = authenticate(username=data['username'],
                                password=data['password'])
            if user and user.is_active:
                auth.login(request, user)
                redirect_to = request.REQUEST.get('next') or '/'
                return HttpResponseRedirect(redirect_to)
            else:
                c = {}
                c.update(csrf(request))
                c['error'] = 'this username could not be authenticated.  Please ensure this user exists and has been activated before logging in'
                c['form'] = form
                return render_to_response('authentication/login.html', c)
        c = {}
        c.update(csrf(request))
        c['form'] = form
        c['error'] = 'the username and/or password is incorrect'
        return render_to_response('authentication/login.html', c)
    return HttpResponseRedirect('/')
Пример #7
0
def login_view(request):
    # POST request handling
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(request, username=username, password=password)
            if user:
                login(request, user=user)
                if request.GET.get('next'):
                    redirect_path = request.GET['next']
                    return HttpResponseRedirect(redirect_path)
                else:
                    return HttpResponseRedirect(reverse('homepage'))
            else:
                form = LoginForm()
                return render(
                    request, 'authentication/login.html', {
                        'page_title': 'Log In',
                        'form': form,
                        'error': 'Invalid Username/Password'
                    })

    # GET request handling
    form = LoginForm()
    return render(request, 'authentication/login.html', {
        'page_title': 'Log In',
        'form': form
    })
Пример #8
0
def login_view(request):
    print(request.POST)
    form = LoginForm()

    if request.method == 'POST':
        form = LoginForm(request.POST)
    return render(request, "login.html", {'form': form})
Пример #9
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request, username=data.get('username'), password=data.get('password'))
            if user:
                login(request, user)
                return HttpResponseRedirect(reverse('homepage'))
    form = LoginForm()
    return render(request, 'loginform.html', {'form': form})
Пример #10
0
def loginview(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request, username=data['username'], password=data['password'])
            if user:
                login(request, user)
                return HttpResponseRedirect(reverse('homepage'))
    form = LoginForm()
    html = 'base_form.html'
    return render(request, html, {'form': form})
Пример #11
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request, username=data.get("username"), password=data.get("password"))
            if user:
                login(request, user)
                return HttpResponseRedirect(reverse("homepage"))

    form = LoginForm()
    return render(request, "generic_form.html", {"form": form})
Пример #12
0
 def test_username_maxlen(self):
     """Tests max length attribute of username field"""
     form_instace = LoginForm()
     field_length = form_instace.fields['username'].max_length
     django_length = User._meta.get_field('username').max_length
     self.assertEqual(field_length, django_length)
     random_username = (''.join(
         choice(ascii_uppercase) for i in range(field_length + 1)))
     form = LoginForm({
         "username": random_username,
         "password": "******",
         "recaptcha_response_field": ""
     })
     self.assertFalse(form.is_valid())
Пример #13
0
def loginview(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data['username'],
                                password=data['password'])
            if user:
                login(request, user)
                return HttpResponseRedirect(
                    request.GET.get('next', reverse('homepage')))
    form = LoginForm()
    return render(request, 'generic_form.html', {'form': form})
Пример #14
0
def login_view(request):
    context = {}
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data['username'],
                                password=data['password'])
            if user:
                login(request, user)
                return redirect('home')
    form = LoginForm()
    context.update({'form': form})
    return render(request, 'login.html', context)
Пример #15
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data.get('username'),
                                password=data.get("password"))
            if user:
                login(request, user)
                # return render(request, 'index.html', {"form": form})
                return HttpResponseRedirect(
                    request.GET.get('next', reverse("homepage")))

    form = LoginForm()
    return render(request, 'login.html', {"form": form})
Пример #16
0
def login(request, user=None, next=None):
    """
    Authenticate and login a user, returning the homepage or a redirect(next) url
    :param request:
    :param user:
    :param next:
    :return:
    """
    if user:
        _login(request, user)
        if next:
            return redirect(next)
        else:
            return redirect("home")

    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get("username")
            password = form.cleaned_data.get("password")

            user = authenticate(username=username, password=password)
            next_url = next or request.GET.get('next')
            if user is not None:
                _login(request, user)
                if next_url:
                    return redirect(next_url)
                else:
                    return redirect("home")
            else:
                messages.error(request, "Invalid username or password!")
                return redirect("authentication:auth_get")

    return redirect("authentication:auth_get")
Пример #17
0
def log_in(request):
    if request.user.is_authenticated():
        return redirect('/')
    else:
        if request.method == 'POST':
            form = LoginForm(request.POST)
            if not form.is_valid():
                return render(request, 'login.html', {'form': form})
            else:
                username = form.cleaned_data.get('username')
                password = form.cleaned_data.get('password')
                user = authenticate(username=username, password=password)
                login(request, user)
                return redirect('/')
        else:
            return render(request, 'login.html', {'form': LoginForm()})
Пример #18
0
def login_register_page(request):
    # This view checks whether the user is authenticated. If not it shows the login page.
    if request.user.is_authenticated:
        return redirect(settings.LOGIN_REDIRECT_URL)
    else:
        context = {'login_form': LoginForm(), 'register_form': RegisterForm()}
        return render(request, "registration/login_register.html", context)
Пример #19
0
 def test_required_recaptcha(self):
     """Tests required condition for recaptcha field"""
     form = LoginForm({
         "username": "******",
         "password": "******",
         "recaptcha_response_field": ""
     })
     self.assertFalse(form.is_valid())
Пример #20
0
 def get(self, req):
     form = LoginForm()
     context = {
         'form': form,
         'header': "Login as a User",
         'logging_in': True,
     }
     return render(req, 'forms.html', context)
Пример #21
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            check_user = authenticate(request,
                                      username=data.get('username'),
                                      password=data.get('password'))
            if check_user:
                login(request, check_user)
                return HttpResponseRedirect(reverse('userhomepage'))
                # return HttpResponseRedirect(request.GET.get( 'next',reverse('homepage')))

    form = LoginForm()
    return render(request, 'generic_form.html', {
        'form': form,
        'login': '******'
    })
Пример #22
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(request,
                                username=data['username'],
                                password=data['password'])
            if user:
                login(request, user)
                return HttpResponseRedirect(
                    request.GET.get('next', reverse('twitteruser:home_view')))

    form = LoginForm()
    return render(request, 'forms/generic.html', {
        'form': form,
        'heading_one': 'Login'
    })
Пример #23
0
def loginpage(request):
    formobj = LoginForm(request.POST or None)
    if formobj.is_valid():
        username = formobj.cleaned_data.get("username")
        userobj = User.objects.get(username__iexact=username)
        login(request, userobj)
        return HttpResponseRedirect(reverse("homepage"))
    else:
        return render(request, "login.html", {"form": formobj})
Пример #24
0
def loginPage(request):
    form = LoginForm()

    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(request, username=username, password=password)
            if user is not None:
                login(request, user)
                if updateUserSubscriptionState(user):
                    return redirect('/product/list')
                else:
                    return redirect('authentication:profile')
            else:
                form.add_error('password', 'Inicio de sesión incorrecto')
                return render(request, 'login.html', {'form': form})
    return render(request, 'login.html', {'form': form})
Пример #25
0
def user_login(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            user = authenticate(username=cd['username'],
                                password=cd['password'])
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponse(
                        'Uwierzytelnienie zakończyło się sukcesem.')
                else:
                    return HttpResponse('Konto jest zablokowane.')
            else:
                return HttpResponse('Nieprawidłowe dane uwierzytelniające.')
    else:
        form = LoginForm()
    return render(request, 'registration/login.html', {'form': form})
Пример #26
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = authenticate(
                request,
                username=data["username"],
                password=data["password"],
            )
        if user:
            users = CustomUser.objects.get(username=user.username)
            users.is_online = True
            users.save()
            login(request, user)
            return HttpResponseRedirect(
                request.GET.get("next", reverse("homepage")))
    form = LoginForm()
    return render(request, "login.html", {"form": form})
Пример #27
0
    def test_form_valid_data(self):
        form = LoginForm(data={
            'email': "*****@*****.**",
            'password': "******"
        })

        self.assertTrue(form.is_valid())
        self.assertEqual(len(form.errors), 0)

# python manage.py test authentication
Пример #28
0
    def post(self, request: HttpRequest):

        form = LoginForm(request.POST)

        if not form.is_valid():
            return render(
                request,
                "authentication/login.html",
                {
                    "next": request.POST.get("next", ""),
                    "form": form
                },
            )

        username_email = form.cleaned_data["username_email"]
        password = form.cleaned_data["password"]

        try:
            # Try login by email
            user_by_email = UserModel.objects.get(email=username_email)
            user = authenticate(username=user_by_email.username,
                                password=password)
        except ObjectDoesNotExist:
            # Try login by username
            user = authenticate(username=username_email, password=password)

        if user:
            # Login user
            login(request, user)

            # If user didn't check remember_me
            # session will expire on browser close
            if not form.cleaned_data.get("remember_me"):
                request.session.set_expiry(0)

            # If url has next parameter
            # and the url is local (starts with '/' )
            # redirect user to the next url
            next_url = request.POST.get("next")
            if next_url and next_url.startswith("/"):
                return redirect(next_url)

            # If next didn't exist or wasn't local
            # redirect to learning home
            return redirect("learning:home")

        form.add_error("", "نام کاربری یا رمز عبور اشتباه است")
        return render(
            request,
            "authentication/login.html",
            {
                "next": request.POST.get("next", ""),
                "form": form
            },
        )
Пример #29
0
def login_user(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            if form.validate():  # Custom validation
                username = form.cleaned_data['username']
                password = form.cleaned_data['password']
                user = authenticate(username=username, password=password)
                login(request, user)
                request.session['feided'] = False
                return HttpResponseRedirect(reverse('index'))

    else:
        form = LoginForm()

    context = {
        'form': form,
    }

    return render(request, 'login.html', context)
Пример #30
0
    def get(self, request: HttpRequest):
        form = LoginForm()

        return render(
            request,
            "authentication/login.html",
            {
                "form": form,
                "next": request.GET.get("next", "")
            },
        )