Merge "Quote keypair name in keypair panel"

This commit is contained in:
Zuul 2019-06-05 12:57:04 +00:00 committed by Gerrit Code Review
commit d7234b6ca0
2 changed files with 8 additions and 4 deletions

View File

@ -16,6 +16,7 @@ from django import urls
from django.utils.translation import string_concat
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ungettext_lazy
from six.moves.urllib import parse
from horizon import tables
@ -46,7 +47,7 @@ class DeleteKeyPairs(tables.DeleteAction):
)
def delete(self, request, obj_id):
api.nova.keypair_delete(request, obj_id)
api.nova.keypair_delete(request, parse.unquote(obj_id))
class QuotaKeypairMixin(object):
@ -122,7 +123,7 @@ class KeyPairsTable(tables.DataTable):
fingerprint = tables.Column("fingerprint", verbose_name=_("Fingerprint"))
def get_object_id(self, keypair):
return keypair.name
return parse.quote(keypair.name)
class Meta(object):
name = "keypairs"

View File

@ -19,6 +19,7 @@
from django.urls import reverse
import mock
import six
from six.moves.urllib import parse
from openstack_dashboard import api
from openstack_dashboard.dashboards.project.key_pairs.forms \
@ -58,7 +59,8 @@ class KeyPairTests(test.TestCase):
self.mock_keypair_list.return_value = self.keypairs.list()
self.mock_keypair_delete.return_value = None
formData = {'action': 'keypairs__delete__%s' % keypair.name}
keypair_name = parse.quote(keypair.name)
formData = {'action': 'keypairs__delete__%s' % keypair_name}
res = self.client.post(INDEX_URL, formData)
self.assertRedirectsNoFollow(res, INDEX_URL)
@ -74,7 +76,8 @@ class KeyPairTests(test.TestCase):
self.mock_keypair_list.return_value = self.keypairs.list()
self.mock_keypair_delete.side_effect = self.exceptions.nova
formData = {'action': 'keypairs__delete__%s' % keypair.name}
keypair_name = parse.quote(keypair.name)
formData = {'action': 'keypairs__delete__%s' % keypair_name}
res = self.client.post(INDEX_URL, formData)
self.assertRedirectsNoFollow(res, INDEX_URL)