Exemplo n.º 1
0
    def post(self, request):
        error_messages = []


        form = LoginForm(request.POST)

        if form.is_valid():
            #forma segura de acceder a claves en un diccionario. Nunca acceder a un diccionario con la sintaxis de corchetes. POST['usr']
            username = form.cleaned_data.get('usr')
            password = form.cleaned_data.get('pwd')

            user = authenticate(username=username, password=password)

            if user is None:
                error_messages.append('Nombre de usuario o contraseña incorrecto')
            else:
                if user.is_active:
                    django_login(request, user)
                    return redirect('photos_home')
                else:
                    error_messages.append('El usuario no esta activo')
        context = {
            'errors': error_messages,
            'login_form': form
        }
        return render(request, 'users/login.html', context)
Exemplo n.º 2
0
def login_user(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:
                if user.is_active:
                    login(request, user)
                    redirect_on_success_to = request.GET.get('next')
                    return HttpResponseRedirect(redirect_on_success_to)
                else:
                    print("The password is valid, but the account has been disabled!")
            else:
                # the authentication system was unable to verify the username and password
                print("The username and password were incorrect.")
        else:
            return render_to_response("users/login.html", {
                                      "form": form,
                                      },
                                      context_instance=RequestContext(request))
    else:
        form = LoginForm()
    return render_to_response("users/login.html", {
        "form": form,
    },
        context_instance=RequestContext(request))
Exemplo n.º 3
0
def login(request):
    login_form = LoginForm()
    register_form = RegistrationForm()
    next = request.REQUEST.get('next')
    if 'kind' in request.POST:
        if request.POST['kind'] == 'login':
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                username = login_form.get_username()
                request.session['username'] = username
                if next:
                    return HttpResponseRedirect(next)
                return HttpResponseRedirect('/')
        elif request.POST['kind'] == 'register':
            register_form = RegistrationForm(request.POST)
            if register_form.is_valid():
                username = register_form.save()
                request.session['username'] = username
                if next:
                    return HttpResponseRedirect(next)
                return HttpResponseRedirect('/')
    context = {
        'login_form': login_form,
        'register_form': register_form,
        'next': next,
    }
    return render_to_response(
        'users/login.html', context, context_instance=RequestContext(request))
Exemplo n.º 4
0
    def post(self, request):
        error_messages = []
        # # # Esto peta cuando cambiamos el name de l formulario
        # # username = request.POST['usr']
        # # password = request.POST['pwd']
        # username = request.POST.get('usr')
        # password = request.POST.get('pwd')
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('usr')
            password = form.cleaned_data.get('pwd')
            user = authenticate(username=username, password=password)
            if user is None:
                error_messages.append("Nombre de usuario o contraseña incorrectos")
            else:
                if user.is_active:
                    lojin(request, user)
                    return redirect(request.GET.get("next", 'photos_home'))
                else:
                    error_messages.append("El usuario no está activo")

        context = {
            'errors': error_messages,
            'login_form': form
        }
        return render(request, 'users/login.html', context)
Exemplo n.º 5
0
def users_login(request):
  page_title = "Randora Login"
  form = LoginForm(request.POST or None)
  errors = []

  context = {
    "page_title": page_title,
    "form": form,
    "errors": errors,
  }

  if request.user.is_authenticated():
    return HttpResponseRedirect(reverse('profile', kwargs={'username': request.user.username}))

  if request.method == 'POST':
    if form.is_valid():
      username = request.POST['username']
      password = request.POST['password']
      user = authenticate(username=username, password=password)
      if user:
        if user.is_active:
          login(request,  user)
          return HttpResponseRedirect(reverse('profile', kwargs={'username': request.user.username}))
        else:
          errors.append("Your account has been disabled.")
          return render(request, 'users_login.html', context)
      else:
        errors.append("Invalid login.")
        return render(request, 'users_login.html', context)
  else:
    return render(request, 'users_login.html', context)
Exemplo n.º 6
0
    def post(self, request):
        error_messages = []

        # Using form instade of direct request.POST
        # username = request.POST.get('usr', '')
        # password = request.POST.get('pwd', '')
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('usr')
            password = form.cleaned_data.get('pwd')

            user = authenticate(username=username, password=password)
            if user is None:
                error_messages.append('Nombre de usuario o clave incorrectos')
            else:
                if user.is_active:
                    django_login(request, user)
                    return redirect(request.GET.get('next','photos_home'))
                else:
                    error_messages.append('El usuario no esta activo')

        context = {
            'errors': error_messages,
            'login_form': form
        }
        return render(request, 'users/login.html', context)
Exemplo n.º 7
0
def index(request):
    if request.method == 'POST':
        if 'register_form' in request.POST:
            user_register = UserRegisterForm(request.POST)
            if user_register.is_valid():
                User.objects.create_user(username=user_register.cleaned_data['username'],
                                             email=user_register.cleaned_data['email'],
                                             password=user_register.cleaned_data['password'],
                                           #tipo=user_register.cleaned_data['tipo'],
                                         )
                LogIn(request, user_register.cleaned_data['username'],
                          user_register.cleaned_data['password'])
                return redirect('home')
        if 'login_form' in request.POST:
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                LogIn(request, login_form.cleaned_data['username'],
                                   login_form.cleaned_data['password'])
                user = User.objects.get(username = login_form.cleaned_data['username'])
                #user = User.objects.filter(request.user.username == login_form.cleaned_data['username'])
                return redirect('/')

    user_register = UserRegisterForm()
    login_form = LoginForm()
    return render(request, 'index.html', {'user_register': user_register, 'login_form': login_form })
Exemplo n.º 8
0
def logon(request):
    d = {}
    d["url"] = "/login"
    d["sub"] = "Login"
    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:
                login(request,user)
                return HttpResponseRedirect("/")
            else:
                d["form"] = form
                d["text"] = "Invalid login credentials"
                return render(request,"register.html",d)


        else:
            d["form"] = form
            return render(request,"register.html",d)

    else:
        d["form"] = LoginForm()
        return render(request,"register.html",d)
Exemplo n.º 9
0
    def post(self, request):
        error_messages = []

        form = LoginForm(request.POST)

        #con esto se valida que los datos cumplan con lo que se especifica en el modelo
        if form.is_valid():

            username = form.cleaned_data.get('usr')
            password = form.cleaned_data.get('pwd')

            user = authenticate(username=username, password=password)

            if user is None:
                error_messages.append('Nombre de usuario o contraseña incorrecta')
            else:
                if user.is_active:
                    django_login(request, user)
                    return redirect('posts_home')
                else:
                    error_messages.append('El usuario no está activo')
            context = {
                'errors': error_messages,
                'login_form': form
            }
            return render(request, 'users/login.html', context)
Exemplo n.º 10
0
Arquivo: views.py Projeto: dafma/STR
def index(request):
    if request.method == 'POST':
        if 'myForm' in request.POST:
            user_register = UserRegisterForm(request.POST)
            if user_register.is_valid():
                User.objects.create_user(username=user_register.cleaned_data['username'],
                                             email=user_register.cleaned_data['email'],
                                             password=user_register.cleaned_data['password'])
                LogIn(request, user_register.cleaned_data['username'],
                          user_register.cleaned_data['password'])
                return redirect('home')
        if 'login_form' in request.POST:
            login_form = LoginForm(request.POST)
            if login_form.is_valid():
                LogIn(request, login_form.cleaned_data['username'],
                                   login_form.cleaned_data['password'])
                user = User.objects.get(username = login_form.cleaned_data['username'])
                #user = User.objects.filter(request.user.username == login_form.cleaned_data['username'])
                return redirect('/')
    # casas = Casas.objects.order_by('fecha_publicacion')[:3]
    # bodegas = Bodega.objects.order_by('fecha_publicacion')[:3]
    # inflables = Inflable.objects.order_by('fecha_publicacion')[:3]
    # combis = Combi.objects.order_by('fecha_publicacion')[:3]



    user_register = UserRegisterForm()
    login_form = LoginForm()
    return render(request, 'index.html', {'user_register': user_register, 'login_form': login_form})
Exemplo n.º 11
0
def login(request):
    """Авторизация пользователей"""

    if request.user.is_authenticated():
        return redirect("/")

    if request.POST:
        form = LoginForm(request.POST)
        if form.is_valid():
            user = authenticate(**form.cleaned_data)
            user_login(request, user)

            # TODO: вынести в `cart.helpers`
            for item in request.cart:
                if item.product.price_for_user(user) is None or not item.product.available_for_user(user):
                    request.cart.remove(item.product)

            redirect_url = request.GET.get("next", "/")

            return redirect(redirect_url)

    else:
        form = LoginForm()

    context = {"form": form}

    return render(request, "users/auth/login.html", context)
Exemplo n.º 12
0
    def post(self, request):
        error_message = []
        form = LoginForm()
        # paso al formulario los datos con la petición.
        form = LoginForm(request.POST)

        if form.is_valid():

            # recupero los datos del usuario del formulario. en cleaned_data, tengo los campos normalizados.
            username = form.cleaned_data.get('usr')
            password = form.cleaned_data.get('pwd')

            # busco el usuario, si existe, me devuelve el usuario o un nulo en caso de que no lo encuentre.
            user = authenticate(username=username, password=password)
            if user is None:
                error_message.append('El usuario o la contraseña es incorrecta')
            else:
                if user.is_active:
                    # El usuario existe y está activo así que lo autentifico.
                    django_login(request, user)
                    # Por si he llegado al login desde una pagina que usa el decorador, me voy donde
                    # me indica el parametro 'next'
                    return redirect(request.GET.get('next', 'home'))
                else:
                    error_message.append('El usuario no está activo')

        context = {
            'errors': error_message,
            'login_form': form
        }
        return render(request, 'users/login.html', context)
Exemplo n.º 13
0
def login_view(request):
    url = '/login'
    sub='Login'
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            em = form.cleaned_data['username']
            pwd = form.cleaned_data['password']
            user =  authenticate(
                username=em,
                password=pwd
            )
            if user is not None and user.is_active:
                u = OjUser.objects.get(username=user.username)
                if u.is_loggedin:
                    text = 'This user is already logged in'
                    return render(request,'register.html',{'sub':sub,'url':url,'form':LoginForm(),'text':text})

                login(request,user)
                u.is_loggedin = True
                u.save()
                return HttpResponseRedirect('/')
            else:
                text='Email and password do not match'
		return render(request,"register.html",{'form':LoginForm(),'text':text,'url':url,'sub':sub})
        else:

            return render(request,'register.html',{'url':url,'form':form,'sub':sub})
    else:
		   return render(request,'register.html',{'url':url,'form':LoginForm(),'sub':sub})
Exemplo n.º 14
0
def hello(request, template="users/login.html"):
    cc = {}

    login_form = LoginForm()
    registration_form = RegistrationForm()

    if request.method == "POST" and "login_submit" in request.POST:
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            user = authenticate(
                username=login_form.cleaned_data["username"], password=login_form.cleaned_data["password"]
            )
            login(request, user)
            messages.add_message(request, messages.SUCCESS, "Zostałeś zalogowany.")
            if "next" in request.GET:
                return HttpResponseRedirect(request.GET["next"])
            else:
                return HttpResponseRedirect(reverse("index"))
    elif request.method == "POST" and "registration_submit" in request.POST:
        registration_form = RegistrationForm(request.POST)
        if registration_form.is_valid():
            user_profile = registration_form.save()
            user = authenticate(
                username=registration_form.cleaned_data["username"],
                password=registration_form.cleaned_data["password1"],
            )
            # send_registration_mail(request.LANGUAGE_CODE, registration_form.cleaned_data['email'], user_profile.activation_key)
            return registered(request)

    cc["login_form"] = login_form
    cc["registration_form"] = registration_form
    return render(request, template, Context(cc))
Exemplo n.º 15
0
 def test_user_submits_invalid_data(self):
     from users.forms import LoginForm
     for email in ('empty@', '*****@*****.**'):
         form = LoginForm({'email': email, 'password': '******'})
         self.assertFalse(form.is_valid())
         self.assertTrue(form.errors)
         self.assertTrue(form.errors.get('email'))
Exemplo n.º 16
0
def login(request):
    msg = None
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            mail = form.cleaned_data['email']
            password = form.cleaned_data['password']
            u = User.objects.filter(email=mail)

            if not u:
                msg = 'This email ID has not been registered'
            else:
                u = u[0]
                if u.password != password:
                    msg = 'Password does not match'
                else:
                    if u.blocked:
                        msg = 'You have already registered but not confirmed yet'
                    else:
                        set_session(request, u)
                        return HttpResponseRedirect(request.GET.get('next', '/'))
    else:
        form = LoginForm()

    return render_to_response('users/login.html', {'name': 'Login', 'list': menu, 'form': form, 'msg': msg, }, context_instance=RequestContext(request))
Exemplo n.º 17
0
def login_permalink(request):
    form = LoginForm()
    post_auth_action = request.GET.get('post_auth_action', 'redirect');
    redirect_to = request.GET.get('redirect_to', None)
    redirect_to = redirect_to if redirect_to != "/login" else None
    if request.POST:
        form = LoginForm(request.POST)
        if form.is_valid():
            email_or_username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            redirect_to = form.cleaned_data['redirect_to']
            post_auth_action = form.cleaned_data['post_auth_action']

            if redirect_to == None or redirect_to == 'None':
                redirect_to = "/"

            user = attempt_login(request, email_or_username, password)
            if user is not None and user.is_active:
                response = HttpResponseRedirect(redirect_to)
                if post_auth_action == 'close':
                    response = render(request, 'util/closing_window.html')

                return set_auth_cookies(response, user)
            else:
                form._errors["username"] = form.error_class(['The username and password you entered are incorrect.'])

    return render(request, 'user/login.html', {
        'title' : 'Login',
        'redirect_to' : redirect_to,
        'post_auth_action' : post_auth_action,
        'login_form': form})
Exemplo n.º 18
0
def login_view(request):
    """
    Log the user in
    """
    # Check if the user is authenticated
    if request.user.is_authenticated():
        # User is authenticated
        return render(request, "users/login/logged_in.html")
    else:
        login_form = LoginForm(request.POST or None)
        
        # User is NOT authenticated
        if request.method == 'POST': # Form data was submitted
            if login_form.is_valid(): # Form data is valid
                user = authenticate(username = login_form.cleaned_data['username'],
                                    password = login_form.cleaned_data['password'])
                
                if user is not None and user.is_active:
                    login(request, user)
                    return render(request, "users/login/logged_in.html")
                else:
                    # Couldn't authenticate, either the username or password is wrong
                    error = "User doesn't exist or the password is incorrect."
                    login_form._errors['password'] = login_form.error_class([error])
                    
    # Show the login form
    return render(request, "users/login/login.html", { "form": login_form })
Exemplo n.º 19
0
def login(request):
    if request.POST:
        form = LoginForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            user = auth.authenticate(email=email, password=password)
            if user is not None:
                if user.is_active:
                    auth.login(request, user)
                    #resp = {'response': 'Ok'}
                    resp = {'code': 0}
                    resp = json.dumps(resp)
                    return HttpResponse(resp, content_type='application/json')
                else:
                    #resp = {'response': 'fail', 'error': u"Этот аккаунт еще не активирован"}
                    resp = {'code': 1, 'error': u"Этот аккаунт еще не активирован"}
                    resp = json.dumps(resp)
                    return HttpResponse(resp, content_type='application/json')
            else:
                resp = {'code': 2, 'error': u"Неправильный пароль или логин"}
                resp = json.dumps(resp)
                return HttpResponse(resp, content_type='application/json')
    form = LoginForm()
    return render(request, "signin.html", {'form': form})
Exemplo n.º 20
0
def user_login(request):
    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = authenticate(username=form.cleaned_data['username'],
                                email=form.cleaned_data['email'],
                                password=form.cleaned_data['password'],
                                )
            if user is not None:
                if user.is_active:
                    login(request, user)
                    print("%s, %s, %s" %(user.username, user.email, user.password))
                    cursor = connection.cursor()
                    if Manager.objects.filter(
                            manager__email=user.email).exists():
                        return redirect('/manager/')
                    if Bartender.objects.filter(
                            bartender__email=user.email).exists():
                        return redirect('/bartender/')
                    if Waiter.objects.filter(
                            waiter__email=user.email).exists():
                        return redirect('/waiter/')

                else:
                    return redirect("/logout/")

            else:
                return redirect("/logout/")

    else:
        form = LoginForm(data=request.POST)
    variables = RequestContext(request, {'form': form})

    return render_to_response('login_form.html', variables,)
Exemplo n.º 21
0
def login_form(request):
	errmsg = ""
	try: prevpage = smart_unicode(request.GET["next"])
	except KeyError: prevpage = "/"
	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 form.cleaned_data["prevpage"] == "login":
				prevpage = "/"
			else:
				prevpage = form.cleaned_data["prevpage"]
			if user is not None:
				if user.is_active:
					login(request, user)
					return HttpResponseRedirect(prevpage)
				else:
					errmsg = "User is disabled"
		else:
			errmsg = "Invalid username/password"
	else:
		form = LoginForm(initial=dict(prevpage=prevpage))

	return render_to_response("users/login.html", {
		"errmsg":	errmsg,
		"form":		form,
	}, context_instance=RequestContext(request))
Exemplo n.º 22
0
def vista_login(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse('items:items'))
    else:
        if request.method=='POST':
            form=LoginForm(request.POST)
            if form.is_valid():
                username=form.cleaned_data['username']
                password=form.cleaned_data['password']
                seguent=request.GET.get('next',default=None)
                user=authenticate(username=username,password=password)
                if user is not None:
                    if user.is_active:
                        login(request,user)
                        if bool(seguent):
                            return HttpResponseRedirect(seguent)
                        else:
                            return HttpResponseRedirect(reverse('items:items'))
                    else:
                        messages.error(request,'Usuari desactivat')
                        return HttpResponseRedirect(reverse('login'))
                else:
                    messages.error(request,'Error, usuari i/o contrasenya són/és incorrectes/e/a')
                    return HttpResponseRedirect(reverse('login'))
            else:
                messages.error(request,'Hi ha errors en el formulari')
        else:
            form=LoginForm()

    form.helper=FormHelper()
    form.helper.form_class='form-horizontal'
    form.helper.add_input(Submit('submit','Login'))

    return render(request,'forms/login.html',{'form':form})
Exemplo n.º 23
0
def login_user(request):
    """Verify user login and password work."""
    msg = []
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            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 HttpResponseRedirect(reverse('users.user_page',
                                                args=[request.user.username]))
                else:
                    msg.append("You have entered a disabled account")
                    return jingo.render(request, 'users/login.html',
                                       {'errors': msg, 'form': form})
        else:
            msg.append("Invalid form")
            return jingo.render(request, 'users/login.html',
                               {'errors': msg, 'form': form})
    else:
        form = LoginForm()
    return jingo.render(request, 'users/login.html',
                       {'errors': msg, 'form': form})
Exemplo n.º 24
0
def log_in(request):
	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('/dashboard/')
				else:
					return render_to_response('users/login.html',
											  {'form':form,
											   'invalid':"Account disabled"},
											  context_instace=RequestContext(request))
			else:
				return render_to_response('users/login.html',
										  {'form':form,
										   'invalid':"Invalid username or password"},
										  context_instance=RequestContext(request))

	template = loader.get_template('users/login.html')
	context = RequestContext(request)
	return HttpResponse(template.render(context))
Exemplo n.º 25
0
def view_login(request, login_template, next=''):
    if request.method == 'POST':
        data = post_data(request)
        next = data.get('next') if not next else next 
        form = LoginForm(data)
        if form.is_valid():
            try:
                userprofile = UserProfile.objects.get(user__email=form.cleaned_data.get('email'),
                                                      user__is_active=True)
            except UserProfile.DoesNotExist:
                #from users.messages import USER_LOGIN_FAILURE
                #messages.error(request, USER_LOGIN_FAILURE)
                return response(request, login_template, {'form': form, 'next': next})
            if not userprofile.check_password(form.cleaned_data.get('password')):
                #from users.messages import USER_LOGIN_FAILURE
                #messages.error(request, USER_LOGIN_FAILURE)
                return response(request, login_template, {'form': form, 'next': next})
            #from users.messages import USER_LOGIN_SUCCESSFUL
            #messages.success(request, USER_LOGIN_SUCCESSFUL)
            return _let_user_login(request,
                                   userprofile.user,
                                   email=form.cleaned_data.get('email'),
                                   password=form.cleaned_data.get('password'),
                                   next=next)
    else:
        form = LoginForm()
    return response(request, login_template, {'form': form, 'next': next})
Exemplo n.º 26
0
 def test_user_submits_valid_data(self):
     form_data = {'email': '*****@*****.**',
                  'password': '******'}
     from users.forms import LoginForm
     form = LoginForm(form_data)
     self.assertTrue(form.is_valid())
     self.assertTrue(form.cleaned_data)
     self.assertEquals(form.cleaned_data.get('email'), form_data['email'])
     self.assertEquals(form.cleaned_data.get('password'), form_data['password'])
Exemplo n.º 27
0
 def test_user_submits_empty_form(self):
     form_data = {'email': '',
                  'password': ''}
     from users.forms import LoginForm
     form = LoginForm(form_data)
     self.assertFalse(form.is_valid())
     self.assertTrue(form.errors)
     self.assertTrue(form.errors.get('email'))
     self.assertTrue(form.errors.get('password'))
Exemplo n.º 28
0
def main(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            form.login(request)
            return redirect('users.views.home')
    else:
        form = LoginForm()
    return render(request, 'main.hisp', {'form': form})
Exemplo n.º 29
0
    def post(self, request):
        # 类实例化需要一个字典参数dict:request.POST就是一个QueryDict所以直接传入
        # POST中的usernamepassword,会对应到form中
        login_form = LoginForm(request.POST)
        # 默认false
        request.session["is_login"] = False
        # is_valid判断我们字段是否有错执行我们原有逻辑,验证失败跳回login页面
        if login_form.is_valid():
            # 取不到时为空,username,password为前端页面name值
            user_name = request.POST.get("username", "")
            pass_word = request.POST.get("password", "")
            print("user_name", user_name, "pass_word", pass_word)
            # 成功返回user对象,失败返回null
            user = authenticate(username=user_name, password=pass_word)
            # print("user: "******"user:"******"*" * 20)
            # 如果不是null说明验证成功
            if user is not None:
                # 只有当用户激活时才给登录
                # if user.is_active:
                if True:
                    # login_in 两参数:request, user
                    # 实际是对request写了一部分东西进去,然后在render的时候:
                    # request是要render回去的。这些信息也就随着返回浏览器。完成登录
                    login(request, user)
                    # 跳转到首页 user request会被带回到首页
                    # 存入session 序列化用户对象
                    user_dict = {}
                    user_ser = UserProfile.objects.filter(email=user_name)[0]
                    user_dict["is_admin"] = user_ser.is_admin
                    user_dict["user_name"] = user_ser.username
                    request.session["user"] = user_dict
                    request.session["is_login"] = True
                    # 增加重定向回原网页。
                    redirect_url = request.POST.get('next', '')

                    if redirect_url:
                        return HttpResponseRedirect(redirect_url)
                    # 跳转到首页 user request会被带回到首页
                    return HttpResponseRedirect(reverse("index"))
                # 即用户未激活跳转登录,提示未激活
                else:
                    return render(
                        request, "login.html", {
                            "msg": "用户名未激活! 请前往邮箱进行激活"})
            # 仅当用户真的密码出错时
            else:
                return render(request, "login.html", {"msg": "用户名或密码错误!"})
        # 验证不成功跳回登录页面
        # 没有成功说明里面的值是None,并再次跳转回主页面
        else:
            return render(
                request, "login.html", {
                    "login_form": login_form})
Exemplo n.º 30
0
def user_login(request):
    user = request.user
    if user.is_authenticated():
        # TODO: notification
        return HttpResponseRedirect(reverse_lazy('dashboard'))

    form = LoginForm()
    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']

            auth_user = get_object_or_None(AuthUser, email=email)
            if auth_user:
                if auth_user.has_usable_password():
                    user = authenticate(email=email, password=password)
                    if user:
                        login(request, user)
                        LoggedLogin.record_login(request)
                        if user.is_staff:
                            return HttpResponseRedirect('/admin/')
                        else:
                            post_login_url = reverse_lazy('dashboard')
                            return HttpResponseRedirect(post_login_url)
                    else:
                        pw_reset_uri = reverse_lazy('forgot_password')
                        pw_reset_uri = '%s?e=%s' % (pw_reset_uri, escape(email))
                        msg = _('Sorry, that password is incorrect. Would you like to <a href="%(pw_reset_uri)s">reset your password</a>?' % {
                            'pw_reset_uri': pw_reset_uri,
                            })
                        messages.warning(request, msg, extra_tags='safe')
                else:
                    msg = _("Sorry, that account doesn't have a password set yet.")
                    messages.info(request, msg, extra_tags='safe')
                    redir_uri = reverse_lazy('forgot_password')
                    redir_uri = '%s?e=%s' % (redir_uri, escape(email))
                    return HttpResponseRedirect(redir_uri)

            else:
                signup_base = reverse_lazy('signup')
                signup_uri = '%s?e=%s' % (signup_base, escape(email))
                msg = _('Account not found. Did you mean to <a href="%(signup_uri)s">sign up</a>?' % {
                    'signup_uri': signup_uri,
                    })
                messages.warning(request, msg, extra_tags='safe')
    elif request.method == 'GET':
        email = request.GET.get('e')
        if email:
            form = LoginForm(initial={'email': email})

    return {
            'form': form,
            'is_input_page': True,
            }
Exemplo n.º 31
0
def login(request):

    form = LoginForm(request.POST)

    if not form.is_valid():
        # this means we were sent a bad request - let someone know :o
        return HttpResponse("failure")

    user = authenticate(username=form.cleaned_data['username'],
                        password=form.cleaned_data['password'])
    if user is not None:
        return HttpResponse("user had the right credentials")
    else:
        return HttpResponse("wrong credentials sucker")
Exemplo n.º 32
0
def login(request):
    if request.method == 'GET':
        return render(request, 'login.html')
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            user = User.objects.filter(login_name=username).first()
            request.session['user_id'] = user.id
            # 在这里开始向index页面发送请求,该请求就会被中间件拦截.
            return HttpResponseRedirect(reverse('myblog:article'))
        else:
            errors = form.errors
            return render(request, 'login.html', {'errors': errors})
Exemplo n.º 33
0
    def post(self, request):
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            username = request.POST.get('username', '')
            password = request.POST.get('password', '')
            user = authenticate(username=username, password=password)
            if user is not None:
                login(request, user)
                return render(request, 'index.html')
            else:
                return render(request, 'login.html', {'msg': '用户名或密码错误!'})

        else:
            return render(request, 'login.html', {'login_form': login_form})
Exemplo n.º 34
0
    def post(self, request):
        """Receive and validate sign up form."""
        form = LoginForm(data=request.POST)
        if not form.is_valid():
            context = {"form": form}
            return render(request, self.template, context)
        user = authenticate(
            username=form.cleaned_data["username"],
            password=form.cleaned_data["password"],
        )
        # As simple as telling django the user to login.
        login(request, user)

        return HttpResponse("<h1>User logged!</h1>")
Exemplo n.º 35
0
def login_view(request):
    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:
                login(request, user)
                return redirect('index')
        return render(request, 'login.html', {'form': form})
    else:
        form = LoginForm()
        return render(request, 'login.html', {'form': form})
Exemplo n.º 36
0
def user_login(request, status_message=None):
    if request.method == 'POST':

        data = {
            'mobile_phone':
            clear_contact_phone(request.POST.get('mobile_phone')),
            'password': request.POST.get('password')
        }

        form = LoginForm(data)
        if form.is_valid():
            mobile_phone = form.cleaned_data.get('mobile_phone')
            password = form.cleaned_data.get('password')
            user = authenticate(mobile_phone=mobile_phone, password=password)

            if user is not None:
                login(request, user)

                if request.POST.get('remember_me') is not None:
                    request.session.set_expiry(0)

                # checking if user changed password which received from SMS
                if user.changed_default_password:
                    return HttpResponseRedirect(reverse('profile'))
                # elif not user.ready_for_turnes:
                #     return HttpResponseRedirect(reverse('questionnaire'))
                else:
                    # if no, redirects to change password page
                    return HttpResponseRedirect(reverse('set_password'))
            else:
                status_message = _("Неправильный номер или пароль")
                return render(request, 'enter.html', {
                    'form': LoginForm(),
                    'status_message': status_message
                })
        else:
            status_message = _("Неправильный номер или пароль")
            return render(request, 'enter.html', {
                'form': LoginForm(),
                'status_message': status_message
            })
    elif request.method == 'GET':
        if request.user.is_authenticated:
            return HttpResponseRedirect(reverse('profile'))
        form = LoginForm()
        return render(request, 'enter.html', {
            'form': form,
            'status_message': status_message
        })
Exemplo n.º 37
0
    def post(self, request, format=None):
        # validasi form
        form = LoginForm(request.POST)
        # jika form valid
        if form.is_valid():
            # dapatkan credential dari username dan password
            credential = self.get_account_type(form.user)

            # kembalikan credential user beserta access token
            return Response({
                'user': credential['serializer'].data,
                'token': credential['token']
            })
        # jika gagal, kembalikan error
        return Response(form.errors, status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 38
0
def login_view(request):
    if request.method == "POST":
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = form.get_user()
            login(request, user)
            return redirect('tasks-view')
        else:
            messages.add_message(
                request, messages.INFO,
                f'Nazwa użytkonika lub hasło są niepoprawne.')
            return redirect('login')
    else:
        form = LoginForm()
    return render(request, 'users/login.html', {'form': form})
Exemplo n.º 39
0
 def post(self, request):
     form = LoginForm(request.POST)
     if form.is_valid():
         username = form.cleaned_data.get("login_username")
         password = form.cleaned_data.get("login_password")
         authenticated_user = authenticate(username=username,
                                           password=password)
         if authenticated_user and authenticated_user.is_active:
             django_login(request, authenticated_user)
             redirect_to = request.GET.get("next", "home_page")
             return redirect(redirect_to)
         else:
             form.add_error(None, "Usuario incorrecto o inactivo")
     context = {'form': form}
     return render(request, "login_form.html", context)
Exemplo n.º 40
0
def login_user(request):
    if request.method == 'POST':
        form = LoginForm(request, request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user = authenticate(email=username, password=password)

            if user is not None:
                if user.is_active:
                    login(request, user)
                    return redirect(reverse_lazy('home'))
    else:
        form = LoginForm()
    return render(request, 'users/login.html', {'form': form})
Exemplo n.º 41
0
def login(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('password1')
            user = authenticate(username=username,password=raw_password)
            login(request, user)
            return redirect('main')
        else:
            messages.success(request, 'Incorrect username and/or password combination.')

    else:
        form = LoginForm()
    return render(request, 'users/login.html', {'form': form})
    def post(self, request):
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            username = request.POST.get('username')
            password = request.POST.get('password')
            login_user = authenticate(username=username, password=password)

            if login_user is not None:
                login(request, login_user)
                return JsonResponse(1, u"登录成功")
            else:
                massage = u"邮箱或密码错误"
                return JsonResponse(2, massage, login_form.errors)
        else:
            return JsonResponse(3, "数据验证错误", login_form.errors)
Exemplo n.º 43
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         user_name = request.POST.get('username','')
         pass_word = request.POST.get('password','')
         request.session['username'] = user_name
         request.session.set_expiry(60000)
         user = authenticate(username=user_name,password=pass_word)
         if user:
             login(request, user)
             return render(request, 'index.html',{'userprofile':user})
         else:
             return render(request,'login.html',{'msg':'用户名或密码错误'})
     else:
         return render(request,'login.html',{'login_form':login_form})
Exemplo n.º 44
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         user_name = request.POST.get('username', '')
         pass_word = request.POST.get('password', '')
         user = authenticate(username=user_name, password=pass_word)
         if user is not None:
             if not user.is_active:
                 return render(request, 'login.html', {'msg': '用户名未激活'})
             login(request, user)
             return redirect(reverse('index'))
         else:
             return render(request, 'login.html', {'msg': '用户名或密码错误'})
     else:
         return render(request, 'login.html', {'login_form': login_form})
Exemplo n.º 45
0
def login(request):
    if request.POST:
        form = LoginForm(data=request.POST)
        if form.is_valid():
            user = form.get_user()
            auth_login(request, user)
            return redirect('home')
        else:
            messages.error(request, ugettext("Invalid login credentials."))
    else:
        if request.user.is_authenticated():
            return redirect('home')
        else:
            form = LoginForm()
    return render(request, 'users/login.html', {'form': form})
Exemplo n.º 46
0
def user_login(request):
    loggedin = False

    if request.method == 'POST':
        login_form = LoginForm(data=request.POST)

        if login_form.is_valid():
            #username = login_form.cleaned_data['username']
            username = login_form.cleaned_data['username']
            password = request.POST.get('password')

            user = authenticate(username=username, password=password)
            if user:
                if user.is_active:
                    login(request, user)
                    loggedin = True
                    return HttpResponseRedirect(reverse('projectindex'))
                else:
                    return HttpResponse("Account Not Active")
            else:
                print("Someone tried to login and failed!")
                print("Username: {0} and password {1}".format(
                    username, password))
                return HttpResponse("Invalid login details supplied!")

            # If form is Valid, then
            emailmessage = "username ["+username + \
                "] tried to login in SQLDBATools portal with password '"+password+"'."
            admin_email = '*****@*****.**'

            send_mail(
                'Registration - SQLDBAToolsInventory',
                emailmessage,
                '*****@*****.**',
                [admin_email],
                fail_silently=False,
            )

        else:
            print("Invalid details submitted!")
            return HttpResponse("Form details are not valid!")

    else:
        login_form = LoginForm()
        return render(request, 'users/login.html', {
            'login_form': login_form,
            'loggedin': loggedin,
        })
Exemplo n.º 47
0
    def post(self, request):
        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(request, username=username, password=password)
            if user is None:
                messages.error(request, 'Wrong username or password')
            else:

                django_login(request, user)
                welcome_url = request.GET.get('next', 'home')
                messages.success(request, 'Logged in succesfully')
                return redirect(welcome_url)

        return render(request, 'users/login.html', {'form': login_form})
Exemplo n.º 48
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         phoneNum = request.POST.get("phoneNum")
         passWd = request.POST.get("passWd")
         user = authenticate(username=phoneNum, password=passWd)
         if user is not None:
             login(request, user)
             return HttpResponse('OK')
         else:
             return HttpResponse('用户名或密码错误')
     else:
         info = ""
         for key, error in login_form.errors.items():
             info = info + "%s : %s" % (key, error)
         return HttpResponse(info)
Exemplo n.º 49
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         username = request.POST.get('username')
         password = request.POST.get('password')
         user = auth.authenticate(username=username, password=password)
         if user:
             if user.is_active:
                 login(request, user)
                 return render(request, "index.html", {})
             else:
                 return render(request, 'login.html', {'msg': '用户未激活'})
         else:
             return render(request, "login.html", {'msg': '用户名或密码错误'})
     else:
         return render(request, 'login.html', {"login_form": login_form})
Exemplo n.º 50
0
 def post(self, request):
     login_form = LoginForm(request.POST)  # 传递进来的字段先进行表单验证,如果规则通过在进入查库逻辑
     if login_form.is_valid():
         user_name = request.POST.get("username", "")  # 字典取值,如果无,赋值为空
         pass_word = request.POST.get("password", "")
         user = authenticate(username=user_name, password=pass_word)
         if user is not None:  # 用户名密码验证成功
             login(request, user)  # django执行用户登录
             return render(request, "index.html")
         else:
             return render(request, "login.html", {'msg': "用户名或密码错误"})
     else:
         return render(request, "login.html", {
             'msg': "用户名或密码不符合规则",
             "login_form": login_form
         })  # 将django的form验证失败内置信息发给前端展示用
Exemplo n.º 51
0
def login_view(request):
    """Handle login request."""
    if request.method == "POST":
        form = LoginForm(data=request.POST, prefix='login')
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = auth.authenticate(username=username, password=password)
            if user is not None:  # login success
                auth.login(request, user)
                messages.add_message(request, messages.SUCCESS,
                                     _('Log in success.'))
            else:  # wrong credentials
                messages.add_message(request, messages.WARNING,
                                     _('Wrong username/password.'))
        return redirect('forums')
Exemplo n.º 52
0
def login_view(request):
    if request.user.is_authenticated:
        return redirect("/users")
    form = LoginForm(request.POST or None)
    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("/loggedin")
        else:
            messages.add_message(request, messages.INFO, "Credendtias are not correct.")

    return render(request, "users/login.html", {"form": form,},)
Exemplo n.º 53
0
    def post(self, request):
        login_form = LoginForm(request.POST)  # 获取到登录的数据
        if login_form.is_valid():  # 验证是不是合法
            user_name = request.POST.get("username", "")
            pass_word = request.POST.get("password", "")
            user = authenticate(username=user_name, password=pass_word)  # 验证user
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponseRedirect(reverse("index"))
                else:
                    return render(request, "login.html", {'msg': '用户未激活'})
            else:
                return render(request, "login.html", {'msg': '账号密码有误'})

        return render(request, "login.html", {'login_form': login_form})
Exemplo n.º 54
0
 def post(self,request):
     print('11111')
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         print('=========')
         username = request.POST.get("username", "")
         password = request.POST.get("password", "")
         user = authenticate(username=username, password=password)
         print(user)
         if user is not None:
             login(request, user)
             return render(request, "index.html")
         else:
             return render(request, "login.html", {"msg": u"用户名或密码错误"})
     else:
         return render(request, "login.html", {"login_form":login_form})
Exemplo n.º 55
0
def login(request):
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            login_data = login_form.cleaned_data
            user = authenticate(username=login_data['user'], password=login_data['pwd'])
            if user:
                lg(request, user)
                return redirect('/')
            else:
                return HttpResponse('登录失败')
        else:
            return render(request, 'users/login.html',{"error":login_form.errors})
    if request.method == "GET":
        login_form = LoginForm()
        return render(request, 'users/login.html', {'login_form':login_form})
Exemplo n.º 56
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         user_name = request.POST.get("username", "")
         pass_word = request.POST.get("password", "")
         user = authenticate(username=user_name, password=pass_word)
         if user is not None:
             if user.is_active:
                 login(request, user)
                 return HttpResponseRedirect(reverse("index"))
             else:
                 return render(request, "login.html", {"msg": "用户没有激活!"})
         else:
             return render(request, "login.html", {"msg": "用户名或密码错误!"})
     else:
         return render(request, "login.html", {"login_form": login_form})
Exemplo n.º 57
0
    def post(self, request):
        if request.user.is_authenticated:
            return redirect('home')

        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('usr')
            password = form.cleaned_data.get('pwd')
            user = authenticate(username=username, password=password)
            if user is None:
                messages.error(request, 'Usuario/contraseña incorrectos')
            else:
                django_login(request, user)
                url = request.GET.get('next', 'home')
                return redirect(url)
        return self.render_template_with_form(request, form)
Exemplo n.º 58
0
 def post(self, request):
     # 表单验证
     form = LoginForm(request.POST)
     if form.is_valid():  # 验证成功
         #保存登录的session
         user = form.cleaned_data.get("user")
         logining(request, user)
         # 判断链接上是否有参数next,如果有就跳转到指定的页面
         next = request.GET.get("next")
         if next:
             return redirect(next)
         return redirect("user:用户中心")
     # 返回结果
     else:  # 验证失败
         context = {"errors": form.errors, "data": form}
         return render(request, "user/login.html", context)
Exemplo n.º 59
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         user_name = request.POST.get("username", "")
         pass_word = request.POST.get("password", "")
         user = authenticate(username=user_name, password=pass_word)
         if user is not None:
             if user.is_active:
                 login(request, user)
                 return render(request, "index.html")
             else:
                 return render(request, "login.html", {'msg': u"用户未激活!"})
         else:
             return render(request, "login.html", {'msg': u"用户名或密码错误!"})
     else:
         return render(request, "login.html", {'login_form': login_form})
Exemplo n.º 60
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         username = request.POST.get("username", "")
         password = request.POST.get("password", "")
         user = authenticate(username=username, password=password)
         if user is not None:
             if user.is_active:
                 login(request, user)
                 return redirect("index")
             else:
                 return render(request, "login.html", {"msg": "用户未注册"})
         else:
             return render(request, "index.html", {"msg": "用户名密码错误"})
     else:
         return render(request, "login.html", {"login_form": login_form})