From 985ccd9b4c7ea1e4dc7edec0dd467dbcc056141e Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 10 Apr 2019 12:07:28 +0200 Subject: [PATCH 2/5] utils: allow overriding REDIRECT_FIELD_NAME in select_next_url() (#32140) A view can have different next_url depending on its final state (cancel, ok, etc..) --- src/authentic2/utils.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/authentic2/utils.py b/src/authentic2/utils.py index 8d2397c7..e7fed068 100644 --- a/src/authentic2/utils.py +++ b/src/authentic2/utils.py @@ -888,9 +888,10 @@ def good_next_url(request, next_url): return False -def get_next_url(params): +def get_next_url(params, field_name=None): + field_name = field_name or REDIRECT_FIELD_NAME '''Extract and decode a next_url field''' - next_url = params.get(REDIRECT_FIELD_NAME) + next_url = params.get(field_name) if not next_url: return None try: @@ -902,9 +903,9 @@ def get_next_url(params): return next_url -def select_next_url(request, default, include_post=False): +def select_next_url(request, default, field_name=None, include_post=False, replace=None): '''Select the first valid next URL''' - next_url = (include_post and get_next_url(request.POST)) or get_next_url(request.GET) + next_url = (include_post and get_next_url(request.POST, field_name=field_name)) or get_next_url(request.GET, field_name=field_name) if good_next_url(request, next_url): return next_url return default -- 2.20.1