Skip to content

Commit ce3f13f

Browse files
authored
Merge pull request #1140 from NHSDigital/permission-required-raise-exception
Use raise_exception option of permission_required everywhere
2 parents 752944e + 17156b4 commit ce3f13f

File tree

4 files changed

+10
-9
lines changed

4 files changed

+10
-9
lines changed

manage_breast_screening/mammograms/tests/views/test_appointment_workflow_views.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
assertRedirects,
1212
)
1313

14-
from manage_breast_screening.config.settings import LOGIN_URL
1514
from manage_breast_screening.core.models import AuditLog
1615
from manage_breast_screening.dicom.models import Study as DicomStudy
1716
from manage_breast_screening.dicom.tests.factories import (
@@ -532,7 +531,7 @@ def test_user_not_permitted(self, administrative_user_client):
532531
)
533532
url = reverse("mammograms:start_appointment", kwargs={"pk": appointment.pk})
534533
response = administrative_user_client.http.post(url)
535-
assertRedirects(response, reverse(LOGIN_URL, query={"next": url}))
534+
assert response.status_code == 403
536535

537536

538537
@pytest.mark.django_db
@@ -792,7 +791,7 @@ def test_user_not_permitted(self, administrative_user_client, paused_appointment
792791
"mammograms:resume_appointment", kwargs={"pk": paused_appointment.pk}
793792
)
794793
response = administrative_user_client.http.post(url)
795-
assertRedirects(response, reverse(LOGIN_URL, query={"next": url}))
794+
assert response.status_code == 403
796795

797796

798797
@pytest.mark.django_db

manage_breast_screening/mammograms/views/appointment_workflow_views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ def check_in(request, pk):
306306

307307

308308
@require_http_methods(["POST"])
309-
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT)
309+
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT, raise_exception=True)
310310
def start_appointment(request, pk):
311311
try:
312312
provider = request.user.current_provider
@@ -320,7 +320,7 @@ def start_appointment(request, pk):
320320

321321

322322
@require_http_methods(["POST"])
323-
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT)
323+
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT, raise_exception=True)
324324
def resume_appointment(request, pk):
325325
try:
326326
provider = request.user.current_provider

manage_breast_screening/mammograms/views/mammogram_views.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
logger = logging.getLogger(__name__)
4141

4242

43-
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT)
43+
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT, raise_exception=True)
4444
def appointment_should_not_proceed(
4545
request, appointment_pk, participant_reported_mammogram_pk
4646
):
@@ -103,7 +103,7 @@ def appointment_should_not_proceed(
103103

104104

105105
@require_http_methods(["POST"])
106-
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT)
106+
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT, raise_exception=True)
107107
def attended_not_screened(request, appointment_pk):
108108
provider = request.user.current_provider
109109
try:
@@ -125,6 +125,7 @@ class AppointmentProceedAnywayView(
125125
template_name = "mammograms/proceed_anyway.jinja"
126126
thing_name = "a previous mammogram"
127127
permission_required = Permission.DO_MAMMOGRAM_APPOINTMENT
128+
raise_exception = True
128129

129130
def update_title(self, thing_name):
130131
return "You are continuing despite a recent mammogram"
@@ -188,7 +189,7 @@ def get_context_data(self, **kwargs):
188189

189190

190191
@require_http_methods(["GET"])
191-
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT)
192+
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT, raise_exception=True)
192193
def check_information(request, pk):
193194
provider = request.user.current_provider
194195
try:
@@ -216,7 +217,7 @@ def check_information(request, pk):
216217

217218

218219
@require_http_methods(["POST"])
219-
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT)
220+
@permission_required(Permission.DO_MAMMOGRAM_APPOINTMENT, raise_exception=True)
220221
def complete_screening(request, pk):
221222
provider = request.user.current_provider
222223
try:

manage_breast_screening/mammograms/views/mixins.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ class InProgressAppointmentMixin(PermissionRequiredMixin, AppointmentMixin):
7777
"""
7878

7979
permission_required = Permission.DO_MAMMOGRAM_APPOINTMENT
80+
raise_exception = True
8081

8182
def dispatch(self, request, *args, **kwargs):
8283
appointment = self.appointment # type: ignore

0 commit comments

Comments
 (0)