diff --git a/app/main/forms.py b/app/main/forms.py index 1c728a2b5..de1e1c7d8 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -295,11 +295,6 @@ class CreateKeyForm(Form): key_type = RadioField( 'What should Notify do when you use this key?', - choices=[ - (KEY_TYPE_NORMAL, 'Send messages to anyone'), - (KEY_TYPE_TEST, 'Simulate sending messages to anyone'), - (KEY_TYPE_TEAM, 'Only send messages to members of your team') - ], validators=[ DataRequired() ] diff --git a/app/main/views/api_keys.py b/app/main/views/api_keys.py index 9dc1465f0..4676a0f88 100644 --- a/app/main/views/api_keys.py +++ b/app/main/views/api_keys.py @@ -2,8 +2,9 @@ from flask import request, render_template, redirect, url_for, flash from flask_login import login_required from app.main import main from app.main.forms import CreateKeyForm -from app import api_key_api_client +from app import api_key_api_client, current_service from app.utils import user_has_permissions +from app.notify_client.api_key_api_client import KEY_TYPE_NORMAL, KEY_TYPE_TEST, KEY_TYPE_TEAM @main.route("/services//api-keys") @@ -24,6 +25,13 @@ def create_api_key(service_id): key['name'] for key in api_key_api_client.get_api_keys(service_id=service_id)['apiKeys'] ] form = CreateKeyForm(key_names) + form.key_type.choices = [ + (KEY_TYPE_NORMAL, 'Send messages to anyone{}'.format( + ', once this service is not in trial mode' if current_service['restricted'] else '' + )), + (KEY_TYPE_TEST, 'Simulate sending messages to anyone'), + (KEY_TYPE_TEAM, 'Only send messages to members of your team') + ] if form.validate_on_submit(): secret = api_key_api_client.create_api_key( service_id=service_id, diff --git a/tests/app/main/test_create_api_key_form.py b/tests/app/main/test_create_api_key_form.py index 498edc504..61365538f 100644 --- a/tests/app/main/test_create_api_key_form.py +++ b/tests/app/main/test_create_api_key_form.py @@ -12,6 +12,7 @@ def test_return_validation_error_when_key_name_exists(app_): with app_.test_request_context(): form = CreateKeyForm(_get_names(), formdata=MultiDict([('key_name', 'Some key')])) + form.key_type.choices = [('a', 'a'), ('b', 'b')] form.validate() assert form.errors['key_name'] == ['A key with this name already exists'] @@ -28,5 +29,6 @@ def test_return_validation_error_when_key_type_not_chosen(app_, key_type, expect form = CreateKeyForm( [], formdata=MultiDict([('key_name', 'Some key'), ('key_type', key_type)])) + form.key_type.choices = [('a', 'a'), ('b', 'b')] form.validate() assert form.errors['key_type'] == [expected_error]