Skip to content

Commit c4e18ed

Browse files
committed
Add 503 page for SERVICE_ENABLED=False
* Add custom error page for 503 Render a message to users if we've disabled the service and they try to access it.
1 parent 8a0c2e0 commit c4e18ed

3 files changed

Lines changed: 13 additions & 1 deletion

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{% extends "layout-app.jinja" %}
2+
3+
{% block content %}
4+
<div class="nhsuk-grid-row">
5+
<div class="nhsuk-grid-column-two-thirds">
6+
<h1>Sorry, this service is unavailable</h1>
7+
<p>The service is unavailable due to planned maintenance.</p>
8+
</div>
9+
</div>
10+
{% endblock %}

manage_breast_screening/core/middleware/service_enabled.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from django.conf import settings
44
from django.http import HttpResponse
5+
from django.shortcuts import render
56

67
from manage_breast_screening.core.decorators import is_service_enabled_exempt
78

@@ -29,4 +30,4 @@ def process_view(
2930
if is_service_enabled_exempt(view_func):
3031
return None
3132

32-
return HttpResponse("Service unavailable", status=503)
33+
return render(request, "503.jinja", status=503)

manage_breast_screening/core/tests/middleware/test_service_enabled.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ def test_service_disabled_returns_503(self, settings):
3131
resp = mw.process_view(request, lambda r: None, (), {})
3232
assert resp is not None
3333
assert resp.status_code == 503
34+
assert b"Sorry, this service is unavailable" in resp.content
3435

3536
def test_service_disabled_exempt_view_allows_request(self, settings):
3637
settings.SERVICE_ENABLED = False

0 commit comments

Comments
 (0)