X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/ac4a0cc6665c69711706e389ecffbd3915c44d52..f91bfa1ef832989770b0c0287d9c5d20cdee9b4a:/contrib/waldo/models.py diff --git a/contrib/waldo/models.py b/contrib/waldo/models.py index 183fe49..65cba9e 100644 --- a/contrib/waldo/models.py +++ b/contrib/waldo/models.py @@ -81,7 +81,7 @@ class LoginMultiView(MultiView): if host != request.get_host(): referrer = None else: - redirect = ''.join(referrer[2:]) + redirect = '%s?%s' % (referrer[2], referrer[4]) if referrer is None: redirect = node.get_absolute_url() @@ -107,6 +107,9 @@ class LoginMultiView(MultiView): """ Displays the login form for the given HttpRequest. """ + if request.user.is_authenticated(): + return HttpResponseRedirect(node.get_absolute_url()) + context = self.get_context(extra_context) from django.contrib.auth.models import User @@ -177,6 +180,9 @@ class LoginMultiView(MultiView): send_mail(subject, message, from_email, [email]) def password_reset(self, request, node=None, extra_context=None, token_generator=password_token_generator): + if request.user.is_authenticated(): + return HttpResponseRedirect(node.get_absolute_url()) + if request.method == 'POST': form = PasswordResetForm(request.POST) if form.is_valid(): @@ -257,7 +263,7 @@ class LoginMultiView(MultiView): } self.send_confirmation_email('Confirm account creation at %s' % current_site.name, user.email, self.register_confirmation_email, context) messages.add_message(request, messages.SUCCESS, 'An email has been sent to %s with details on activating your account.' % user.email, fail_silently=True) - return HttpResponseRedirect('') + return HttpResponseRedirect(node.get_absolute_url()) else: form = RegistrationForm()