Example #1
0
 def post(self, request):
     form = LoginForm(request.POST)
     if form.is_valid():
         user = authenticate(request,
                             username=form.cleaned_data['username'],
                             password=form.cleaned_data['password'])
         if user is not None:
             if user.is_active:
                 login(request, user)
                 usertype = user.usertype
                 if usertype == 'TE':
                     group = Group.objects.get(name='teacher')
                     user.groups.add(group)
                     return redirect('teacher_dashboard', id=user.id)
                 elif usertype == 'ST':
                     group = Group.objects.get(name='student')
                     user.groups.add(group)
                     return redirect('student_dashboard', id=user.id)
                 elif usertype == 'HM':
                     group = Group.objects.get(name='headmaster')
                     user.groups.add(group)
                     return redirect('hm_dashboard', id=user.id)
         else:
             form.add_error(
                 None,
                 "Authentication Failed.Please Enter Correct Email Id And Password."
             )
             return render(request, 'login.html', {'form': form})
Example #2
0
def auth(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if not form.is_valid():
            return render(request, 'login.html', {'form': form})
        email = form.cleaned_data.get('email')
        password = form.cleaned_data.get('password')
        user = authenticate(email=email, password=password)
        #current_site = request.site
        if user is None:
            form.add_error('email', '邮箱不正确')
            form.add_error('password', '密码不正确')
            return render(request, 'login.html', {
                'form': form,
            })
        login(request, user)
        if request.session.get('order_status', None) is None:
            return redirect('/')
        elif request.session['order_status'] == 'view':
            return redirect('hospital_detail')
        elif request.session['order_status'] == 'placement':
            request.session['order_status_request'] = 'POST'
            return redirect('hospital_detail')
        #elif request.session['order_status'] == 'resubmit': # if need to auth for resubmit documents
        #return redirect(current_site)
    return render(request, 'login.html', {
        'form': LoginForm(),
    })
Example #3
0
    def post(self, request):
        redirect_to = request.POST.get('next', self.next)
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            server = form.cleaned_data.get('login_server')

            user = auth.authenticate(username=username,
                                     password=password,
                                     server=server,
                                     port=self.port)
            if user is not None and user.is_active:
                if not is_safe_url(url=redirect_to, host=request.get_host()):
                    auth.login(request=request, user=user)
                    return redirect('token')
                else:
                    return redirect(redirect_to)
            elif user is not None and not user.is_active:
                form.add_error(None, 'User login has been disabled')
                return render(request, self.template_name, dict(form=form))
            else:
                form.add_error(None, 'No user exists for given credentials.')
                return render(request, self.template_name, dict(form=form))
        else:
            return render(request, self.template_name, dict(form=form))
Example #4
0
def user_login(request):
    # data sent to template
    data = {}

    # redirect url
    redir = "/"

    # if user is already authenticated, redirect to home
    if request.user.is_authenticated():
        return HttpResponseRedirect(redir)

    # if post method, try to login
    if request.method == "POST":
        form = LoginForm(request.POST)
        data["form"] = form

        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]

            # authenticate
            user = authenticate(username=username, password=password)
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponseRedirect(redir)
                else:
                    form.add_error(None, "Account disabled. Contact administrator.")
            else:
                form.add_error(None, "Invalid username or password.")
    # if no post method, create empty login form
    else:
        data["form"] = LoginForm()

    return render(request, 'login.html', data);
Example #5
0
def login(request):
    # A HTTP POST?

    if request.method == 'POST':
        form = LoginForm(request.POST)

        # Have we been provided with a valid form?
        if form.is_valid():
            # Save the new category to the database.
            function = "login_user/" #do not forget the trailing slash
            full_url = base_url + function
            values={}
            values['username'] = form.cleaned_data['username']
            values['password'] = form.cleaned_data['password']
            values['amicat'] = form.cleaned_data['amicat']

            print("LOGIIIIIN: USER Y PASS\n\n")
            print(form.cleaned_data['username'])
            print(form.cleaned_data['password'])

            resultDic = connect(full_url, values)
            template = "client/game.html"

            #depending on the value of amIcat
            #we should create a new game or init one
            if resultDic['result']:
                if (form.cleaned_data['amicat'] == 1):
                    function = "add_game/"
                    full_url = base_url + function
                    values={}
                    resultDic = connect(full_url, values)
                    return render(request
                                  ,template
                                  ,context={'username': form.cleaned_data['username']}
                                  ,context_instance=RequestContext(request))
                else:
                    function = "join_game/"
                    full_url = base_url + function
                    values={}
                    resultDic = connect(full_url, values)
                    return render(request
                                  ,template
                                  ,context={'username': form.cleaned_data['username']}
                                  ,context_instance=RequestContext(request))

            else:
                form.add_error("username","Wrong username or password")
        else:
            # The supplied form contained errors - just print them to the terminal.
            print form.errors
    else:
        # If the request was not a POST, display the form to enter details.
        form = LoginForm()

    # Bad form (or form details), no form supplied...
    # Render the form with error messages (if any).
    return render(request, 'client/login.html', {'form': form,"message":message})
Example #6
0
def loginUser(request):
    if request.user.is_authenticated():
        return redirect('products_add_product')
    #to redirect after login to other view
    redirect_to = None
    if (next in request.GET):
        redirect_to = request.GET['next']
    # allow head type request for cache purposes
    if request.method == 'GET' or request.method == 'HEAD':
        form = LoginForm()
        return render(request, 'login.html', {'form': form})
    elif request.method == 'POST':
        form = LoginForm(request.POST)
        try:
            username_or_email = request.POST['username_or_email'].lower(
            ).strip()
            user_object = User.objects.filter(
                username=username_or_email) | User.objects.filter(
                    email=username_or_email)
            user_object = user_object[0]
        except:
            errors = form.add_error("username_or_email",
                                    "Username or email not found")
            return render(request, 'login.html', {'form': form})
        user = authenticate(
            username=user_object.username.lower().strip(),
            password=request.POST['password'],
        )
        if redirect_to != None:
            return HttpResponseRedirect(next)
        if user is not None:
            login(request, user)
            if hasattr(request.user, 'profile'):
                if (request.user.profile.account_confirmed == True):
                    countProducts = Product.objects.filter(
                        user=request.user).count()
                    if (countProducts == 0):
                        return redirect('products_add_product')
                    #else
                    return redirect('dashboard')
                else:
                    logout(request)
                    errors = form.add_error(
                        "username_or_email",
                        "Please click on the email we sent you to verify your account."
                    )
                    return render(request, 'login.html', {'form': form})
        errors = form.add_error("password", "Invalid Credentials")
        return render(request, 'login.html', {'form': form})
    raise ValueError('Invalid request type at login')
Example #7
0
def register(request):
    if request.method == 'POST':
        a = request.POST.get('action')
        if a == 'register':
            register_f = RegisterForm(request.POST)
            login_f = LoginForm()
            if register_f.is_valid():
                try:
                    User.objects.create_user(
                        register_f.cleaned_data['username'],
                        register_f.cleaned_data['email'],
                        register_f.cleaned_data['password'])
                except IntegrityError, e:
                    if 'username' in str(e):
                        register_f.add_error('username',
                                             'Username is taken')
                    elif 'email' in str(e):
                        register_f.add_error('email',
                                             'Email is already registered')
                    else:
                        raise e
                else:
                    user = authenticate(
                        username=register_f.cleaned_data['username'],
                        password=register_f.cleaned_data['password'])
                    login(request, user)
                    Timezone.objects.create(user=user)
                    project = Project()
                    project.user = user
                    project.name = 'default project'
                    project.description = 'default project description'
                    project.color = Project.DEFAULT_COLOR
                    project.save()
                    return redirect('dashboard')
        elif a == 'login':
            register_f = RegisterForm()
            login_f = LoginForm(request.POST)
            if login_f.is_valid():
                user = authenticate(
                    username=login_f.cleaned_data['username'],
                    password=login_f.cleaned_data['password'])
                if user is None:
                    login_f.add_error('username',
                                      'Wrong credentials')
                else:
                    login(request, user)
                    return redirect('dashboard')
        else:
            register_f = RegisterForm()
            login_f = LoginForm()
Example #8
0
def logining(request):
	if (request.method == "GET"):
		loginForm = LoginForm()
	else:
		loginForm = LoginForm(request.POST)
		if loginForm.is_valid():
			user = authenticate(username=loginForm.data['username'], password=loginForm.data['password'])
			if (user is not None):
				session = do_login(request,user)
				response = HttpResponseRedirect('/')
				response.set_cookie('sessionid', session.session_key, domain='.localhost', httponly=True, expires = session.expire_date)
				return response
			else:
				loginForm.add_error(filed=None, error="wrong login/pass")	 
	return render(request,'login.html',{
		"form" : loginForm,
		})
Example #9
0
def login(request):
    cxt = {}
    cxt.update(csrf(request))
    if request.method == 'POST':
        login_form = LoginForm(request.POST)
        next_page = request.POST.get('next', '/home/')
        if login_form.is_valid():
            data = login_form.cleaned_data
            username = data['username']
            password = data['password']
            user = auth.authenticate(username=username, password=password)
            if user and user.is_active:
                auth.login(request, user)
                return redirect('%s' % next_page)
            else:
                login_form.add_error('username', 'Invalid user or password')
    else:
        login_form = LoginForm()
        next_page = request.GET.get('next', '/home/')
    cxt.update({'login_form': login_form, 'next': next_page})
    return render_to_response('registration/login.html', cxt)