Merge "The background colour of the success message changed"
This commit is contained in:
commit
93904437f4
@ -46,12 +46,12 @@ class HorizonMiddleware(object):
|
|||||||
|
|
||||||
logout_reason = None
|
logout_reason = None
|
||||||
|
|
||||||
def _logout(self, request, login_url=None, message=None):
|
def _logout(self, request, login_url=None, message=None, status='success'):
|
||||||
"""Logout a user and display a logout message."""
|
"""Logout a user and display a logout message."""
|
||||||
response = auth_views.logout(request, login_url)
|
response = auth_views.logout(request, login_url)
|
||||||
if message is not None:
|
if message is not None:
|
||||||
self.logout_reason = message
|
self.logout_reason = message
|
||||||
utils.add_logout_reason(request, response, message)
|
utils.add_logout_reason(request, response, message, status)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def process_request(self, request):
|
def process_request(self, request):
|
||||||
@ -127,7 +127,8 @@ class HorizonMiddleware(object):
|
|||||||
redirect_field_name=field_name)
|
redirect_field_name=field_name)
|
||||||
if isinstance(exception, exceptions.NotAuthorized):
|
if isinstance(exception, exceptions.NotAuthorized):
|
||||||
logout_reason = _("Unauthorized. Please try logging in again.")
|
logout_reason = _("Unauthorized. Please try logging in again.")
|
||||||
utils.add_logout_reason(request, response, logout_reason)
|
utils.add_logout_reason(request, response, logout_reason,
|
||||||
|
'error')
|
||||||
# delete messages, created in get_data() method
|
# delete messages, created in get_data() method
|
||||||
# since we are going to redirect user to the login page
|
# since we are going to redirect user to the login page
|
||||||
response.delete_cookie('messages')
|
response.delete_cookie('messages')
|
||||||
@ -171,7 +172,8 @@ class HorizonMiddleware(object):
|
|||||||
redirect_response['logout'] = True
|
redirect_response['logout'] = True
|
||||||
if self.logout_reason is not None:
|
if self.logout_reason is not None:
|
||||||
utils.add_logout_reason(
|
utils.add_logout_reason(
|
||||||
request, redirect_response, self.logout_reason)
|
request, redirect_response, self.logout_reason,
|
||||||
|
'error')
|
||||||
else:
|
else:
|
||||||
redirect_response = http.HttpResponse()
|
redirect_response = http.HttpResponse()
|
||||||
# Use a set while checking if we want a cookie's attributes
|
# Use a set while checking if we want a cookie's attributes
|
||||||
|
@ -51,7 +51,11 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if request.COOKIES.logout_reason %}
|
{% if request.COOKIES.logout_reason %}
|
||||||
|
{% if request.COOKIES.logout_status == "success" %}
|
||||||
|
<div class="form-group clearfix error help-block alert alert-success" id="logout_reason">
|
||||||
|
{% else %}
|
||||||
<div class="form-group clearfix error help-block alert alert-danger" id="logout_reason">
|
<div class="form-group clearfix error help-block alert alert-danger" id="logout_reason">
|
||||||
|
{% endif %}
|
||||||
<p>{{ request.COOKIES.logout_reason }}</p>
|
<p>{{ request.COOKIES.logout_reason }}</p>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -39,7 +39,7 @@ def bytes_to_gigabytes(bytes):
|
|||||||
return int(math.ceil(float(bytes) / units.Gi))
|
return int(math.ceil(float(bytes) / units.Gi))
|
||||||
|
|
||||||
|
|
||||||
def add_logout_reason(request, response, reason):
|
def add_logout_reason(request, response, reason, status='success'):
|
||||||
# Store the translated string in the cookie
|
# Store the translated string in the cookie
|
||||||
lang = translation.get_language_from_request(request)
|
lang = translation.get_language_from_request(request)
|
||||||
with translation.override(lang):
|
with translation.override(lang):
|
||||||
@ -47,9 +47,10 @@ def add_logout_reason(request, response, reason):
|
|||||||
if six.PY2:
|
if six.PY2:
|
||||||
reason = reason.encode('utf-8')
|
reason = reason.encode('utf-8')
|
||||||
response.set_cookie('logout_reason', reason, max_age=10)
|
response.set_cookie('logout_reason', reason, max_age=10)
|
||||||
|
response.set_cookie('logout_status', status, max_age=10)
|
||||||
|
|
||||||
|
|
||||||
def logout_with_message(request, msg, redirect=True):
|
def logout_with_message(request, msg, redirect=True, status='success'):
|
||||||
"""Send HttpResponseRedirect to LOGOUT_URL.
|
"""Send HttpResponseRedirect to LOGOUT_URL.
|
||||||
|
|
||||||
`msg` is a message displayed on the login page after the logout, to explain
|
`msg` is a message displayed on the login page after the logout, to explain
|
||||||
@ -61,7 +62,7 @@ def logout_with_message(request, msg, redirect=True):
|
|||||||
'%s?next=%s' % (settings.LOGOUT_URL, request.path))
|
'%s?next=%s' % (settings.LOGOUT_URL, request.path))
|
||||||
else:
|
else:
|
||||||
response = http.HttpResponseRedirect(settings.LOGOUT_URL)
|
response = http.HttpResponseRedirect(settings.LOGOUT_URL)
|
||||||
add_logout_reason(request, response, msg)
|
add_logout_reason(request, response, msg, status)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,8 +67,10 @@ class ChangePasswordTests(test.TestCase):
|
|||||||
|
|
||||||
self.assertRedirectsNoFollow(res, settings.LOGOUT_URL)
|
self.assertRedirectsNoFollow(res, settings.LOGOUT_URL)
|
||||||
self.assertIn('logout_reason', res.cookies)
|
self.assertIn('logout_reason', res.cookies)
|
||||||
|
self.assertIn('logout_status', res.cookies)
|
||||||
self.assertEqual(res.cookies['logout_reason'].value,
|
self.assertEqual(res.cookies['logout_reason'].value,
|
||||||
"Password changed. Please log in again to continue.")
|
"Password changed. Please log in again to continue.")
|
||||||
|
self.assertEqual('success', res.cookies['logout_status'].value)
|
||||||
scheme, netloc, path, query, fragment = urlsplit(res.url)
|
scheme, netloc, path, query, fragment = urlsplit(res.url)
|
||||||
redirect_response = res.client.get(path, http.QueryDict(query))
|
redirect_response = res.client.get(path, http.QueryDict(query))
|
||||||
self.assertRedirectsNoFollow(redirect_response, settings.LOGIN_URL)
|
self.assertRedirectsNoFollow(redirect_response, settings.LOGIN_URL)
|
||||||
|
@ -50,6 +50,8 @@ def splash(request):
|
|||||||
response = shortcuts.redirect(horizon.get_user_home(request.user))
|
response = shortcuts.redirect(horizon.get_user_home(request.user))
|
||||||
if 'logout_reason' in request.COOKIES:
|
if 'logout_reason' in request.COOKIES:
|
||||||
response.delete_cookie('logout_reason')
|
response.delete_cookie('logout_reason')
|
||||||
|
if 'logout_status' in request.COOKIES:
|
||||||
|
response.delete_cookie('logout_status')
|
||||||
# Display Message of the Day message from the message files
|
# Display Message of the Day message from the message files
|
||||||
# located in MESSAGES_PATH
|
# located in MESSAGES_PATH
|
||||||
if MESSAGES_PATH:
|
if MESSAGES_PATH:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user