Files
notifications-admin/app/main/views/providers.py
Chris Hill-Scott f3a0c505bd Enforce order and style of imports
Done using isort[1], with the following command:
```
isort -rc ./app ./tests
```

Adds linting to the `run_tests.sh` script to stop badly-sorted imports
getting re-introduced.

Chosen style is ‘Vertical Hanging Indent’ with trailing commas, because
I think it gives the cleanest diffs, eg:
```
from third_party import (
    lib1,
    lib2,
    lib3,
    lib4,
)
```

1. https://pypi.python.org/pypi/isort
2018-02-27 16:35:13 +00:00

53 lines
1.9 KiB
Python

from flask import render_template, url_for
from flask_login import login_required
from werkzeug.utils import redirect
from app import provider_client
from app.main import main
from app.main.forms import ProviderForm
from app.utils import user_has_permissions
@main.route("/providers")
@login_required
@user_has_permissions(admin_override=True)
def view_providers():
providers = provider_client.get_all_providers()['provider_details']
domestic_email_providers, domestic_sms_providers, intl_sms_providers = [], [], []
for provider in providers:
if provider['notification_type'] == 'sms':
domestic_sms_providers.append(provider)
if provider.get('supports_international', None):
intl_sms_providers.append(provider)
elif provider['notification_type'] == 'email':
domestic_email_providers.append(provider)
return render_template(
'views/providers/providers.html',
email_providers=domestic_email_providers,
domestic_sms_providers=domestic_sms_providers,
intl_sms_providers=intl_sms_providers
)
@main.route("/provider/<provider_id>/edit", methods=['GET', 'POST'])
@login_required
@user_has_permissions(admin_override=True)
def edit_provider(provider_id):
provider = provider_client.get_provider_by_id(provider_id)['provider_details']
form = ProviderForm(active=provider['active'], priority=provider['priority'])
if form.validate_on_submit():
provider_client.update_provider(provider_id, form.priority.data)
return redirect(url_for('.view_providers'))
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'])