From 69ea0a61e8780d6f56a36ff58f958b03e965d408 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 7 Jul 2015 20:46:49 -0400 Subject: [PATCH] Get post_action_redirect and action_cancel_redirect from methods to allow overriding with context. --- mayan/apps/common/mixins.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mayan/apps/common/mixins.py b/mayan/apps/common/mixins.py index b67f62fb4d..4cecc035ec 100644 --- a/mayan/apps/common/mixins.py +++ b/mayan/apps/common/mixins.py @@ -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)