diff --git a/opentech/public/mailchimp/views.py b/opentech/public/mailchimp/views.py index 56534258b7d2d0f48f37929f8bc3169d08bd2666..ed0ede580472b056eed7383c59ded72c7577e5a6 100644 --- a/opentech/public/mailchimp/views.py +++ b/opentech/public/mailchimp/views.py @@ -1,5 +1,7 @@ import logging +import uuid + from django.conf import settings from django.contrib import messages from django.http import HttpResponseRedirect @@ -76,8 +78,15 @@ class MailchimpSubscribeView(FormMixin, RedirectView): messages.success(self.request, _('Thank you for subscribing')) def get_success_url(self): - # Go back to where you came from - return self.request.META['HTTP_REFERER'] + # Go back to where you came from, default to front page. + origin = '/' + if 'HTTP_ORIGIN' in self.request.META: + origin = self.request.META['HTTP_ORIGIN'] + elif 'HTTP_REFERER' in self.request.META: + origin = self.request.META['HTTP_REFERER'] + + # Add cache busting query string. + return origin + '?newsletter-' + uuid.uuid4().hex def get_redirect_url(self): # We don't know where you came from, go home