mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-04-27 04:31:11 -04:00
New platform-admin-dashboard page
This commit is contained in:
@@ -12,7 +12,8 @@ from app.main.views import (
|
||||
send,
|
||||
add_service,
|
||||
code_not_received,
|
||||
jobs, dashboard,
|
||||
jobs,
|
||||
dashboard,
|
||||
templates,
|
||||
service_settings,
|
||||
forgot_password,
|
||||
@@ -26,5 +27,6 @@ from app.main.views import (
|
||||
all_services,
|
||||
tour,
|
||||
feedback,
|
||||
providers
|
||||
providers,
|
||||
platform_admin
|
||||
)
|
||||
|
||||
14
app/main/views/platform_admin.py
Normal file
14
app/main/views/platform_admin.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from flask import render_template
|
||||
from flask_login import login_required
|
||||
|
||||
from app.main import main
|
||||
from app.utils import user_has_permissions
|
||||
|
||||
|
||||
@main.route("/platform-admin")
|
||||
@login_required
|
||||
@user_has_permissions(admin_override=True)
|
||||
def platform_admin():
|
||||
return render_template(
|
||||
'views/platform-admin.html'
|
||||
)
|
||||
@@ -46,6 +46,11 @@
|
||||
<li>
|
||||
<a href="{{ url_for('main.choose_service') }}">Switch service</a>
|
||||
</li>
|
||||
{% if current_user.has_permissions(admin_override=True) %}
|
||||
<li>
|
||||
<a href="{{ url_for('main.platform_admin') }}">Platform admin</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li>
|
||||
<a href="{{ url_for('main.sign_out')}}">Sign out</a>
|
||||
</li>
|
||||
|
||||
16
app/templates/views/platform-admin.html
Normal file
16
app/templates/views/platform-admin.html
Normal file
@@ -0,0 +1,16 @@
|
||||
{% extends "withoutnav_template.html" %}
|
||||
{% from "components/browse-list.html" import browse_list %}
|
||||
|
||||
{% block page_title %}
|
||||
Platform admin – GOV.UK Notify
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
<h1 class="heading-large">
|
||||
Platform admin
|
||||
</h1>
|
||||
|
||||
<insert platform admin content here>
|
||||
|
||||
{% endblock %}
|
||||
34
tests/app/main/views/test_platform_admin.py
Normal file
34
tests/app/main/views/test_platform_admin.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from flask import url_for
|
||||
|
||||
from tests.conftest import mock_get_user
|
||||
|
||||
|
||||
def test_should_redirect_if_not_logged_in(app_):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
response = client.get(url_for('main.platform_admin'))
|
||||
assert response.status_code == 302
|
||||
assert url_for('main.index', _external=True) in response.location
|
||||
|
||||
|
||||
def test_should_403_if_not_platform_admin(app_, active_user_with_permissions, mocker):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
mock_get_user(mocker, user=active_user_with_permissions)
|
||||
client.login(active_user_with_permissions)
|
||||
|
||||
response = client.get(url_for('main.platform_admin'))
|
||||
|
||||
assert response.status_code == 403
|
||||
|
||||
|
||||
def test_should_render_platform_admin_page(app_, platform_admin_user, mocker):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for('main.platform_admin'))
|
||||
|
||||
assert response.status_code == 200
|
||||
resp_data = response.get_data(as_text=True)
|
||||
assert 'Platform admin' in resp_data
|
||||
Reference in New Issue
Block a user