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})
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(), })
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))
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);
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})
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')
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()
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, })
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)