Commit d33ae9d9 authored by ibuler's avatar ibuler

[Update] login add cookie test

parent d51b3eff
...@@ -8,7 +8,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin ...@@ -8,7 +8,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import ListView from django.views.generic import ListView
from django.core.files.storage import default_storage from django.core.files.storage import default_storage
from django.db.models import Q from django.db.models import Q
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import reverse, redirect from django.shortcuts import reverse, redirect
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
...@@ -45,9 +45,12 @@ class UserLoginView(FormView): ...@@ -45,9 +45,12 @@ class UserLoginView(FormView):
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
if request.user.is_staff: if request.user.is_staff:
return redirect(self.get_success_url()) return redirect(self.get_success_url())
return super(UserLoginView, self).get(request, *args, **kwargs) request.session.set_test_cookie()
return super().get(request, *args, **kwargs)
def form_valid(self, form): def form_valid(self, form):
if not self.request.session.test_cookie_worked():
return HttpResponse(_("Please enable cookies and try again."))
auth_login(self.request, form.get_user()) auth_login(self.request, form.get_user())
login_ip = self.request.META.get('REMOTE_ADDR', '') login_ip = self.request.META.get('REMOTE_ADDR', '')
user_agent = self.request.META.get('HTTP_USER_AGENT', '') user_agent = self.request.META.get('HTTP_USER_AGENT', '')
...@@ -72,7 +75,7 @@ class UserLogoutView(TemplateView): ...@@ -72,7 +75,7 @@ class UserLogoutView(TemplateView):
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
auth_logout(request) auth_logout(request)
return super(UserLogoutView, self).get(request, *args, **kwargs) return super().get(request, *args, **kwargs)
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = { context = {
...@@ -82,7 +85,7 @@ class UserLogoutView(TemplateView): ...@@ -82,7 +85,7 @@ class UserLogoutView(TemplateView):
'auto_redirect': True, 'auto_redirect': True,
} }
kwargs.update(context) kwargs.update(context)
return super(UserLogoutView, self).get_context_data(**kwargs) return super().get_context_data(**kwargs)
class UserForgotPasswordView(TemplateView): class UserForgotPasswordView(TemplateView):
...@@ -111,7 +114,7 @@ class UserForgotPasswordSendmailSuccessView(TemplateView): ...@@ -111,7 +114,7 @@ class UserForgotPasswordSendmailSuccessView(TemplateView):
'redirect_url': reverse('users:login'), 'redirect_url': reverse('users:login'),
} }
kwargs.update(context) kwargs.update(context)
return super(UserForgotPasswordSendmailSuccessView, self)\ return super()\
.get_context_data(**kwargs) .get_context_data(**kwargs)
...@@ -126,7 +129,7 @@ class UserResetPasswordSuccessView(TemplateView): ...@@ -126,7 +129,7 @@ class UserResetPasswordSuccessView(TemplateView):
'auto_redirect': True, 'auto_redirect': True,
} }
kwargs.update(context) kwargs.update(context)
return super(UserResetPasswordSuccessView, self)\ return super()\
.get_context_data(**kwargs) .get_context_data(**kwargs)
...@@ -139,7 +142,7 @@ class UserResetPasswordView(TemplateView): ...@@ -139,7 +142,7 @@ class UserResetPasswordView(TemplateView):
if not user: if not user:
kwargs.update({'errors': _('Token invalid or expired')}) kwargs.update({'errors': _('Token invalid or expired')})
return super(UserResetPasswordView, self).get(request, *args, **kwargs) return super().get(request, *args, **kwargs)
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
password = request.POST.get('password') password = request.POST.get('password')
...@@ -166,7 +169,7 @@ class UserFirstLoginView(LoginRequiredMixin, ListView): ...@@ -166,7 +169,7 @@ class UserFirstLoginView(LoginRequiredMixin, ListView):
def dispatch(self, request, *args, **kwargs): def dispatch(self, request, *args, **kwargs):
if request.user.is_authenticated() and not request.user.is_first_login: if request.user.is_authenticated() and not request.user.is_first_login:
return redirect(reverse('index')) return redirect(reverse('index'))
return super(UserFirstLoginView, self).dispatch(request, *args, **kwargs) return super().dispatch(request, *args, **kwargs)
def done(self, form_list, **kwargs): def done(self, form_list, **kwargs):
user = self.request.user user = self.request.user
...@@ -185,7 +188,7 @@ class UserFirstLoginView(LoginRequiredMixin, ListView): ...@@ -185,7 +188,7 @@ class UserFirstLoginView(LoginRequiredMixin, ListView):
return render(self.request, 'users/first_login_done.html', context) return render(self.request, 'users/first_login_done.html', context)
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(UserFirstLoginView, self).get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context.update({'app': _('Users'), 'action': _('First login')}) context.update({'app': _('Users'), 'action': _('First login')})
return context return context
...@@ -199,10 +202,10 @@ class UserFirstLoginView(LoginRequiredMixin, ListView): ...@@ -199,10 +202,10 @@ class UserFirstLoginView(LoginRequiredMixin, ListView):
'wechat': user.wechat or '', 'wechat': user.wechat or '',
'phone': user.phone or '' 'phone': user.phone or ''
} }
return super(UserFirstLoginView, self).get_form_initial(step) return super().get_form_initial(step)
def get_form(self, step=None, data=None, files=None): def get_form(self, step=None, data=None, files=None):
form = super(UserFirstLoginView, self).get_form(step, data, files) form = super().get_form(step, data, files)
form.instance = self.request.user form.instance = self.request.user
return form return form
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment