diff --git a/gracedb/events/tests/test_access.py b/gracedb/events/tests/test_access.py index 2b6c7cf7329adf3c9956ba4f5d75725cdd49268a..9f8d32271e85cd0cb659e95be88213542fbf89b3 100644 --- a/gracedb/events/tests/test_access.py +++ b/gracedb/events/tests/test_access.py @@ -533,14 +533,14 @@ class TestEventModifyT90(EventSetup, GraceDbTestBase): response = self.request_as_user(url, "POST", self.lvem_user, data=self.t90_data) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, "Forbidden") + self.assertEqual(response.templates[0].name, '403.html') def test_public_user_t90(self): """Public user can't t90 GRB events""" url = reverse('modify_t90', args=[self.grb_event.graceid]) response = self.request_as_user(url, "POST", data=self.t90_data) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, "Forbidden") + self.assertEqual(response.templates[0].name, '403.html') class TestEventModifyPermissions(EventSetup, GraceDbTestBase): @@ -611,7 +611,7 @@ class TestEventModifyPermissions(EventSetup, GraceDbTestBase): response = self.request_as_user(url, "POST", self.lvem_user, data=self.perm_data) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, "Forbidden") + self.assertEqual(response.templates[0].name, '403.html') def test_lvem_user_modify_permissions_for_exposed_event(self): """LV-EM user can't modify exposed event permissions""" @@ -627,7 +627,7 @@ class TestEventModifyPermissions(EventSetup, GraceDbTestBase): url = reverse('modify_permissions', args=[self.internal_event.graceid]) response = self.request_as_user(url, "POST", data=self.perm_data) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, "Forbidden") + self.assertEqual(response.templates[0].name, '403.html') class TestEventModifySignoff(SignoffGroupsAndUsersSetup, EventSetup, @@ -688,7 +688,7 @@ class TestEventModifySignoff(SignoffGroupsAndUsersSetup, EventSetup, response = self.request_as_user(url, "POST", self.lvem_user, self.op_signoff_data) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, "Forbidden") + self.assertEqual(response.templates[0].name, '403.html') # Exposed event url = reverse('modify_signoff', args=[self.lvem_event.graceid]) @@ -703,7 +703,7 @@ class TestEventModifySignoff(SignoffGroupsAndUsersSetup, EventSetup, url = reverse('modify_signoff', args=[self.internal_event.graceid]) response = self.request_as_user(url, "POST", data=self.op_signoff_data) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, "Forbidden") + self.assertEqual(response.templates[0].name, '403.html') class TestEventCreateLog(EventSetup, GraceDbTestBase): @@ -741,7 +741,7 @@ class TestEventCreateLog(EventSetup, GraceDbTestBase): # Check response and content self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, 'Forbidden') + self.assertEqual(response.templates[0].name, '403.html') def test_lvem_user_create_log_exposed_event(self): """LV-EM user can create log for exposed event""" @@ -768,7 +768,7 @@ class TestEventCreateLog(EventSetup, GraceDbTestBase): # Check response and content self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, 'Forbidden') + self.assertEqual(response.templates[0].name, '403.html') class TestEventLogTag(EventSetup, GraceDbTestBase): @@ -824,7 +824,7 @@ class TestEventLogTag(EventSetup, GraceDbTestBase): log.N, self.tag_name]) response = self.request_as_user(url, "POST", self.lvem_user) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, 'Forbidden') + self.assertEqual(response.templates[0].name, '403.html') # Exposed log on hidden event log = self.internal_event.eventlog_set.get( @@ -833,7 +833,7 @@ class TestEventLogTag(EventSetup, GraceDbTestBase): log.N, self.tag_name]) response = self.request_as_user(url, "POST", self.lvem_user) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, 'Forbidden') + self.assertEqual(response.templates[0].name, '403.html') def test_lvem_user_tag_log_exposed_event(self): """LV-EM user can only tag exposed logs for exposed events""" @@ -870,7 +870,7 @@ class TestEventLogTag(EventSetup, GraceDbTestBase): self.tag_name]) response = self.request_as_user(url, "POST") self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, 'Forbidden') + self.assertEqual(response.templates[0].name, '403.html') class TestEventLogUntag(EventSetup, GraceDbTestBase): @@ -927,7 +927,7 @@ class TestEventLogUntag(EventSetup, GraceDbTestBase): log.N, self.test_tag.name]) response = self.request_as_user(url, "DELETE", self.lvem_user) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, 'Forbidden') + self.assertEqual(response.templates[0].name, '403.html') # Exposed log on hidden event log = self.internal_event.eventlog_set.get( @@ -936,7 +936,7 @@ class TestEventLogUntag(EventSetup, GraceDbTestBase): log.N, self.test_tag.name]) response = self.request_as_user(url, "DELETE", self.lvem_user) self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, 'Forbidden') + self.assertEqual(response.templates[0].name, '403.html') def test_lvem_user_untag_log_exposed_event(self): """ @@ -974,7 +974,7 @@ class TestEventLogUntag(EventSetup, GraceDbTestBase): self.test_tag.name]) response = self.request_as_user(url, "DELETE") self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, 'Forbidden') + self.assertEqual(response.templates[0].name, '403.html') class TestEventCreateEMObservation(EventSetup, GraceDbTestBase): @@ -1034,7 +1034,7 @@ class TestEventCreateEMObservation(EventSetup, GraceDbTestBase): # Check response and content self.assertEqual(response.status_code, 403) - self.assertEqual(response.content, 'Forbidden') + self.assertEqual(response.templates[0].name, '403.html') def test_lvem_user_create_emobservation_exposed_event(self): """LV-EM user can create emobservation for exposed event""" diff --git a/gracedb/events/views.py b/gracedb/events/views.py index db8d524688ddc68111df78af8c3817544a523bb9..691890d508bfdf25b7c15537c61e8c06cc189573 100644 --- a/gracedb/events/views.py +++ b/gracedb/events/views.py @@ -75,11 +75,8 @@ def event_and_auth_required(view): # maps to 'view', and unsafe methods map to 'CHANGE' if request.method=='GET': if not user_has_perm(request.user, 'view', event): - msg = ('You do not have permission to view this event. ' - 'If you think you should be able to view it, make sure ' - 'you are logged in.') - return render(request, '403.html', status=403, - context={'graceid': graceid, 'message': msg}) + return render(request, 'gracedb/403.html', status=403, + context={'graceid': graceid}) elif request.method in ['POST', 'DELETE']: if not user_has_perm(request.user, 'change', event): raise PermissionDenied diff --git a/gracedb/templates/403.html b/gracedb/templates/403.html index 57e9606da405c969f61f0a8012cebcdabd779c4a..520e13a803d1589589d85cf19a8264d5e14d2994 100644 --- a/gracedb/templates/403.html +++ b/gracedb/templates/403.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% block title %}403 – Forbidden{% endblock %} -{% block heading %}Forbidden {{ graceid }}{% endblock %} +{% block heading %}Forbidden{% endblock %} {% block content %} {% if message %} diff --git a/gracedb/templates/gracedb/403.html b/gracedb/templates/gracedb/403.html new file mode 100644 index 0000000000000000000000000000000000000000..b81ad82e9fba03a819d4d7f2265ae799bfa264d5 --- /dev/null +++ b/gracedb/templates/gracedb/403.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} + +{% block title %}403 – Forbidden{% endblock %} +{% block heading %}Forbidden {{ graceid }}{% endblock %} + +{% block content %} + <p> + You do not have permission to view event {{ graceid }} or the related data. + If you think that you should be able to view it, make sure you are logged in. + </p> +{% endblock %}