def test_login_redirect(self): """ Test redirect function which should redirect the user after a succesfull signin. """ # Test with a requested redirect self.failUnlessEqual(login_redirect(redirect='/accounts/'), '/accounts/') # Test with only the user specified user = get_user_model().objects.get(pk=1) self.failUnlessEqual(login_redirect(user=user), '/profiles/%s/' % user.username) # The ultimate fallback, probably never used self.failUnlessEqual(login_redirect(), settings.LOGIN_REDIRECT_URL)
def form_valid(self, form): user = form.get_user() if user.is_active: auth_login(self.request, user) if form.cleaned_data['remember_me']: self.request.session.set_expiry( defaults.ACCOUNTS_REMEMBER_ME_DAYS[1] * 86400) else: self.request.session.set_expiry(0) if defaults.ACCOUNTS_USE_MESSAGES: messages.success(self.request, self.success_message, fail_silently=True) if self.success_url: return redirect(self.success_url) else: url = login_redirect( self.request.REQUEST.get(REDIRECT_FIELD_NAME), user) return redirect(url) else: return redirect(reverse('accounts_disabled', kwargs={'username': user.username}))