mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-08 08:28:15 -04:00
manage api keys permission should be able to see senders
This commit is contained in:
@@ -18,7 +18,7 @@ from flask import (
|
|||||||
)
|
)
|
||||||
from flask._compat import string_types
|
from flask._compat import string_types
|
||||||
from flask.globals import _lookup_req_object, _request_ctx_stack
|
from flask.globals import _lookup_req_object, _request_ctx_stack
|
||||||
from flask_login import LoginManager
|
from flask_login import LoginManager, current_user
|
||||||
from flask_wtf import CSRFProtect
|
from flask_wtf import CSRFProtect
|
||||||
from flask_wtf.csrf import CSRFError
|
from flask_wtf.csrf import CSRFError
|
||||||
from functools import partial
|
from functools import partial
|
||||||
@@ -153,6 +153,10 @@ def init_app(application):
|
|||||||
def _attach_current_service():
|
def _attach_current_service():
|
||||||
return {'current_service': current_service}
|
return {'current_service': current_service}
|
||||||
|
|
||||||
|
@application.context_processor
|
||||||
|
def _attach_current_user():
|
||||||
|
return{'current_user': current_user}
|
||||||
|
|
||||||
@application.before_request
|
@application.before_request
|
||||||
def record_start_time():
|
def record_start_time():
|
||||||
g.start = monotonic()
|
g.start = monotonic()
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ from notifications_utils.formatters import formatted_list
|
|||||||
|
|
||||||
@main.route("/services/<service_id>/service-settings")
|
@main.route("/services/<service_id>/service-settings")
|
||||||
@login_required
|
@login_required
|
||||||
@user_has_permissions('manage_settings', admin_override=True)
|
@user_has_permissions('manage_settings', 'manage_api_keys', admin_override=True, any_=True)
|
||||||
def service_settings(service_id):
|
def service_settings(service_id):
|
||||||
letter_branding_organisations = email_branding_client.get_letter_email_branding()
|
letter_branding_organisations = email_branding_client.get_letter_email_branding()
|
||||||
if current_service['email_branding']:
|
if current_service['email_branding']:
|
||||||
@@ -340,7 +340,7 @@ def service_set_reply_to_email(service_id):
|
|||||||
|
|
||||||
@main.route("/services/<service_id>/service-settings/email-reply-to", methods=['GET'])
|
@main.route("/services/<service_id>/service-settings/email-reply-to", methods=['GET'])
|
||||||
@login_required
|
@login_required
|
||||||
@user_has_permissions('manage_settings', admin_override=True)
|
@user_has_permissions('manage_settings', 'manage_api_keys', admin_override=True, any_=True)
|
||||||
def service_email_reply_to(service_id):
|
def service_email_reply_to(service_id):
|
||||||
reply_to_email_addresses = service_api_client.get_reply_to_email_addresses(service_id)
|
reply_to_email_addresses = service_api_client.get_reply_to_email_addresses(service_id)
|
||||||
return render_template(
|
return render_template(
|
||||||
@@ -520,7 +520,7 @@ def service_set_auth_type(service_id):
|
|||||||
|
|
||||||
@main.route("/services/<service_id>/service-settings/letter-contacts", methods=['GET'])
|
@main.route("/services/<service_id>/service-settings/letter-contacts", methods=['GET'])
|
||||||
@login_required
|
@login_required
|
||||||
@user_has_permissions('manage_settings', admin_override=True)
|
@user_has_permissions('manage_settings', 'manage_api_keys', admin_override=True, any_=True)
|
||||||
def service_letter_contact_details(service_id):
|
def service_letter_contact_details(service_id):
|
||||||
letter_contact_details = service_api_client.get_letter_contacts(service_id)
|
letter_contact_details = service_api_client.get_letter_contacts(service_id)
|
||||||
return render_template(
|
return render_template(
|
||||||
@@ -576,7 +576,7 @@ def service_edit_letter_contact(service_id, letter_contact_id):
|
|||||||
|
|
||||||
@main.route("/services/<service_id>/service-settings/sms-sender", methods=['GET'])
|
@main.route("/services/<service_id>/service-settings/sms-sender", methods=['GET'])
|
||||||
@login_required
|
@login_required
|
||||||
@user_has_permissions('manage_settings', admin_override=True)
|
@user_has_permissions('manage_settings', 'manage_api_keys', admin_override=True, any_=True)
|
||||||
def service_sms_senders(service_id):
|
def service_sms_senders(service_id):
|
||||||
|
|
||||||
def attach_hint(sender):
|
def attach_hint(sender):
|
||||||
|
|||||||
@@ -105,9 +105,11 @@
|
|||||||
{% endcall %}
|
{% endcall %}
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
{% macro edit_field(text, link) -%}
|
{% macro edit_field(text, link, permissions=[]) -%}
|
||||||
{% call field(align='right') %}
|
{% call field(align='right') %}
|
||||||
<a href="{{ link }}">{{ text }}</a>
|
{% if current_user.has_permissions(*permissions, **{'any_':True, 'admin_override': True}) or not permissions %}
|
||||||
|
<a href="{{ link }}">{{ text }}</a>
|
||||||
|
{% endif %}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
|
|||||||
@@ -50,10 +50,12 @@
|
|||||||
{% if current_user.has_permissions('manage_users', 'manage_settings', admin_override=True) %}
|
{% if current_user.has_permissions('manage_users', 'manage_settings', admin_override=True) %}
|
||||||
<li><a href="{{ url_for('.manage_users', service_id=current_service.id) }}">Team members</a></li>
|
<li><a href="{{ url_for('.manage_users', service_id=current_service.id) }}">Team members</a></li>
|
||||||
<li><a href="{{ url_for('.usage', service_id=current_service.id) }}">Usage</a></li>
|
<li><a href="{{ url_for('.usage', service_id=current_service.id) }}">Usage</a></li>
|
||||||
<li><a href="{{ url_for('.service_settings', service_id=current_service.id) }}">Settings</a></li>
|
|
||||||
{% elif current_user.has_permissions('view_activity') %}
|
{% elif current_user.has_permissions('view_activity') %}
|
||||||
<li><a href="{{ url_for('.manage_users', service_id=current_service.id) }}">Team members</a></li>
|
<li><a href="{{ url_for('.manage_users', service_id=current_service.id) }}">Team members</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if current_user.has_permissions('manage_api_keys', 'manage_settings', admin_override=True, any_=True) %}
|
||||||
|
<li><a href="{{ url_for('.service_settings', service_id=current_service.id) }}">Settings</a></li>
|
||||||
|
{% endif %}
|
||||||
{% if current_user.has_permissions('manage_api_keys', admin_override=True) %}
|
{% if current_user.has_permissions('manage_api_keys', admin_override=True) %}
|
||||||
<li><a href="{{ url_for('.api_integration', service_id=current_service.id) }}">API integration</a></li>
|
<li><a href="{{ url_for('.api_integration', service_id=current_service.id) }}">API integration</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{% extends "withnav_template.html" %}
|
{% extends "withnav_template.html" %}
|
||||||
{% from "components/textbox.html" import textbox %}
|
{% from "components/textbox.html" import textbox %}
|
||||||
{% from "components/page-footer.html" import page_footer %}
|
{% from "components/page-footer.html" import page_footer %}
|
||||||
{% from "components/table.html" import mapping_table, row, text_field, edit_field, optional_text_field %}
|
{% from "components/table.html" import mapping_table, row, text_field, edit_field, optional_text_field with context %}
|
||||||
|
|
||||||
|
|
||||||
{% block service_page_title %}
|
{% block service_page_title %}
|
||||||
@@ -25,8 +25,8 @@
|
|||||||
|
|
||||||
{% call row() %}
|
{% call row() %}
|
||||||
{{ text_field('Callbacks for received text messages') }}
|
{{ text_field('Callbacks for received text messages') }}
|
||||||
{{ optional_text_field(received_text_messages_callback) }}
|
{{ optional_text_field(received_text_messages_callback) }}
|
||||||
{{ edit_field('Change', url_for('.received_text_messages_callback', service_id=current_service.id)) }}
|
{{ edit_field('Change', url_for('.received_text_messages_callback', service_id=current_service.id)) }}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field, row_heading%}
|
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field, row_heading with context %}
|
||||||
{% extends "withoutnav_template.html" %}
|
{% extends "withoutnav_template.html" %}
|
||||||
|
|
||||||
{% block per_page_title %}
|
{% block per_page_title %}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{% extends "withoutnav_template.html" %}
|
{% extends "withoutnav_template.html" %}
|
||||||
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field %}
|
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %}
|
||||||
{% from "components/sub-navigation.html" import sub_navigation %}
|
{% from "components/sub-navigation.html" import sub_navigation %}
|
||||||
|
|
||||||
{% block per_page_title %}
|
{% block per_page_title %}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field %}
|
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %}
|
||||||
{% extends "withoutnav_template.html" %}
|
{% extends "withoutnav_template.html" %}
|
||||||
|
|
||||||
{% block per_page_title %}
|
{% block per_page_title %}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field %}
|
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %}
|
||||||
{% from "components/sub-navigation.html" import sub_navigation %}
|
{% from "components/sub-navigation.html" import sub_navigation %}
|
||||||
{% extends "withoutnav_template.html" %}
|
{% extends "withoutnav_template.html" %}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{% extends "withoutnav_template.html" %}
|
{% extends "withoutnav_template.html" %}
|
||||||
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field %}
|
{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %}
|
||||||
{% from "components/sub-navigation.html" import sub_navigation %}
|
{% from "components/sub-navigation.html" import sub_navigation %}
|
||||||
|
|
||||||
{% block per_page_title %}
|
{% block per_page_title %}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{% extends "withnav_template.html" %}
|
{% extends "withnav_template.html" %}
|
||||||
{% from "components/banner.html" import banner_wrapper %}
|
{% from "components/banner.html" import banner_wrapper %}
|
||||||
{% from "components/browse-list.html" import browse_list %}
|
{% from "components/browse-list.html" import browse_list %}
|
||||||
{% from "components/table.html" import mapping_table, row, text_field, optional_text_field, edit_field, field, boolean_field %}
|
{% from "components/table.html" import mapping_table, row, text_field, optional_text_field, edit_field, field, boolean_field with context %}
|
||||||
|
|
||||||
{% block service_page_title %}
|
{% block service_page_title %}
|
||||||
Settings
|
Settings
|
||||||
@@ -23,7 +23,12 @@
|
|||||||
{% call row() %}
|
{% call row() %}
|
||||||
{{ text_field('Service name') }}
|
{{ text_field('Service name') }}
|
||||||
{{ text_field(current_service.name) }}
|
{{ text_field(current_service.name) }}
|
||||||
{{ edit_field('Change', url_for('.service_name_change', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Change',
|
||||||
|
url_for('.service_name_change', service_id=current_service.id),
|
||||||
|
permissions=['manage_settings']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% call row() %}
|
{% call row() %}
|
||||||
@@ -33,7 +38,13 @@
|
|||||||
if 'email_auth' in current_service.permissions
|
if 'email_auth' in current_service.permissions
|
||||||
else 'Text message code'
|
else 'Text message code'
|
||||||
) }}
|
) }}
|
||||||
{{ edit_field('Change', url_for('.service_set_auth_type', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Change',
|
||||||
|
url_for('.service_set_auth_type',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
@@ -48,7 +59,13 @@
|
|||||||
{% call row() %}
|
{% call row() %}
|
||||||
{{ text_field('Send emails') }}
|
{{ text_field('Send emails') }}
|
||||||
{{ boolean_field('email' in current_service.permissions) }}
|
{{ boolean_field('email' in current_service.permissions) }}
|
||||||
{{ edit_field('Change', url_for('.service_set_email', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Change',
|
||||||
|
url_for('.service_set_email',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% if 'email' in current_service.permissions %}
|
{% if 'email' in current_service.permissions %}
|
||||||
@@ -65,8 +82,11 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{{ edit_field(
|
{{ edit_field(
|
||||||
'Manage' if reply_to_email_address_count else 'Change',
|
'Manage' if reply_to_email_address_count else 'Change',
|
||||||
url_for('.service_email_reply_to', service_id=current_service.id))
|
url_for('.service_email_reply_to',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings','manage_api_keys']
|
||||||
|
)
|
||||||
}}
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
@@ -84,7 +104,13 @@
|
|||||||
{% call row() %}
|
{% call row() %}
|
||||||
{{ text_field('Send text messages') }}
|
{{ text_field('Send text messages') }}
|
||||||
{{ boolean_field('sms' in current_service.permissions) }}
|
{{ boolean_field('sms' in current_service.permissions) }}
|
||||||
{{ edit_field('Change', url_for('.service_set_sms', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Change',
|
||||||
|
url_for('.service_set_sms',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% if 'sms' in current_service.permissions %}
|
{% if 'sms' in current_service.permissions %}
|
||||||
@@ -99,25 +125,49 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{{ edit_field('Manage' if sms_sender_count else 'Change', url_for('.service_sms_senders', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Manage' if sms_sender_count else 'Change',
|
||||||
|
url_for('.service_sms_senders',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings','manage_api_keys']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% call row() %}
|
{% call row() %}
|
||||||
{{ text_field('Text messages start with service name') }}
|
{{ text_field('Text messages start with service name') }}
|
||||||
{{ boolean_field(prefix_sms) }}
|
{{ boolean_field(prefix_sms) }}
|
||||||
{{ edit_field('Change', url_for('.service_set_sms_prefix', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Change',
|
||||||
|
url_for('.service_set_sms_prefix',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% call row() %}
|
{% call row() %}
|
||||||
{{ text_field('International text messages') }}
|
{{ text_field('International text messages') }}
|
||||||
{{ boolean_field('international_sms' in current_service.permissions) }}
|
{{ boolean_field('international_sms' in current_service.permissions) }}
|
||||||
{{ edit_field('Change', url_for('.service_set_international_sms', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Change',
|
||||||
|
url_for('.service_set_international_sms',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% call row() %}
|
{% call row() %}
|
||||||
{{ text_field('Receive text messages') }}
|
{{ text_field('Receive text messages') }}
|
||||||
{{ boolean_field('inbound_sms' in current_service.permissions) }}
|
{{ boolean_field('inbound_sms' in current_service.permissions) }}
|
||||||
{{ edit_field('Change', url_for('.service_set_inbound_sms', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Change',
|
||||||
|
url_for('.service_set_inbound_sms',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -134,7 +184,13 @@
|
|||||||
{% call row() %}
|
{% call row() %}
|
||||||
{{ text_field('Send letters') }}
|
{{ text_field('Send letters') }}
|
||||||
{{ boolean_field('letter' in current_service.permissions) }}
|
{{ boolean_field('letter' in current_service.permissions) }}
|
||||||
{{ edit_field('Change', url_for('.service_set_letters', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Change',
|
||||||
|
url_for('.service_set_letters',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|
||||||
{% if 'letter' in current_service.permissions %}
|
{% if 'letter' in current_service.permissions %}
|
||||||
@@ -148,7 +204,13 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{{ edit_field('Manage' if letter_contact_details_count else 'Change', url_for('.service_letter_contact_details', service_id=current_service.id)) }}
|
{{ edit_field(
|
||||||
|
'Manage' if letter_contact_details_count else 'Change',
|
||||||
|
url_for('.service_letter_contact_details',
|
||||||
|
service_id=current_service.id),
|
||||||
|
permissions=['manage_settings','manage_api_keys']
|
||||||
|
)
|
||||||
|
}}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{% extends "withnav_template.html" %}
|
{% extends "withnav_template.html" %}
|
||||||
{% from "components/api-key.html" import api_key %}
|
{% from "components/api-key.html" import api_key %}
|
||||||
{% from "components/page-footer.html" import page_footer %}
|
{% from "components/page-footer.html" import page_footer %}
|
||||||
{% from "components/table.html" import row_group, row, text_field, edit_field, field, boolean_field, list_table %}
|
{% from "components/table.html" import row_group, row, text_field, edit_field, field, boolean_field, list_table with context %}
|
||||||
|
|
||||||
{% block service_page_title %}
|
{% block service_page_title %}
|
||||||
Email reply to addresses
|
Email reply to addresses
|
||||||
@@ -15,9 +15,11 @@
|
|||||||
Email reply to addresses
|
Email reply to addresses
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="column-one-third">
|
{% if current_user.has_permissions('manage_settings', admin_override=True) %}
|
||||||
<a href="{{ url_for('.service_add_email_reply_to', service_id=current_service.id) }}" class="button align-with-heading">Add email address</a>
|
<div class="column-one-third">
|
||||||
</div>
|
<a href="{{ url_for('.service_add_email_reply_to', service_id=current_service.id) }}" class="button align-with-heading">Add email address</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="user-list">
|
<div class="user-list">
|
||||||
{% if not reply_to_email_addresses %}
|
{% if not reply_to_email_addresses %}
|
||||||
@@ -34,11 +36,9 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</span>
|
</span>
|
||||||
</h3>
|
</h3>
|
||||||
<ul class="tick-cross-list">
|
{% if current_user.has_permissions('manage_settings', admin_override=True) %}
|
||||||
<li class="tick-cross-list-edit-link">
|
<a class="user-list-edit-link" href="{{ url_for('.service_edit_email_reply_to', service_id =current_service.id, reply_to_email_id = item.id) }}">Change</a>
|
||||||
<a href="{{ url_for('.service_edit_email_reply_to', service_id =current_service.id, reply_to_email_id = item.id) }}">Change</a>
|
{% endif %}
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
{% if reply_to_email_addresses|length > 1 %}
|
{% if reply_to_email_addresses|length > 1 %}
|
||||||
{{ api_key(item.id, thing="ID") }}
|
{{ api_key(item.id, thing="ID") }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{% extends "withnav_template.html" %}
|
{% extends "withnav_template.html" %}
|
||||||
{% from "components/api-key.html" import api_key %}
|
{% from "components/api-key.html" import api_key %}
|
||||||
{% from "components/page-footer.html" import page_footer %}
|
{% from "components/page-footer.html" import page_footer %}
|
||||||
{% from "components/table.html" import row_group, row, text_field, edit_field, field, boolean_field, list_table %}
|
{% from "components/table.html" import row_group, row, text_field, edit_field, field, boolean_field, list_table with context %}
|
||||||
|
|
||||||
{% block service_page_title %}
|
{% block service_page_title %}
|
||||||
Sender addresses
|
Sender addresses
|
||||||
@@ -15,9 +15,11 @@
|
|||||||
Sender addresses
|
Sender addresses
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="column-one-third">
|
{% if current_user.has_permissions('manage_settings', admin_override=True) %}
|
||||||
<a href="{{ url_for('.service_add_letter_contact', service_id=current_service.id) }}" class="button align-with-heading">Add a new address</a>
|
<div class="column-one-third">
|
||||||
</div>
|
<a href="{{ url_for('.service_add_letter_contact', service_id=current_service.id) }}" class="button align-with-heading">Add a new address</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="user-list">
|
<div class="user-list">
|
||||||
{% if not letter_contact_details %}
|
{% if not letter_contact_details %}
|
||||||
@@ -35,8 +37,9 @@
|
|||||||
(default)
|
(default)
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
|
{% if current_user.has_permissions('manage_settings', admin_override=True) %}
|
||||||
<a class="user-list-edit-link" href="{{ url_for('.service_edit_letter_contact', service_id =current_service.id, letter_contact_id = item.id) }}">Change</a>
|
<a class="user-list-edit-link" href="{{ url_for('.service_edit_letter_contact', service_id =current_service.id, letter_contact_id = item.id) }}">Change</a>
|
||||||
|
{% endif %}
|
||||||
{% if letter_contact_details|length > 1 %}
|
{% if letter_contact_details|length > 1 %}
|
||||||
{{ api_key(item.id, thing="ID") }}
|
{{ api_key(item.id, thing="ID") }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{% extends "withnav_template.html" %}
|
{% extends "withnav_template.html" %}
|
||||||
{% from "components/api-key.html" import api_key %}
|
{% from "components/api-key.html" import api_key %}
|
||||||
{% from "components/page-footer.html" import page_footer %}
|
{% from "components/page-footer.html" import page_footer %}
|
||||||
{% from "components/table.html" import row_group, row, text_field, edit_field, field, boolean_field, list_table %}
|
{% from "components/table.html" import row_group, row, text_field, edit_field, field, boolean_field, list_table with context%}
|
||||||
|
|
||||||
{% block service_page_title %}
|
{% block service_page_title %}
|
||||||
Text message senders
|
Text message senders
|
||||||
@@ -14,9 +14,11 @@
|
|||||||
Text message senders
|
Text message senders
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="column-one-third">
|
{% if current_user.has_permissions('manage_settings', admin_override=True) %}
|
||||||
<a href="{{ url_for('.service_add_sms_sender', service_id=current_service.id) }}" class="button align-with-heading">Add text message sender</a>
|
<div class="column-one-third">
|
||||||
</div>
|
<a href="{{ url_for('.service_add_sms_sender', service_id=current_service.id) }}" class="button align-with-heading">Add text message sender</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="user-list">
|
<div class="user-list">
|
||||||
{% if not sms_senders %}
|
{% if not sms_senders %}
|
||||||
@@ -35,11 +37,9 @@
|
|||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</h3>
|
</h3>
|
||||||
<ul class="tick-cross-list">
|
{% if current_user.has_permissions('manage_settings', admin_override=True) %}
|
||||||
<li class="tick-cross-list-edit-link">
|
<a class="user-list-edit-link" href="{{ url_for('.service_edit_sms_sender', service_id=current_service.id, sms_sender_id = item.id) }}">Change</a>
|
||||||
<a href="{{ url_for('.service_edit_sms_sender', service_id=current_service.id, sms_sender_id = item.id) }}">Change</a>
|
{% endif %}
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
{% if sms_senders|length > 1 %}
|
{% if sms_senders|length > 1 %}
|
||||||
{{ api_key(item.id, thing="ID") }}
|
{{ api_key(item.id, thing="ID") }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{% extends "withoutnav_template.html" %}
|
{% extends "withoutnav_template.html" %}
|
||||||
{% from "components/table.html" import list_table, row, field %}
|
{% from "components/table.html" import list_table, row, field %}
|
||||||
{% from "components/table.html" import mapping_table, row, text_field, optional_text_field, edit_field, field, boolean_field %}
|
{% from "components/table.html" import mapping_table, row, text_field, optional_text_field, edit_field, field, boolean_field with context %}
|
||||||
|
|
||||||
{% block per_page_title %}
|
{% block per_page_title %}
|
||||||
Your profile
|
Your profile
|
||||||
|
|||||||
@@ -827,14 +827,12 @@ def test_menu_manage_api_keys(
|
|||||||
api_user_active,
|
api_user_active,
|
||||||
service_one,
|
service_one,
|
||||||
['view_activity', 'manage_api_keys'])
|
['view_activity', 'manage_api_keys'])
|
||||||
page = resp.get_data(as_text=True)
|
|
||||||
assert url_for(
|
|
||||||
'main.choose_template',
|
|
||||||
service_id=service_one['id'],
|
|
||||||
) in page
|
|
||||||
assert url_for('main.manage_users', service_id=service_one['id']) in page
|
|
||||||
assert url_for('main.service_settings', service_id=service_one['id']) not in page
|
|
||||||
|
|
||||||
|
page = resp.get_data(as_text=True)
|
||||||
|
|
||||||
|
assert url_for('main.choose_template', service_id=service_one['id'],) in page
|
||||||
|
assert url_for('main.manage_users', service_id=service_one['id']) in page
|
||||||
|
assert url_for('main.service_settings', service_id=service_one['id']) in page
|
||||||
assert url_for('main.api_integration', service_id=service_one['id']) in page
|
assert url_for('main.api_integration', service_id=service_one['id']) in page
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user