mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-07 18:28:25 -04:00
Merge pull request #1170 from alphagov/feat-add-who-updated-providers
Show who updated providers and provider history data
This commit is contained in:
@@ -19,16 +19,16 @@ def view_providers():
|
||||
email_providers = [email for email in providers if email['notification_type'] == 'email']
|
||||
sms_providers = [sms for sms in providers if sms['notification_type'] == 'sms']
|
||||
return render_template(
|
||||
'views/providers.html',
|
||||
'views/providers/providers.html',
|
||||
email_providers=email_providers,
|
||||
sms_providers=sms_providers
|
||||
)
|
||||
|
||||
|
||||
@main.route("/provider/<provider_id>", methods=['GET', 'POST'])
|
||||
@main.route("/provider/<provider_id>/edit", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
def view_provider(provider_id):
|
||||
def edit_provider(provider_id):
|
||||
provider = provider_client.get_provider_by_id(provider_id)['provider_details']
|
||||
form = ProviderForm(active=provider['active'], priority=provider['priority'])
|
||||
|
||||
@@ -36,4 +36,12 @@ def view_provider(provider_id):
|
||||
provider_client.update_provider(provider_id, form.priority.data)
|
||||
return redirect(url_for('.view_providers'))
|
||||
|
||||
return render_template('views/provider.html', form=form, provider=provider)
|
||||
return render_template('views/providers/edit-provider.html', form=form, provider=provider)
|
||||
|
||||
|
||||
@main.route("/provider/<provider_id>")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
def view_provider(provider_id):
|
||||
versions = provider_client.get_provider_versions(provider_id)
|
||||
return render_template('views/providers/provider.html', provider_versions=versions['data'])
|
||||
|
||||
@@ -21,6 +21,11 @@ class ProviderClient(NotifyAdminAPIClient):
|
||||
url='/provider-details/{}'.format(provider_id)
|
||||
)
|
||||
|
||||
def get_provider_versions(self, provider_id):
|
||||
return self.get(
|
||||
url='/provider-details/{}/versions'.format(provider_id)
|
||||
)
|
||||
|
||||
def update_provider(self, provider_id, priority):
|
||||
data = {
|
||||
"priority": priority
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
{% extends "withoutnav_template.html" %}
|
||||
{% from "components/table.html" import list_table, field, text_field, link_field, right_aligned_field_heading, hidden_field_heading %}
|
||||
|
||||
{% block per_page_title %}
|
||||
Providers
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
<div class="grid-row">
|
||||
<div class="column-two-thirds">
|
||||
<h1 class="heading-large">Providers</h1>
|
||||
|
||||
<h2 class="heading-medium">SMS</h2>
|
||||
|
||||
{% call(item, row_number) list_table(
|
||||
sms_providers,
|
||||
caption="SMS providers",
|
||||
caption_visible=False,
|
||||
empty_message='No email providers',
|
||||
field_headings=['Provider', 'Priority', 'Active', 'Last Updated', ''],
|
||||
field_headings_visible=True
|
||||
) %}
|
||||
|
||||
{{ text_field(item.display_name) }}
|
||||
|
||||
{{ text_field(item.priority) }}
|
||||
|
||||
{{ text_field(item.active) }}
|
||||
|
||||
{% if item.updated_at %}
|
||||
{{ text_field(item.updated_at|format_datetime_short) }}
|
||||
{% else %}
|
||||
{{ text_field('None') }}
|
||||
{% endif %}
|
||||
|
||||
{{ link_field('change', url_for('main.view_provider', provider_id=item.id)) }}
|
||||
|
||||
|
||||
{% endcall %}
|
||||
|
||||
<h2 class="heading-medium">Email</h2>
|
||||
|
||||
|
||||
{% call(item, row_number) list_table(
|
||||
email_providers,
|
||||
caption="Email providers",
|
||||
caption_visible=False,
|
||||
empty_message='No email providers',
|
||||
field_headings=['Provider', 'Priority', 'Active', ''],
|
||||
field_headings_visible=True
|
||||
) %}
|
||||
|
||||
{{ text_field(item.display_name) }}
|
||||
|
||||
{{ text_field(item.priority) }}
|
||||
|
||||
{{ text_field(item.active) }}
|
||||
|
||||
{{ link_field('change', url_for('main.view_provider', provider_id=item.id)) }}
|
||||
|
||||
{% endcall %}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
52
app/templates/views/providers/provider.html
Normal file
52
app/templates/views/providers/provider.html
Normal file
@@ -0,0 +1,52 @@
|
||||
{% extends "withoutnav_template.html" %}
|
||||
{% from "components/table.html" import list_table, field, text_field, link_field, right_aligned_field_heading, hidden_field_heading %}
|
||||
{% from "components/page-footer.html" import page_footer %}
|
||||
|
||||
{% block per_page_title %}
|
||||
Provider versions
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
<div class="grid-row">
|
||||
<div class="column-two-thirds">
|
||||
<h1 class="heading-large">{{ provider_versions[0].display_name }}</h1>
|
||||
|
||||
{% call(item, row_number) list_table(
|
||||
provider_versions,
|
||||
caption='',
|
||||
caption_visible=False,
|
||||
empty_message='No history for this provider',
|
||||
field_headings=['Version', 'Last Updated', 'Updated By', 'Priority', 'Active'],
|
||||
field_headings_visible=True
|
||||
) %}
|
||||
|
||||
{{ text_field(item.version) }}
|
||||
|
||||
{% if item.updated_at %}
|
||||
{{ text_field(item.updated_at|format_datetime_short) }}
|
||||
{% else %}
|
||||
{{ text_field('None') }}
|
||||
{% endif %}
|
||||
|
||||
{% if item.created_by %}
|
||||
{{ text_field(item.created_by.name) }}
|
||||
{% else %}
|
||||
{{ text_field('None') }}
|
||||
{% endif %}
|
||||
|
||||
{{ text_field(item.priority) }}
|
||||
|
||||
{{ text_field(item.active) }}
|
||||
|
||||
{% endcall %}
|
||||
|
||||
{{ page_footer(
|
||||
back_link=url_for('main.view_providers'),
|
||||
back_link_text="Back to providers"
|
||||
) }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
84
app/templates/views/providers/providers.html
Normal file
84
app/templates/views/providers/providers.html
Normal file
@@ -0,0 +1,84 @@
|
||||
{% extends "withoutnav_template.html" %}
|
||||
{% from "components/table.html" import list_table, field, text_field, link_field, right_aligned_field_heading, hidden_field_heading %}
|
||||
{% from "components/show-more.html" import show_more %}
|
||||
|
||||
{% block per_page_title %}
|
||||
Providers
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
<div class="grid-row">
|
||||
<div class="column-two-thirds">
|
||||
<h1 class="heading-large">Providers</h1>
|
||||
|
||||
<h2 class="heading-medium">SMS</h2>
|
||||
|
||||
{% call(item, row_number) list_table(
|
||||
sms_providers,
|
||||
caption="SMS providers",
|
||||
caption_visible=False,
|
||||
empty_message='No email providers',
|
||||
field_headings=['Provider', 'Priority', 'Active', 'Last Updated', 'Updated By'],
|
||||
field_headings_visible=True
|
||||
) %}
|
||||
|
||||
{{ link_field(item.display_name, url_for('main.view_provider', provider_id=item.id)) }}
|
||||
|
||||
{{ text_field(item.priority) }}
|
||||
|
||||
{{ text_field(item.active) }}
|
||||
|
||||
{% if item.updated_at %}
|
||||
{{ text_field(item.updated_at|format_datetime_short) }}
|
||||
{% else %}
|
||||
{{ text_field('None') }}
|
||||
{% endif %}
|
||||
|
||||
{% if item.created_by %}
|
||||
{{ text_field(item.created_by.name) }}
|
||||
{% else %}
|
||||
{{ text_field('None') }}
|
||||
{% endif %}
|
||||
|
||||
{{ link_field('change', url_for('main.edit_provider', provider_id=item.id)) }}
|
||||
|
||||
{% endcall %}
|
||||
|
||||
<h2 class="heading-medium">Email</h2>
|
||||
|
||||
{% call(item, row_number) list_table(
|
||||
email_providers,
|
||||
caption="Email providers",
|
||||
caption_visible=False,
|
||||
empty_message='No email providers',
|
||||
field_headings=['Provider', 'Priority', 'Active', 'Last Updated', 'Updated By'],
|
||||
field_headings_visible=True
|
||||
) %}
|
||||
|
||||
{{ link_field(item.display_name, url_for('main.view_provider', provider_id=item.id)) }}
|
||||
|
||||
{{ text_field(item.priority) }}
|
||||
|
||||
{{ text_field(item.active) }}
|
||||
|
||||
{% if item.updated_at %}
|
||||
{{ text_field(item.updated_at|format_datetime_short) }}
|
||||
{% else %}
|
||||
{{ text_field('None') }}
|
||||
{% endif %}
|
||||
|
||||
{% if item.created_by %}
|
||||
{{ text_field(item.created_by.name) }}
|
||||
{% else %}
|
||||
{{ text_field('None') }}
|
||||
{% endif %}
|
||||
|
||||
{{ link_field('change', url_for('main.edit_provider', provider_id=item.id)) }}
|
||||
|
||||
{% endcall %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user