Get post_action_redirect and action_cancel_redirect from methods to allow overriding with context.

This commit is contained in:
Roberto Rosario
2015-07-07 20:46:49 -04:00
parent bd8487848a
commit 69ea0a61e8

View File

@@ -77,9 +77,18 @@ class RedirectionMixin(object):
post_action_redirect = None
action_cancel_redirect = None
def get_post_action_redirect(self):
return self.post_action_redirect
def get_action_cancel_redirect(self):
return self.action_cancel_redirect
def dispatch(self, request, *args, **kwargs):
self.next_url = self.request.POST.get('next', self.request.GET.get('next', self.post_action_redirect if self.post_action_redirect else self.request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
self.previous_url = self.request.POST.get('previous', self.request.GET.get('previous', self.action_cancel_redirect if self.action_cancel_redirect else self.request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
post_action_redirect = self.get_post_action_redirect()
action_cancel_redirect = self.get_action_cancel_redirect()
self.next_url = self.request.POST.get('next', self.request.GET.get('next', post_action_redirect if post_action_redirect else self.request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
self.previous_url = self.request.POST.get('previous', self.request.GET.get('previous', action_cancel_redirect if action_cancel_redirect else self.request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
return super(RedirectionMixin, self).dispatch(request, *args, **kwargs)