Exemplo n.º 1
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.º 2
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.º 3
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.º 4
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.º 5
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.º 6
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.º 7
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.º 8
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.º 9
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.º 10
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.º 11
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.º 12
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.º 13
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.º 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 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.º 17
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.º 18
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.º 19
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.º 20
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.º 21
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.º 22
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        login_user(form.user)
        flash("Logged in successfully.")
        return redirect(request.args.get("next") or url_for("users.home"))
    return render_template("login.html", form=form)
Exemplo n.º 23
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.º 24
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.º 25
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.º 26
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.º 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 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.º 30
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.º 31
0
def login(request):
    # 之后添加功能:如果用户已经登录,重定向
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            data = form.clean()
            username = data['username']
            if '@' in username:  # 邮箱也可以登录
                email = username
            else:
                user = MyUser.objects.get(username=username)
                email = user.email

            user = authenticate(email=email, password=data['password'])
            if user is not None:
                auth_login(request, user)
                # 这里还可以更进一步的写,这里先简单的重定向
                return redirect('/')  # 登录成功,跳转回首页
            else:
                messages.error(request, '密码不正确!')
                return render(request,
                              'users/login.html',
                              context={'form': form})
                # use an explicit context_dictionary, instead of passing locals()
    else:
        form = LoginForm()

        return render(request, 'users/login.html', {'form': form})
Exemplo n.º 32
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.º 33
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.º 34
0
    def post(self, request):
        # 类实例化需要一个字典参数dict:request.POST就是一个QueryDict所以直接传入
        # POST中的usernamepassword,会对应到form中
        login_form = LoginForm(request.POST)

        # is_valid判断我们字段是否有错执行我们原有逻辑,验证失败跳回login页面
        if login_form.is_valid():
            # 取不到时为空,username,password为前端页面name值
            user_name = request.POST.get("username", "")
            pass_word = request.POST.get("password", "")

            # 成功返回user对象,失败返回null
            user = authenticate(username=user_name, password=pass_word)

            # 如果不是null说明验证成功
            if user is not None:
                # 只有当用户激活时才给登录
                if user.is_active:
                    # login_in 两参数:request, user
                    # 实际是对request写了一部分东西进去,然后在render的时候:
                    # request是要render回去的。这些信息也就随着返回浏览器。完成登录
                    login(request, user)
                    # 跳转到首页 user request会被带回到首页
                    # 增加重定向回原网页。
                    redirect_url = request.POST.get('next', '')
                    if redirect_url:
                        return redirect(redirect_url)
                    # 跳转到首页 user request会被带回到首页
                    return redirect(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.º 35
0
 def post(self, request):
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         user_name = request.POST.get('username', '')
         password = request.POST.get('password', '')
         user = authenticate(username=user_name, password=password)
         if user is not None:
             if user.is_active:
                 login(request, user)
                 redirect_url = request.POST.get('next', '')
                 if redirect_url:
                     return HttpResponseRedirect(redirect_url)
                 # 跳转到首页 user request会被带回到首页
                 return HttpResponseRedirect(reverse("index"))
             else:
                 return render(request, "usercenter/login.html",
                               {"msg": "用户名未激活! 请前往邮箱进行激活"})
         return render(request, 'usercenter/login.html',
                       {'msg': '用户名或者密码错误!'})
     return render(request, 'usercenter/login.html', {
         'form_help': login_form.errors,
     })
Exemplo n.º 36
0
    def post(self, request):
        # 类实例化需要一个字典参数dict:request.POST就是一个QueryDict所以直接传入
        # POST中的username与password,会对应到form中
        login_form = LoginForm(request.POST)
        # is_valid判断我们的字段是否对应原有逻辑,验证失败直接跳回login页面
        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_in 两参数:request, user
                # 实际是对request写了一部分东西进去,然后在render的时候:
                # request是要render回去的。这些信息也就随着返回浏览器。完成登录
                login(request, user)
                # 跳转到首页 user request会被带回到首页
                return HttpResponseRedirect(reverse('index'))
            else:
                return render(request, 'login.html', {'msg': '用户名或密码错误'})

        else:
            return render(request, 'login.html', {'login_form': login_form})
Exemplo n.º 37
0
    def post(self, request):

        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(request, username=username, password=password)
        if user is None:
            messages.error(request, 'Usuario o password incorrectos!')
        else:
            login_user_in_session(request, user)
            return redirect(request.GET.get('next', 'home'))

        form = LoginForm()
        return render(request, 'login.html', {'form': form})
Exemplo n.º 38
0
    def post(self, request):
        error_msg = []
        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_msg.append('Invalid username or password')
            else:
                if user.is_active:
                    dj_login(request, user)
                    # if next doesn't exist, redirect to home
                    return redirect(request.GET.get('next', 'photos_home'))
                else:
                    error_msg.append('User is not active')

        context = {'errors': error_msg, 'login_form': form}

        return render(request, 'users/login.html', context)
Exemplo n.º 39
0
def login_form(request):
    login_form = LoginForm()

    if request.method == 'POST':
        username = request.POST['login']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                return redirect('/')

    return render(request, 'auth.html', {'login_form': login_form})
Exemplo n.º 40
0
 def post(self, request):
     """
     Gestiona el login de un usuario
     :param request: objeto HttpRequest con los datos de la petición
     :return: objeto HttpResponse con los datos de la respuesta
     """
     error_message = ""
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         username = login_form.cleaned_data.get('username')
         password = login_form.cleaned_data.get('pwd')
         user = authenticate(username=username, password=password)
         if user is None:
             error_message = "Usuario o contraseña incorrecto"
         else:
             if user.is_active:
                 django_login(request, user)
                 return redirect(request.GET.get('next', 'photos_home'))
             else:
                 error_message = "Cuenta de usuario inactiva"
     context = {'error': error_message, 'form': login_form}
     return render(request, 'users/login.html', context)
Exemplo n.º 41
0
    def post(self, request):
        """
        Procesa el login de un usuario
        :param request: objeto HttpRequest
        :return: objeto HttpResponse con el formulario renderizado
        """
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            # comprobamos si las credenciales son correctas
            user = authenticate(username=username, password=password)
            if user is None:
                messages.error(request, 'Usuario o contraseña incorrecto')
            else:
                # iniciamos la sesión del usuario (hacemos login del usuario)
                django_login(request, user)
                url = request.GET.get('next', 'home')
                return redirect(url)

        context = {'form': form}
        return render(request, 'users/login.html', context)
def user_login(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        uname = request.POST['username']
        pwd = request.POST['password']
        user = em.authenticate(username=uname, password=pwd)
        print(user)
        if user is not None:
            if user.is_active == True:
                login(request,
                      user,
                      backend='django.contrib.auth.backends.ModelBackend')
                print(user)
                print('Successfull login')
                messages.success(request, f"You are now logged in {user}")
                return redirect('/home')
        else:
            print('Unsuccessfull login')

    else:
        form = LoginForm()
    return render(request, 'users/login.html', {'form': form})
Exemplo n.º 43
0
def user_login(request):
    if request.method == "POST":
        username = request.POST['username']
        password = request.POST['password']
        print(username + "  " + password)
        user = authenticate(username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('home:home')
        return HttpResponse("invalid credentials")
    else:
        form = LoginForm()
        return render(request, 'user_login.html', {'form': form})
Exemplo n.º 44
0
 def get_context_data(self, **kwargs):
     """Añadimos la categorias al contexto"""
     error_message = ""
     login_form = LoginForm()
     signup_form = SignUpForm()
     context = super(BlogPostListView, self).get_context_data(**kwargs)
     context['categoria_list'] = categorias.objects.all()
     context['blog'] = get_object_or_404(blogs,
                                         id=self.kwargs.get('blogId', None))
     context['error'] = error_message
     context['login_form'] = login_form
     context['signup_form'] = signup_form
     return context
Exemplo n.º 45
0
 def post(self, request):
     """
     Hace login de un usuario
     :param request: HttpRequest
     :return: HttpResponse
     """
     form = LoginForm(request.POST)
     context = dict()  # Iniciamos diccionario
     if form.is_valid():
         username = form.cleaned_data.get("username")
         password = form.cleaned_data.get("password")
         user = authenticate(username=username, password=password)
         if user is not None:
             # Usuario autenticado
             django_login(request, user)
             url = request.GET.get('next', 'tasks_list')
             return redirect(url)
         else:
             # Usuario no autenticado
             context["error"] = "Wrong username or password"
     context["form"] = form
     return render(request, 'login.html', context)
Exemplo n.º 46
0
def user_login(request):
    print(request.method)
    if request.method == "POST":
        user_name = request.POST.get("username")
        user_pwd = request.POST.get("password")
        print("user_name:  ", user_name)
        print("user_pwd:  ", user_pwd)
        form = LoginForm(request)
        if form.is_valid():
            user = auth.authenticate(username=user_name, password=user_pwd)
            if user is not None:
                auth.login(request, user)
                return render(request, 'index.html', {})
            else:
                return render(request, 'login.html', {"msg": "用户名或者密码错误"})
        else:
            return render(request, 'login.html', {"msg": "用户名或者密码输入格式不对"})
    elif request.method == "GET":
        user_name = "admin"
        pass_word = "123"

        return render(request, 'login.html', {})
Exemplo n.º 47
0
def login(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:
                    auth_login(request, user)
                    return render(request, 'users/home.html')

        return render_to_response('users/login.html', context_instance = RequestContext(request, {'form': form}))

    elif (request.method == 'GET'):
        form = LoginForm()
        return render_to_response('users/login.html', context_instance = RequestContext(request, {'form': form}))

    else:
        raise Http404('Does not page exist.')
Exemplo n.º 48
0
def login_context(request):
    """
    All content pages that have additional content for authenticated users but
    that are also publicly viewable should have a login form in the side panel.
    """
    response_dict = {}
    if not request.user.is_authenticated():
        response_dict.update({
                'login_form': LoginForm(),
                'openid_form': AuthForm(request.session, request.POST),
                })

    return response_dict
Exemplo n.º 49
0
    def post(self, request):
        error_messages = []
        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 password incorrecta')
            else:
                if user.is_active:
                    django_login(request, user)
                    url = request.GET.get('next', 'ofertas_home')
                    return redirect(url)
                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.º 50
0
    def post(self, request):
        error_messages = []

        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)
            if user is None:
                error_messages.append(
                    'Nombre de usuario o contraseña incorrectos')
            else:
                if user.is_active:
                    django_login(request, user)
                    #url = request.GET.get('next', 'home')
                    #return redirect(url)
                    return redirect('/static/facturacion/prueba.html')
                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.º 51
0
 def post(self, request):
     error_messages = []
     form = LoginForm(request.POST)
     if form.is_valid():
         username = form.cleaned_data.get(
             'usr')  # .get evita comflicto con contraseña errónea
         password = form.cleaned_data.get('pwd')
         user = authenticate(
             username=username,
             password=password)  # busca encriptado de usuario y contraseña
         if user is None:
             error_messages.append(
                 'Nombre de usuario o contraseña incorrectos')
         else:
             if user.is_active:
                 django_login(request, user)
                 url = request.GET.get('next', 'photos_home')
                 return redirect(url)
             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.º 52
0
def login(request):
    nexturl = request.GET['next']
    now = datetime.datetime.now()
    if request.method == 'POST':
        logform = LoginForm(request.POST)
        if logform.is_valid():
            email = logform.cleaned_data['email']
            password = logform.cleaned_data['password']
            try:
                email1 = users.objects.get(email=email, password=password)
                request.session['id'] = email1.id
                return render(request, 'login.html', {
                    'date': now,
                    'user': email1,
                    'next': nexturl
                })
            except:
                n = "Invalid UserId Or Password"
                return HttpResponse("<h1>Invalid User Name or Password</h1>")
        else:
            n = "You left a field blank"
            return HttpResponse("<h1>You left a field empty</h1>")
Exemplo n.º 53
0
def login_user(request):
    if request.method == 'GET':
        form = LoginForm()
        return render(request, 'login.html', context={'form': form})
    elif request.method == 'POST':
        form = LoginForm(request.POST)
        form.is_valid()
        user = form.get_user(request)
        if user:
            login(request, user)
            return redirect('/')
        else:
            form.errors[
                NON_FIELD_ERRORS] = 'Cannot perform login with this credentials'
            return render(request, 'login.html', context={'form': form})
Exemplo n.º 54
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)
                    #course_organization =  CourseOrg.objects.all().order_by('click_nums')[:8]
                    #course_list = Course.objects.all().order_by('click_nums')[:7]
                    return HttpResponseRedirect(reverse('index'))
                    #render(request, "index.html", {
                    #    "organization_list":course_organization,
                    #    "course_list":course_list
                    #})
                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.º 55
0
def board_custom_context(request):
    category_title = request.GET.get('category', None)
    login_form = LoginForm()
    join_form = JoinForm()
    category_list = Category.objects.all()
    if category_title is None:
        category_title = Category.objects.first()

    return {
        "category_title": category_title,
        "login_form": login_form,
        "join_form": join_form,
        "category_list": category_list,
    }
Exemplo n.º 56
0
def login_view(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"])
            print("______-???")
            if user is not None:
                print(reverse("index"))
                login(request, user)
                # return redirect('/home/')
                return redirect(reverse("index"))
            else:
                return render(
                    request, "user/login.html",
                    {"form": form, "errors": ["Incorrect login or password"]})
        else:
            return render(request, "user/login.html", {"form": form})
    else:
        form = LoginForm()
        return render(request, "user/login.html", {"form": form})
Exemplo n.º 57
0
def login_view(request):
    # Authentication check. Users currently logged in cannot view this page.
    if request.user.is_authenticated:
        return HttpResponseRedirect('/profile/')
    # Get the template data from the session
    template_data = parse_session(request, {'form_button': "Login"})
    # Proceed with the rest of the view
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            user = authenticate(
                username=form.cleaned_data['email'].lower(
                ),  # Make sure it's lowercase
                password=form.cleaned_data['password'])
            login(request, user)
            logger.log(Action.ACTION_ACCOUNT, "Account login", request.user)
            #logger.statlog("Account login")
            request.session['alert_success'] = "Successfully logged into OTM."
            return HttpResponseRedirect('/profile/')
    else:
        form = LoginForm()
    template_data['form'] = form
    return render(request, 'page/login.html', template_data)
Exemplo n.º 58
0
 def post(self, request):
     form = LoginForm()
     serializer = LoginSerializer(data=request.data)
     if serializer.is_valid():
         print(serializer.data)
         user = authenticate(request,
                             username=serializer.data['username'],
                             password=serializer.data['password'])
         if user is not None:
             print("USERRRRRRRRRRRRRRR")
             login(request, user)
         print(request.data)
         return redirect('/home/')
     return Response({'form': form}, status=status.HTTP_200_OK)
Exemplo n.º 59
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.º 60
0
def sign_in(request):
    _form = LoginForm()
    messages = None
    if request.POST:
        _form = LoginForm(request.POST)
        if _form.is_valid():
            messages = list()
            email = _form.cleaned_data['email']
            password = _form.cleaned_data['password']

            user = authenticate(email=email, password=password)
            if user:
                if user.is_active:
                    login(request, user)
                    return HttpResponseRedirect('/')
                else:
                    messages.append('User is not active')
            else:
                messages.append('Login or password is incorrect')

    params = {'form': _form, 'messages': messages}
    params.update(generate_view_params(request))
    return render(request, 'account/login.html', params)