From 6434611696f96c6f113108127f4118df34a823eb Mon Sep 17 00:00:00 2001 From: Tres Henry Date: Sun, 4 Dec 2011 18:11:05 -0800 Subject: [PATCH] Moving login error messages into the login dialog. Fixing broken test and removing duplicate tenant_delete function. Change-Id: I1dd20221c0ca4155e1005e229d70aeffc76bd633 --- horizon/horizon/api/keystone.py | 4 ---- horizon/horizon/templates/horizon/auth/_login.html | 8 ++++++++ horizon/horizon/tests/auth_tests.py | 4 +++- horizon/horizon/views/auth.py | 3 --- horizon/horizon/views/auth_forms.py | 10 ++++++---- openstack-dashboard/dashboard/templates/_messages.html | 6 +++--- 6 files changed, 20 insertions(+), 15 deletions(-) diff --git a/horizon/horizon/api/keystone.py b/horizon/horizon/api/keystone.py index 3c54123ce6c..f2626114705 100644 --- a/horizon/horizon/api/keystone.py +++ b/horizon/horizon/api/keystone.py @@ -141,10 +141,6 @@ def tenant_update(request, tenant_id, tenant_name, description, enabled): enabled)) -def tenant_delete(request, tenant_id): - keystoneclient(request).tenants.delete(tenant_id) - - def tenant_list_for_token(request, token, endpoint_type=None): c = keystoneclient(request, token_id=token, diff --git a/horizon/horizon/templates/horizon/auth/_login.html b/horizon/horizon/templates/horizon/auth/_login.html index 58a78cd1038..8e35ec84da9 100644 --- a/horizon/horizon/templates/horizon/auth/_login.html +++ b/horizon/horizon/templates/horizon/auth/_login.html @@ -7,6 +7,14 @@ {% block form-action %}{% url horizon:auth_login %}{% endblock %} {% block modal-body %} + {% for message in messages %} + {% if message.tags == "login error" %} +
+ {% trans "Error: " %} + {{ message }} +
+ {% endif %} + {% endfor %}
{% include "horizon/common/_form_fields.html" %}
diff --git a/horizon/horizon/tests/auth_tests.py b/horizon/horizon/tests/auth_tests.py index 4d563b8d3fc..685c3a36b86 100644 --- a/horizon/horizon/tests/auth_tests.py +++ b/horizon/horizon/tests/auth_tests.py @@ -78,7 +78,9 @@ class FakeToken(object): AndReturn([]) self.mox.StubOutWithMock(messages, 'error') - messages.error(IsA(http.HttpRequest), IsA(unicode)) + messages.error(IsA(http.HttpRequest), + IsA(unicode), + extra_tags=IsA(str)) self.mox.ReplayAll() diff --git a/horizon/horizon/views/auth.py b/horizon/horizon/views/auth.py index 6269e221745..4da5a3f29a7 100644 --- a/horizon/horizon/views/auth.py +++ b/horizon/horizon/views/auth.py @@ -20,12 +20,9 @@ import logging -from django.conf import settings -from django import template from django import shortcuts from django.contrib import messages from django.utils.translation import ugettext as _ -from openstackx.api import exceptions as api_exceptions from horizon import api from horizon import exceptions diff --git a/horizon/horizon/views/auth_forms.py b/horizon/horizon/views/auth_forms.py index afcc5784e0a..c350175761c 100644 --- a/horizon/horizon/views/auth_forms.py +++ b/horizon/horizon/views/auth_forms.py @@ -87,7 +87,8 @@ def handle(self, request, data): data['username'], data['password']) except keystone_exceptions.Unauthorized: - messages.error(request, _('Bad user name or password.')) + messages.error(request, _('Bad user name or password.'), + extra_tags="login") return # Unscoped token @@ -102,7 +103,8 @@ def handle(self, request, data): if not tenants: messages.error(request, _('No tenants present for user: %(user)s') % - {"user": data['username']}) + {"user": data['username']}, + extra_tags="login") return # Create a token. @@ -130,11 +132,11 @@ def handle(self, request, data): except api_exceptions.Unauthorized as e: msg = _('Error authenticating: %s') % e.message LOG.exception(msg) - messages.error(request, msg) + messages.error(request, msg, extra_tags="login") except api_exceptions.ApiException as e: messages.error(request, _('Error authenticating with keystone: %s') % - e.message) + e.message, extra_tags="login") class LoginWithTenant(Login): diff --git a/openstack-dashboard/dashboard/templates/_messages.html b/openstack-dashboard/dashboard/templates/_messages.html index 6434cd67072..230232dfbb8 100644 --- a/openstack-dashboard/dashboard/templates/_messages.html +++ b/openstack-dashboard/dashboard/templates/_messages.html @@ -1,7 +1,7 @@ {% load i18n %} {% for message in messages %} {% if message.tags == "info" %} -
+

{% trans "Info: " %}{{ message }}

{% endif %} @@ -11,12 +11,12 @@
{% endif %} {% if message.tags == "success" %} -
+

{% trans "Success: " %}{{ message }}

{% endif %} {% if message.tags == "error" %} -
+

{% trans "Error: " %}{{ message }}

{% endif %}