Merge pull request #2462 from alphagov/api-key-sort-order

Sort API keys alphabetically
This commit is contained in:
Chris Hill-Scott
2018-11-14 10:13:36 +00:00
committed by GitHub
8 changed files with 62 additions and 47 deletions

View File

@@ -525,9 +525,11 @@ class ChooseTimeForm(StripWhitespaceForm):
class CreateKeyForm(StripWhitespaceForm):
def __init__(self, existing_key_names=[], *args, **kwargs):
self.existing_key_names = [x.lower() for x in existing_key_names]
super(CreateKeyForm, self).__init__(*args, **kwargs)
def __init__(self, existing_keys, *args, **kwargs):
self.existing_key_names = [
key['name'].lower() for key in existing_keys
]
super().__init__(*args, **kwargs)
key_type = RadioField(
'Type of key',

View File

@@ -80,7 +80,6 @@ def whitelist(service_id):
def api_keys(service_id):
return render_template(
'views/api/keys.html',
keys=api_key_api_client.get_api_keys(service_id=service_id)['apiKeys']
)
@@ -88,10 +87,7 @@ def api_keys(service_id):
@login_required
@user_has_permissions('manage_api_keys', restrict_admin_usage=True)
def create_api_key(service_id):
key_names = [
key['name'] for key in api_key_api_client.get_api_keys(service_id=service_id)['apiKeys']
]
form = CreateKeyForm(key_names)
form = CreateKeyForm(current_service.api_keys)
form.key_type.choices = [
(KEY_TYPE_NORMAL, 'Live sends to anyone'),
(KEY_TYPE_TEAM, 'Team and whitelist limits who you can send to'),
@@ -132,12 +128,11 @@ def create_api_key(service_id):
@login_required
@user_has_permissions('manage_api_keys')
def revoke_api_key(service_id, key_id):
key_name = api_key_api_client.get_api_keys(service_id=service_id, key_id=key_id)['apiKeys'][0]['name']
key_name = current_service.get_api_key(key_id)['name']
if request.method == 'GET':
return render_template(
'views/api/keys.html',
revoke_key=key_name,
keys=api_key_api_client.get_api_keys(service_id=service_id)['apiKeys'],
)
elif request.method == 'POST':
api_key_api_client.revoke_api_key(service_id=service_id, key_id=key_id)