def create_api_key(service_id): form = CreateKeyForm(current_service.api_keys) form.key_type.choices = [ (KEY_TYPE_NORMAL, _l("Live – sends to anyone")), (KEY_TYPE_TEAM, _l("Team and safelist – limits who you can send to")), (KEY_TYPE_TEST, _l("Test – pretends to send messages")), ] disabled_options, option_hints = [], {} if current_service.trial_mode: disabled_options = [KEY_TYPE_NORMAL] option_hints[KEY_TYPE_NORMAL] = Markup( _l("Not available because your service is in trial mode.")) if current_service.has_permission("letter"): option_hints[KEY_TYPE_TEAM] = "" if form.validate_on_submit(): if form.key_type.data in disabled_options: abort(400) secret = api_key_api_client.create_api_key( service_id=service_id, key_name=form.key_name.data, key_type=form.key_type.data, ) return render_template( "views/api/keys/show.html", secret=secret, service_id=service_id, key_name=email_safe(form.key_name.data, whitespace="_"), ) return render_template( "views/api/keys/create.html", form=form, disabled_options=disabled_options, option_hints=option_hints, )
def create_api_key(service_id): 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'), (KEY_TYPE_TEST, 'Test – pretends to send messages'), ] disabled_options, option_hints = [], {} if current_service.trial_mode: disabled_options = [KEY_TYPE_NORMAL] option_hints[KEY_TYPE_NORMAL] = Markup( 'Not available because your service is in ' '<a href="/features/trial-mode">trial mode</a>') if current_service.has_permission('letter'): option_hints[KEY_TYPE_TEAM] = 'Cannot be used to send letters' if form.validate_on_submit(): if form.key_type.data in disabled_options: abort(400) secret = api_key_api_client.create_api_key(service_id=service_id, key_name=form.key_name.data, key_type=form.key_type.data) return render_template('views/api/keys/show.html', secret=secret, service_id=service_id, key_name=email_safe(form.key_name.data, whitespace='_')) return render_template('views/api/keys/create.html', form=form, disabled_options=disabled_options, option_hints=option_hints)
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.key_type.choices = [ (KEY_TYPE_NORMAL, 'Live – sends to anyone'), (KEY_TYPE_TEAM, 'Team and whitelist – limits who you can send to'), (KEY_TYPE_TEST, 'Test – pretends to send messages'), ] disabled_options, option_hints = [], {} if current_service['restricted']: disabled_options = [KEY_TYPE_NORMAL] option_hints[KEY_TYPE_NORMAL] = Markup( 'Not available because your service is in ' '<a href="{}#trial-mode">trial mode</a>'.format( url_for(".using_notify"))) if 'letter' in current_service['permissions']: option_hints[KEY_TYPE_TEAM] = 'Can’t be used to send letters' if form.validate_on_submit(): if form.key_type.data in disabled_options: abort(400) secret = api_key_api_client.create_api_key(service_id=service_id, key_name=form.key_name.data, key_type=form.key_type.data) return render_template('views/api/keys/show.html', secret=secret, service_id=service_id, key_name=email_safe(form.key_name.data, whitespace='_')) return render_template('views/api/keys/create.html', form=form, disabled_options=disabled_options, option_hints=option_hints)
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.key_type.choices = filter(None, [ (KEY_TYPE_NORMAL, 'Send messages to anyone') if not current_service['restricted'] else None, (KEY_TYPE_TEST, 'Simulate sending messages to anyone'), (KEY_TYPE_TEAM, 'Only send messages to your team or whitelist') ]) if form.validate_on_submit(): secret = api_key_api_client.create_api_key( service_id=service_id, key_name=form.key_name.data, key_type=form.key_type.data ) return render_template( 'views/api/keys/show.html', secret=secret, service_id=service_id, key_name=email_safe(form.key_name.data, whitespace='_') ) return render_template( 'views/api/keys/create.html', form=form )
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.key_type.choices = [ (KEY_TYPE_NORMAL, 'Send messages to anyone'), (KEY_TYPE_TEAM, 'Send messages to anyone on my whitelist'), (KEY_TYPE_TEST, 'Pretend to send messages to anyone'), ] if current_service['restricted']: disabled_options = [KEY_TYPE_NORMAL] option_hints = {KEY_TYPE_NORMAL: Markup( 'This option is not available because your service is in ' '<a href="{}">trial mode</a>'.format(url_for(".trial_mode")) )} else: disabled_options, option_hints = [], {} if form.validate_on_submit(): if form.key_type.data in disabled_options: abort(400) secret = api_key_api_client.create_api_key( service_id=service_id, key_name=form.key_name.data, key_type=form.key_type.data ) return render_template( 'views/api/keys/show.html', secret=secret, service_id=service_id, key_name=email_safe(form.key_name.data, whitespace='_') ) return render_template( 'views/api/keys/create.html', form=form, disabled_options=disabled_options, option_hints=option_hints )
def create_api_key(service_id): form = CreateKeyForm(current_service.api_keys) form.key_type.choices = [ (KEY_TYPE_NORMAL, 'Live – sends to anyone'), (KEY_TYPE_TEAM, 'Team and guest list – limits who you can send to'), (KEY_TYPE_TEST, 'Test – pretends to send messages'), ] # preserve order of items extended by starting with empty dicts form.key_type.param_extensions = {'items': [{}, {}]} if current_service.trial_mode: form.key_type.param_extensions['items'][0] = { 'disabled': True, 'hint': { 'html': Markup( 'Not available because your service is in ' '<a class="govuk-link govuk-link--no-visited-state" href="/features/trial-mode">trial mode</a>' ) } } if current_service.has_permission('letter'): form.key_type.param_extensions['items'][1]['hint'] = { 'text': 'Cannot be used to send letters' } if form.validate_on_submit(): if current_service.trial_mode and form.key_type.data == KEY_TYPE_NORMAL: abort(400) secret = api_key_api_client.create_api_key(service_id=service_id, key_name=form.key_name.data, key_type=form.key_type.data) return render_template('views/api/keys/show.html', secret=secret, service_id=service_id, key_name=email_safe(form.key_name.data, whitespace='_')) return render_template('views/api/keys/create.html', form=form)