Advertisement
Guest User

Untitled

a guest
May 3rd, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.29 KB | None | 0 0
  1.     class MinsaLoginView(FormView):
  2.     template_name = 'minsalogin/login.html'
  3.     form_class = LoginForm
  4.  
  5.     def dispatch(self, request, *args, **kwargs):
  6.         if request.session.get('auth_token', ''):
  7.             return HttpResponseRedirect('/')
  8.         return super(MinsaLoginView, self).dispatch(request)
  9.  
  10.     def form_valid(self, form):
  11.         username = form.cleaned_data['username']
  12.         password = form.cleaned_data['password']
  13.         payload = {'username': username, 'password': password}
  14.         d = requests.post('{}auth/login/'.format(URL_LOGIN_SERVER), payload)
  15.         if d.status_code == 200:
  16.             d = d.json()
  17.             if d.get('auth_token'):
  18.                 self.request.session['auth_token'] = d.get('auth_token')
  19.             else:
  20.                 return self.form_invalid(form)
  21.         elif d.status_code == 400:
  22.             messages.warning(self.request, "Error al ingresar con la credenciales proporcionadas")
  23.  
  24.         return super(MinsaLoginView, self).form_valid(form)
  25.  
  26.     def form_invalid(self, form):
  27.         return self.render_to_response(self.get_context_data(form=form, login_error=True))
  28.  
  29.     def get_success_url(self):
  30.         next = self.request.GET.get('next', None)
  31.         if next is not None:
  32.             return next
  33.         return '/'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement