diff --git a/app/assets/stylesheets/components/research-mode.scss b/app/assets/stylesheets/components/research-mode.scss
new file mode 100644
index 000000000..050a03f03
--- /dev/null
+++ b/app/assets/stylesheets/components/research-mode.scss
@@ -0,0 +1,8 @@
+.research-mode {
+ font-weight: bold;
+ display: inline-block;
+ padding: 5px 10px;
+ background: $govuk-blue;
+ color: $white;
+ border-radius: 2px;
+}
diff --git a/app/assets/stylesheets/main.scss b/app/assets/stylesheets/main.scss
index f4b29ea9f..b1e27910b 100644
--- a/app/assets/stylesheets/main.scss
+++ b/app/assets/stylesheets/main.scss
@@ -53,6 +53,7 @@ $path: '/static/images/';
@import 'components/show-more';
@import 'components/message';
@import 'components/phone';
+@import 'components/research-mode';
@import 'views/job';
@import 'views/edit-template';
diff --git a/app/main/views/platform_admin.py b/app/main/views/platform_admin.py
index 4a19d6948..39745d996 100644
--- a/app/main/views/platform_admin.py
+++ b/app/main/views/platform_admin.py
@@ -43,7 +43,8 @@ def format_stats_by_service(all_stats, services):
),
'delivered': stats['sms_delivered'] + stats['emails_delivered'],
'failed': stats['sms_failed'] + stats['emails_failed'],
- 'restricted': services[stats['service']]['restricted']
+ 'restricted': services[stats['service']]['restricted'],
+ 'research_mode': services[stats['service']]['research_mode']
}
for stats in all_stats
]
diff --git a/app/templates/admin_template.html b/app/templates/admin_template.html
index 43722d1cc..73b195e10 100644
--- a/app/templates/admin_template.html
+++ b/app/templates/admin_template.html
@@ -112,7 +112,7 @@
Built by the Government Digital Service
Cookies
{% if current_service.research_mode %}
- research mode
+ research mode
{% endif %}
{% endblock %}
diff --git a/app/templates/views/platform-admin.html b/app/templates/views/platform-admin.html
index a7e8d63e4..05e66bcc4 100644
--- a/app/templates/views/platform-admin.html
+++ b/app/templates/views/platform-admin.html
@@ -2,7 +2,7 @@
{% from "components/big-number.html" import big_number, big_number_with_status %}
{% from "components/message-count-label.html" import message_count_label %}
{% from "components/browse-list.html" import browse_list %}
-{% from "components/table.html" import list_table, field, right_aligned_field_heading, hidden_field_heading %}
+{% from "components/table.html" import list_table, field, right_aligned_field_heading, hidden_field_heading, text_field %}
{% block page_title %}
Platform admin – GOV.UK Notify
@@ -63,11 +63,19 @@
{{ item['name'] }}
{% endcall %}
- {% call field(status='error') %}
-
- {{ '' if item['restricted'] else 'Live' }}
-
- {% endcall %}
+ {% if item['research_mode'] %}
+ {% call field() %}
+ research mode
+ {% endcall %}
+ {% elif not item['restricted'] %}
+ {% call field(status='error') %}
+
+ Live
+
+ {% endcall %}
+ {% else %}
+ {{ text_field('') }}
+ {% endif %}
{% call field(align='right') %}
{{ big_number(item['sending'], smaller=True) }}
{% endcall %}
diff --git a/tests/app/main/views/test_platform_admin.py b/tests/app/main/views/test_platform_admin.py
index 175c5791f..fcdfb142c 100644
--- a/tests/app/main/views/test_platform_admin.py
+++ b/tests/app/main/views/test_platform_admin.py
@@ -87,8 +87,8 @@ def create_stats(
def test_format_stats_by_service_gets_correct_stats_for_each_service():
services = [
- {'name': 'a', 'id': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', 'restricted': False},
- {'name': 'b', 'id': 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb', 'restricted': True}
+ {'name': 'a', 'id': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', 'restricted': False, 'research_mode': True},
+ {'name': 'b', 'id': 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb', 'restricted': True, 'research_mode': False}
]
all_stats = [
create_stats('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', emails_requested=1),
@@ -113,7 +113,7 @@ def test_format_stats_by_service_gets_correct_stats_for_each_service():
def test_format_stats_by_service_sums_values_for_sending():
services = [
- {'name': 'a', 'id': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', 'restricted': False},
+ {'name': 'a', 'id': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', 'restricted': False, 'research_mode': False},
]
all_stats = [
create_stats(