Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MinsaLoginView(FormView):
- template_name = 'minsalogin/login.html'
- form_class = LoginForm
- def dispatch(self, request, *args, **kwargs):
- if request.session.get('auth_token', ''):
- return HttpResponseRedirect('/')
- return super(MinsaLoginView, self).dispatch(request)
- def form_valid(self, form):
- username = form.cleaned_data['username']
- password = form.cleaned_data['password']
- payload = {'username': username, 'password': password}
- d = requests.post('{}auth/login/'.format(URL_LOGIN_SERVER), payload)
- if d.status_code == 200:
- d = d.json()
- if d.get('auth_token'):
- self.request.session['auth_token'] = d.get('auth_token')
- else:
- return self.form_invalid(form)
- elif d.status_code == 400:
- messages.warning(self.request, "Error al ingresar con la credenciales proporcionadas")
- return super(MinsaLoginView, self).form_valid(form)
- def form_invalid(self, form):
- return self.render_to_response(self.get_context_data(form=form, login_error=True))
- def get_success_url(self):
- next = self.request.GET.get('next', None)
- if next is not None:
- return next
- return '/'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement