我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用django.contrib.auth.login()。
def signup(request): if request.user.is_authenticated: return HttpResponseRedirect('/post/') if request.method == 'GET': form = UserCreationForm() return render(request, 'tilweb/signup.html', {'form': form}) if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): # https://docs.djangoproject.com/en/1.11/topics/forms/modelforms/#the-save-method form.save() username = form.cleaned_data.get('username') password = form.cleaned_data.get('password1') user = authenticate(username=username, password=password) login(request, user) return HttpResponseRedirect('/post/') else: # If there were errors, we render the form with these # errors return render(request, 'tilweb/signup.html', {'form': form})
def form_valid(self, form): self.profile = form.save() self.request.session['user_cart'] = self.request.session.session_key user = authenticate( email=self.profile.email, password=self.request.POST['password1'] ) messages.add_message( self.request, messages.SUCCESS, 'You were successfully logged in.' ) login(self.request, user) return super(RegistrationFormView, self).form_valid(form)
def index(request): """ The index page determines if a particular user has logged in. It will follow the following steps Method ~~~~~~ 1.) If there is a user logged in, if not, send them to login 2.) Find out if this user should be in the system, if not send them to invalid view 3.) If survived this far the user will be sent to "Active Projects" """ if not request.user.is_authenticated: return HttpResponseRedirect(reverse('login')) else: return HttpResponseRedirect(reverse('active_projects')) # Default return HttpResponseRedirect(reverse('login'))
def clean(self): #Get login data username=self.cleaned_data.get("username") password=self.cleaned_data.get("password") #Checking authentication if username and password: user=authenticate(username=username, password=password) """ The following bunch of if, else if statements will return errors if the following cases are met -- Login is not valid -- Login is currently not active -- If the user does not have groups associated with them """ if ((not user) or (not user.check_password(password))): raise forms.ValidationError("The login details are incorrect") elif (not user.is_active): raise forms.ValidationError("Please contact your system administrator. Your account has been disabled") elif (user_groups.objects.filter(username_id=user.id, is_deleted='FALSE').count() == 0): raise forms.ValidationError("Please contact your system administrator. Your account has no group access") return super(login_form, self).clean()
def subscriptions(request): data = {} for word in r.keys("subscription_*"): subscription = re.sub(r'^subscription_', '', str(word.decode('utf-8'))) try: subscription_data = r.lrange(word, 0, -1) data[subscription] = subscription_data except: raise profile_form = ContactForm(instance=Contact.objects.get(user=request.user.id)) return render(request, 'isubscribe/subscriptions.html', {'DATA':data, 'profile_form': profile_form}) #@login_required(login_url=reverse_lazy('login'))
def resolve(request): mimetype = 'application/json' data = {} if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '': data['entity'] = request.POST['entity'] data['status'] = 0 data['timestamp'] = datetime.datetime.now().timestamp() data['output'] = "resolve request by %s" % (request.user.username) data['result'] = 'okay' sensu_event_resolve(data) Channel('background-alert').send(dict(data)) return HttpResponse(json.dumps(data), mimetype) #@login_required(login_url=reverse_lazy('login'))
def rmResult(request): mimetype = 'application/json' data = {} if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '': data['client'], data['check'] = request.POST['entity'].split(':') data['status'] = 0 data['timestamp'] = datetime.datetime.now().timestamp() if sensu_result_delete(data): data['result'] = 'okay' else: data['result'] = 'failed deleting result using sensu api for: ' + request.POST['entity'] return HttpResponse(json.dumps(data), mimetype) #@login_required(login_url=reverse_lazy('login'))
def entity_history(request): data = [] mimetype = 'application/json' if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '': entity = request.POST['entity'] logger.debug("view entity_history user: %s entity: %s" % (request.user.username, entity)) for history_data in r.lrange('history_entity_' + entity, 0, 100): data.append(pickle.loads(history_data)) return HttpResponse(json.dumps(data), mimetype) #@login_required(login_url=reverse_lazy('login'))
def entity_notify_history(request): data = [] mimetype = 'application/json' if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '': entity = request.POST['entity'] logger.debug("view entity_notify_history user: %s entity: %s" % (request.user.username, entity)) for history_data in r.lrange('notifyhistory_entity_' + entity, 0, 100): data.append(pickle.loads(history_data)) return HttpResponse(json.dumps(data), mimetype) #@login_required(login_url=reverse_lazy('login'))
def check_config(request): mimetype = 'application/json' data = {} if request.method == 'POST' and 'entity' in request.POST and request.POST['entity'] != '': client_name, check_name = request.POST['entity'].split(':') #check_name = 'check_gw_tomcat_errors_1h' #data = cache.get('check_' + check_name) data = cache.get('check_' + request.POST['entity']) return HttpResponse(json.dumps(data), mimetype) #@login_required(login_url=reverse_lazy('login'))
def form_valid(self, form): cart = get_cart(self.request, create=True) user = authenticate(email=self.request.POST['email'], password=self.request.POST['password']) if user is not None and user.is_active: self.request.session['user_cart'] = self.request.session.session_key login(self.request, user) if cart is not None: cart.user = Profile.objects.get(id=user.id) cart.save() messages.add_message(self.request, messages.SUCCESS, 'You were successfully logged in.') return super(AuthenticationForm, self).form_valid(form) else: response = super(AuthenticationForm, self).form_invalid(form) messages.add_message(self.request, messages.WARNING, 'Wrong email or password. Please try again') return response # Logout View
def get(self, request, *args, **kwargs): try: uid = force_text(urlsafe_base64_decode(kwargs['uid64'])) user = UserModel.objects.get(pk=uid) except Exception as e: logger.info(e) user = None if user is not None and account_activation_token.check_token(user, kwargs['token']): email_address = user.emailaddress_set.first() email_address.verified = True email_address.save() user.backend = 'django.contrib.auth.backends.ModelBackend' login(request, user) # return redirect('home') return HttpResponse('Thank you for your email confirmation. Now you can login your account.') return HttpResponse('Activation link is invalid!')
def napravi_oglas(request): if not request.user.is_authenticated(): return render(request, 'music/login.html') else: form = OglasForm(request.POST or None, request.FILES or None) if form.is_valid(): oglas = form.save(commit=False) oglas.vlasnik = request.user oglas.slike = request.FILES['slike'] file_type = oglas.slike.url.split('.')[-1] file_type = file_type.lower() if file_type not in IMAGE_FILE_TYPES: context = { 'oglas': oglas, 'form': form, 'error_message': 'Image file must be PNG, JPG, or JPEG', } return render(request, 'music/napravi_oglas.html', context) oglas.save() return render(request, 'music/detail.html', {'oglas': oglas}) context = { "form": form, 'kategorije': Kategorija.objects.all(), } return render(request, 'music/napravi_oglas.html', context)
def post(self, request: HttpRequest, *args, **kwargs) -> HttpResponseRedirect: username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username=username, password=password) if user is None: messages.error(request, _('No user account matches the entered credentials.')) return redirect('common:login') if not user.is_active: messages.error(request, _('User account is deactivated.')) return redirect('common:login') login(request, user) url = urllib.parse.unquote(request.GET.get('next', '')) if url and is_safe_url(url, request.get_host()): return redirect(url) return redirect('/')
def verify(request): assert 'login_signature' in request.POST, "No signature supplied" kwargs = { 'username': request.POST.get('login_username'), 'signature': request.POST.get('login_signature'), 'csrf_token': str(request.POST.get('csrfmiddlewaretoken')) } user = authenticate(request=request, **kwargs) if user is None: raise Exception("Failed to log in") # return HttpResponseRedirect('/login') else: login(request, user) return HttpResponseRedirect("/")
def login(request): if request.session.get('username') is not None: return HttpResponseRedirect('/',{"user":request.user}) else: username = request.POST.get('username') password = request.POST.get('password') user = auth.authenticate(username=username,password=password) if user and user.is_active: auth.login(request,user) request.session['username'] = username return HttpResponseRedirect('/user/center/',{"user":request.user}) else: if request.method == "POST": return render(request,'login.html',{"login_error_info":"???????????????"},) else: return render(request,'login.html')
def login(self, **credentials): """ Sets the Factory to appear as if it has successfully logged into a site. Returns True if login is possible; False if the provided credentials are incorrect, or the user is inactive, or if the sessions framework is not available. """ from django.contrib.auth import authenticate user = authenticate(**credentials) if (user and user.is_active and apps.is_installed('django.contrib.sessions')): self._login(user) return True else: return False
def create_password(request, token): if request.user.is_authenticated: return redirect('order:details', token=token) order = get_object_or_404(Order, token=token) email = order.user_email form_data = request.POST.copy() if form_data: form_data.update({'email': email}) register_form = PasswordForm(form_data or None) if User.objects.filter(email=email).exists(): login_form = LoginForm(initial={'login': email}) else: login_form = None if register_form.is_valid(): register_form.save() password = register_form.cleaned_data.get('password') user = auth.authenticate(request=request, email=email, password=password) auth.login(request, user) attach_order_to_user(order, user) return redirect('order:details', token=token) ctx = {'form': register_form, 'email': email, 'order': order, 'login_form': login_form} return TemplateResponse(request, 'order/create_password.html', ctx)
def user_login(request): if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): cd = form.cleaned_data user = authenticate(username=cd['username'], password=cd['password']) if user is not None: if user.is_active: login(request, user) return success('Authenticated successfully', '/ui') else: return error('Disabled account') else: return error('Wrong username or password') else: return error(str(form.errors)) else: form = LoginForm() return render(request, 'accounts/login.html', {'form': form})
def register(request): if request.method == 'POST': user_form = UserRegisterForm(request.POST) if user_form.is_valid(): new_user = user_form.save(commit=False) new_user.set_password( user_form.cleaned_data['password'] ) new_user.is_active = False new_user.save() return success('Your account has been successfully created.', '/accounts/login') else: return error(str(user_form.errors)) else: user_form = UserRegisterForm() return render(request, 'accounts/register.html', {'form': user_form})
def change_password(request): if request.method == 'POST': form = PasswordChangeForm(request.POST) if form.is_valid(): username = request.user.username cd = form.cleaned_data user = authenticate(username=username, password=cd['old_password']) if user is not None and user.is_active: new_password = cd['new_password_1'] user.set_password(new_password) user.save() update_session_auth_hash(request, username) return success('Your password had been updated.', 'accounts:login') else: return error('Password doesn\'t match.') else: return error('Your form is illegal.') else: return error('Please confirm your approaching method.')
def auth(request): try: username = request.POST['username'] password = request.POST['password'] except (KeyError): # Be very upset and just throw the fool back return index(request) else: # Attempt authentication user = authenticate(username=username, password=password) if user is not None: login(request, user) return redirect('/login') else: # Login failed return render(request, 'login/index.html', { 'version' : settings.VERSION, 'authfail' : True, })
def process_request(self, request): if request.method == 'POST' and \ request.POST.get('lti_message_type') == 'basic-lti-launch-request': logger.debug('received a basic-lti-launch-request - ' 'authenticating the user') # authenticate and log the user in user = auth.authenticate(request=request) if user is not None: # User is valid. # Set request.user and # persist user in the session by logging the user in. logger.debug('user was successfully authenticated; ' 'now log them in') request.user = user auth.login(request, user) return HttpResponseRedirect(request.get_full_path())
def login_auth(request): username = request.POST.get('username') password = request.POST.get('password') goto_page = request.POST.get('next') logger.debug('try to login, username: '+username+', password: '+password+', goto_page: '+str(goto_page)) # TODO: ??????‘???’????????? if not username or not password: return login(request, {'errors': '?????????'}) # ???????? newUser=auth.authenticate(username=username,password=password) if newUser is not None: if not is_manager(newUser): return login(request, {'errors': '???????'}) auth.login(request, newUser) if goto_page: return redirect(goto_page) else: return redirect('staff:index') return login(request, {'errors': '????????'})
def post(self, request): var = ('username', 'password',) vard = {} for k in var: v = request.POST.get(k, '') if not v: return JsonResponse({'error': k + ' is empty'}) vard[k] = v user = auth.authenticate( username=vard['username'], password=vard['password']) if user is None: return JsonResponse({'error': 'username or password incorrect'}) if not is_lecturer(user): return JsonResponse({'error': 'you are not authorized'}) auth.login(request, user) return redirect('lecturer:index')
def logout(request): auth.logout(request) return redirect('import_:login') # class StaffRoleRequiredMixin(AccessMixin): # def dispatch(self, request, *args, **kwargs): # url_name = self.request.resolver_match.url_name # for group in self.request.user.groups.all(): # for staff_permission in group.staffpermission_set.all(): # if staff_permission.allowed_url_name == 'all' \ # or staff_permission.allowed_url_name == url_name: # return super(StaffRoleRequiredMixin, self).dispatch( # request, *args, **kwargs) # # return HttpResponse("Not Allowed.", status=403)
def post(self, request: HttpRequest, *args, **kwargs) -> HttpResponseRedirect: username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username=username, password=password) if user is None: messages.error(request, _('No user account matches the entered credentials.')) return redirect('backoffice:login') if not user.is_active: messages.error(request, _('User account is deactivated.')) return redirect('backoffice:login') if not is_backoffice_user(user): messages.error(request, _('User does not have permission to access backoffice data.')) return redirect('backoffice:login') login(request, user) url = request.GET.get('next') if url and is_safe_url(url, request.get_host()): return redirect(url) return redirect('backoffice:main')
def post(self, request: HttpRequest, *args, **kwargs) -> HttpResponseRedirect: username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username=username, password=password) if user is None: messages.error(request, _('No user account matches the entered credentials.')) return redirect('troubleshooter:login') if not user.is_active: messages.error(request, _('User account is deactivated.')) return redirect('troubleshooter:login') if not troubleshooter_user(user): messages.error(request, _('User does not have permission to access troubleshooter data.')) return redirect('troubleshooter:login') login(request, user) return redirect('troubleshooter:main')
def post(self, request): form = self.form_class(request.POST) if form.is_valid(): username, password = form.cleaned_data['username'], form.cleaned_data['password'] user = authenticate(username=username, password=password) if user: if user.is_active: login(request, user) return redirect("/") else: form.add_error("username", "Please confirm your password") return render(request, "account/login.html", {"form": form}) else: form.add_error("password", "Invalid username or password") return render(request, "account/login.html", {"form": form}) else: return render(request, "account/login.html", {"form": form})
def login(request): username = auth.get_user(request).username if (username): return redirect('/') else: args = {} args.update(csrf(request)) if request.POST: username = request.POST.get('username','') password = request.POST.get('password','') user = auth.authenticate(username=username, password=password) if user is not None: if not request.POST.get('remember-me', ''): request.session.set_expiry(0) auth.login(request, user) return redirect('/') else: args['login_error'] = format_html("<div class=\"main-error alert alert-error\">???????????? ??? ???????????? ??? ??????</div>") return render_to_response('login.html', args) else: return render_to_response('login.html', args)
def history(request): username = auth.get_user(request).username if (username): ?t = city.objects.all().values() co = country.objects.all().values() city_json = json.dumps(list(?t), cls=DjangoJSONEncoder,ensure_ascii=False) country_json = json.dumps(list(co), cls=DjangoJSONEncoder,ensure_ascii=False) args={} args['city']=city_json args['country'] = country_json args['max_date'] = [] for i in ?t: args['max_date'].append((temperature.objects.filter(city_id__exact=i['city_id']).latest('date').date)) return render_to_response("history.html",args) else: return redirect("/login")
def register(request): username = auth.get_user(request).username if not (username): args={} args.update(csrf(request)) args['form']=UserCreationForm() if request.POST: newuser_form=UserCreationForm(request.POST) if newuser_form.is_valid(): newuser_form.save() newuser = auth.authenticate(username=newuser_form.cleaned_data['username'],password=newuser_form.cleaned_data['password2']) auth.login(request, newuser) return redirect('/') else: args['errors'] = format_html('<div class="main-error alert alert-error">?????? ??? ???????????</div>') args['form'] = newuser_form return render_to_response('register.html',args) else: return redirect('/')
def login(request): if request.session.get('username') is not None: return HttpResponseRedirect('/profile',{"user":request.user}) else: username = request.POST.get('username') password = request.POST.get('password') user = auth.authenticate(username=username,password=password) if user and user.is_active: auth.login(request,user) request.session['username'] = username return HttpResponseRedirect('/profile',{"user":request.user}) else: if request.method == "POST": return render_to_response('login.html',{"login_error_info":"???????????????"}, context_instance=RequestContext(request)) else: return render_to_response('login.html',context_instance=RequestContext(request))
def signup(request): # if this is a POST request we need to process the form data if request.method == 'POST': form = forms.RegisterForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] password = form.cleaned_data['password'] name = form.cleaned_data['name'] if models.User.objects.filter(email=email).first() is not None: messages.error(request, 'An account with this email already exists') else: user = models.User.objects.create_user(email=email, password=password, name=name) user = auth.authenticate(email=email, password=password) auth.login(request, user) return HttpResponseRedirect(reverse('root')) else: form = forms.RegisterForm() return render(request, 'signup.html', {'form': form})
def activate(request, uid, token): try: uid = force_text(urlsafe_base64_decode(uid)) user = User.objects.get(pk=uid) if request.user != user: messages.warning(request, "User email can be verified") return redirect('root') except (TypeError, ValueError, OverflowError, User.DoesNotExist): messages.warning(request, "User email can be verified") return redirect('root') if account_activation_token.check_token(user, token): messages.success(request, "Email verified!") user.email_verified = True user.save() auth.login(request, user) else: messages.error(request, "This email verification url has expired") return redirect('root')
def auth_login(request): if request.user.is_authenticated(): return redirect(reverse('tail:tail')) if request.method == 'POST': form = RFPAuthForm(data=request.POST) if form.is_valid(): user = form.get_user() if user is not None: if user.is_active: login(request, user) data = {'success': True, 'msg': 'success'} #return redirect(reverse('tail:tail')) else: data = {'success': False, 'msg': 'User is not active'} #return HttpResponse('Disabled account') else: data = {'success': False, 'msg': 'Invalid login'} #return HttpResponse('Invalid login') else: data = {'success': False, 'msg': '??????????'} return HttpResponse(json.dumps(data), content_type='application/json') else: form = RFPAuthForm() return render(request, 'accounts/login.html', {'form': form})
def login_view(request): if request.POST: 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) messages.add_message(request, messages.SUCCESS, "Login successful.", extra_tags='success') return redirect('account:home') else: messages.add_message(request, messages.ERROR, "You account is disabled.", extra_tags='danger') return redirect('account:login') else: messages.add_message(request, messages.ERROR, "Your username and/or your password is incorrect.", extra_tags='warning') return redirect('account:login') else: if request.user.is_authenticated(): return redirect('account:home') else: return render(request, 'autostew_web_account/login.html')
def login_to_django(self): """ Logs the user into Django Kind of faking it to establish if a user is authenticated later on """ api = API(self.request.session.get('obp')) try: data = api.get('/users/current') except APIError as err: messages.error(self.request, err) return False else: userid = data['user_id'] or data['email'] username = hashlib.sha256(userid.encode('utf-8')).hexdigest() password = username user, _ = User.objects.get_or_create( username=username, password=password, ) login(self.request, user) return True
def get_redirect_url(self, *args, **kwargs): session_data = self.request.session.get('obp') authenticator_kwargs = session_data.get('authenticator_kwargs') authenticator = OAuthAuthenticator(**authenticator_kwargs) authorization_url = self.request.build_absolute_uri() try: authenticator.set_access_token(authorization_url) except AuthenticatorError as err: messages.error(self.request, err) else: session_data['authenticator_kwargs'] = { 'token': authenticator.token, 'secret': authenticator.secret, } self.login_to_django() messages.success(self.request, 'OAuth login successful!') redirect_url = self.request.GET.get('next', reverse('home')) return redirect_url
def login_view(request): if request.method == "GET": return render(request, 'carrinho/login.html', {}) elif request.method == "POST": if request.user.is_authenticated(): return redirect('/') nome_usuario = request.POST.get('usuario') senha = request.POST.get('senha') usuario = authenticate(username=nome_usuario, password=senha) if usuario is not None: login(request, usuario) return redirect('/') return redirect('/login/') else: raise Http404()
def login_mio(request): if request.method == "POST": username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return redirect ('select_perfil') else: messages.error(request, "Usuario y/o contraseña incorrectos.") return render(request, 'accounts/login.html') else: return render(request, 'accounts/login.html') #seleccionar perfil una vez logueado
def viewer_login(request: HttpRequest) -> HttpResponse: if request.method == 'POST': 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) next_url = request.POST.get('next', 'viewer:main-page') return redirect(next_url) else: return render_error(request, "This account has been disabled.") else: return render_error(request, "Invalid login credentials.") else: next_url = request.GET.get('next', 'viewer:main-page') d = {'next': next_url} return render(request, 'viewer/login.html', d)
def login_view(request): if request.user.is_authenticated: return HttpResponseRedirect('/post/') if request.method == 'GET': form = AuthenticationForm() return render(request, 'tilweb/login.html', {'form': form}) if request.method == 'POST': form = AuthenticationForm(request=request, data=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 not None: print(user) login(request, user) return HttpResponseRedirect('/post/') else: print('User not found') else: # If there were errors, we render the form with these # errors return render(request, 'tilweb/login.html', {'form': form})
def change_password(request): if request.method == 'POST': old = request.POST['old_password'] new = request.POST['new_password'] confirm = request.POST['confirm'] user = User.objects.get(username = request.user.username) if user.check_password(old) and new == confirm: user.set_password(new) user.save() logout(request) login_user = authenticate(username = user.username, password = new) if login_user is not None: if login_user.is_active: login(request, login_user) return redirect('push:settings') else: return HttpResponse('Login Error', status = 401) else: return HttpResponse('Login Error', status = 401) else: return HttpResponse('Login Error', status = 401) else: return HttpResponse('Access Denied', status = 403)
def confirm(request): if request.method == 'GET': encrypt_pass = request.GET['token'] session_id = request.GET['session_id'] activate_user = UserActivateTokenModel.objects.filter(token = request.GET['session_id'])[0] decrypted_pass = encryption.execute_encryption(False, encrypt_pass) activate_user.is_user = True activate_user.delete() user = User.objects.get(username = activate_user.username) user.is_active = True user.save() login_user = authenticate(username = user.username, password = decrypted_pass) if login_user is not None: if login_user.is_active: login(request, login_user) return render(request, 'push/top.html', {"is_first": True}) else: return HttpResponse('Login Error', status = 401) else: return HttpResponse('Login Error', status = 401) else: return redirect('accounts:login')
def do_login(request): logger = logging.getLogger("console_logger") logger.debug(request) username = request.POST['username'] password = request.POST['password'] user = authenticate(username = username, password = password) if user is not None: if user.is_active: # Login the user under the current session login(request, user) # Store the login event AccountEvent.log(AccountEvent.LOGIN_EVENT, request) # Redirect to the home page return HttpResponseRedirect("/webapp/home/") else: # Return 'disabled account' error message return HttpResponse('Your account has been disabled') else: # Return an 'invalid login' error message # return HttpResponse('Invalid Credentials') request.session["login_error"] = True return HttpResponseRedirect("/accounts/login/")
def orchidExistingPlayer(request): if request.user.is_authenticated(): logout(request) users = EVUser.objects.filter(experiment__experiment_name=ORCHID_SHOWCASE) if request.method == "GET": users = sorted(users,key=lambda user:user.username) return render(request,"orchid_existing_player.html", Context({"users" : users})) else: if "user" in request.POST: username = request.POST["user"] try: user = authenticate(username=username,password=ORCHID_PASSWORD) login(request, user) return HttpResponseRedirect ("/webapp/home/") except: return render(request,"orchid_existing_player.html", Context({"users" : users,"error_message" : "Something went wrong. Try again."})) else: return render(request,"orchid_existing_player.html", Context({"users" : users,"error_message" : "Please select a user."}))
def authenticate_user(request): """ View for authenticating a user """ resp = {'success': False, 'message': ['GET method not allowed']} if request.is_ajax(): username = request.POST.get('username', '') password = request.POST.get('password', '') user = authenticate(username=username, password=password) if user is not None: is_activated = user.profile.activated login(request, user) if not is_activated: request = issue_new_csrf_token(request) resp = {'success': True, 'is_activated': is_activated} else: resp = {'success': False, 'message': ['Enter a valid username/password.']} return HttpResponse(json.dumps(resp), content_type='application/json')
def create(self, request): data = self.extract_request_data(request) # we validate the user's input, and if valid, login as user serialized_user = self.serializer_class(data=data) if serialized_user.is_valid(): serialized_user.save() serialized_user.instance.set_password(data['password']) serialized_user.instance.save() authenticated_user = authenticate(username=data['username'], password=data['password'], facility=data['facility']) login(request, authenticated_user) return Response(serialized_user.data, status=status.HTTP_201_CREATED) else: # grab error if related to username error = serialized_user.errors.get('username', None) return Response(error, status=status.HTTP_400_BAD_REQUEST)
def create(self, request): username = request.data.get('username', '') password = request.data.get('password', '') facility_id = request.data.get('facility', None) user = authenticate(username=username, password=password, facility=facility_id) if user is not None and user.is_active: # Correct password, and the user is marked "active" login(request, user) # Success! return Response(self.get_session(request)) elif not password and FacilityUser.objects.filter(username=username, facility=facility_id).exists(): # Password was missing, but username is valid, prompt to give password return Response({ "message": "Please provide password for user", "missing_field": "password" }, status=status.HTTP_400_BAD_REQUEST) else: # Respond with error return Response("User credentials invalid!", status=status.HTTP_401_UNAUTHORIZED)