views: in logout() show the intermediate page when next_url is not the default next URL (fixes #7031)

This commit is contained in:
Benjamin Dauvergne 2015-04-23 11:21:57 +02:00
parent d550f427d4
commit 5232d170ab
1 changed files with 3 additions and 2 deletions

View File

@ -412,8 +412,9 @@ def logout(request, next_url=None, default_next_url='auth_homepage',
check_referer and do_local to False.
'''
logger = logging.getLogger(__name__)
default_next_url = utils.make_url(default_next_url)
next_url = next_url or request.REQUEST.get(redirect_field_name,
utils.make_url(default_next_url))
default_next_url)
ctx = {}
ctx['next_url'] = next_url
ctx['redir_timeout'] = 60
@ -438,7 +439,7 @@ def logout(request, next_url=None, default_next_url='auth_homepage',
logger.info('logged out')
auth_logout(request)
messages.info(request, _('You have been logged out'))
if next_url.startswith('/'):
if next_url == default_next_url:
return utils.redirect(request, next_url)
else:
# Show intermediate page