From 07e8543e556c84e86d3f4de6802c0f84a7c12ad7 Mon Sep 17 00:00:00 2001 From: pengyuesheng Date: Fri, 15 Feb 2019 15:04:59 +0800 Subject: [PATCH] Modify the error messages of Create group and update group When group name is already used, we should prompt detailed error message Change-Id: I95ee96d06e3b94e89be4744b2e6f00816e54792a Closes-Bug: #1816010 --- openstack_dashboard/api/keystone.py | 18 ++++++++++++------ .../dashboards/identity/groups/forms.py | 6 ++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/openstack_dashboard/api/keystone.py b/openstack_dashboard/api/keystone.py index 8f20857719..a1ff2eef87 100644 --- a/openstack_dashboard/api/keystone.py +++ b/openstack_dashboard/api/keystone.py @@ -596,9 +596,12 @@ def user_update_tenant(request, user, project, admin=True): @profiler.trace def group_create(request, domain_id, name, description=None): manager = keystoneclient(request, admin=True).groups - return manager.create(domain=domain_id, - name=name, - description=description) + try: + return manager.create(domain=domain_id, + name=name, + description=description) + except keystone_exceptions.Conflict: + raise exceptions.Conflict() @profiler.trace @@ -645,9 +648,12 @@ def group_list(request, domain=None, project=None, user=None, filters=None): @profiler.trace def group_update(request, group_id, name=None, description=None): manager = keystoneclient(request, admin=True).groups - return manager.update(group=group_id, - name=name, - description=description) + try: + return manager.update(group=group_id, + name=name, + description=description) + except keystone_exceptions.Conflict: + raise exceptions.Conflict() @profiler.trace diff --git a/openstack_dashboard/dashboards/identity/groups/forms.py b/openstack_dashboard/dashboards/identity/groups/forms.py index 3529147854..f019b1fbad 100644 --- a/openstack_dashboard/dashboards/identity/groups/forms.py +++ b/openstack_dashboard/dashboards/identity/groups/forms.py @@ -47,6 +47,9 @@ class CreateGroupForm(forms.SelfHandlingForm): messages.success(request, _('Group "%s" was successfully created.') % data['name']) + except exceptions.Conflict: + msg = _('Group "%s" already exists.') % data['name'] + messages.error(request, msg) except Exception: exceptions.handle(request, _('Unable to create group.')) return False @@ -72,6 +75,9 @@ class UpdateGroupForm(forms.SelfHandlingForm): description=data['description']) messages.success(request, _('Group has been updated successfully.')) + except exceptions.Conflict: + msg = _('Group "%s" already exists.') % data['name'] + messages.error(request, msg) except Exception: exceptions.handle(request, _('Unable to update the group.')) return False