fix issue where bulk actions would return, not raise 404

return Http404 -> raise Http404
pull/7667/merge
Ihor Marhitych 2022-02-02 10:23:26 +01:00 zatwierdzone przez LB (Ben Johnston)
rodzic 329671c0bc
commit da293bce35
4 zmienionych plików z 20 dodań i 3 usunięć

Wyświetl plik

@ -7,6 +7,7 @@ Changelog
* Upgrade ESLint and Stylelint configurations to latest shared Wagtail configs (Thibaud Colas)
* Major updates to frontend tooling; move Node tooling from Gulp to Webpack, upgrade to Node v16 and npm v8, eslint v8, stylelint v14 and others (Thibaud Colas)
* Change comment headers date formatting to use browser APIs instead of requiring a library (LB (Ben Johnston))
* Fix issue where invalid bulk action URLs would incorrectly trigger a server error (500) instead of a valid not found (404) (Ihor Marhitych)
2.16.1 (xx.xx.xxxx) - IN DEVELOPMENT

Wyświetl plik

@ -18,7 +18,7 @@
### Bug fixes
* ...
* Fix issue where invalid bulk action URLs would incorrectly trigger a server error (500) instead of a valid not found (404) (Ihor Marhitych)
## Upgrade considerations

Wyświetl plik

@ -0,0 +1,16 @@
from django.test import TestCase
from django.urls import reverse
from wagtail.tests.utils import WagtailTestUtils
class TestBulkActionDispatcher(TestCase, WagtailTestUtils):
def setUp(self):
# Login
self.user = self.login()
def test_bulk_action_invalid_action(self):
url = reverse('wagtail_bulk_action', args=('wagtailcore', 'page', 'ships', ))
response = self.client.get(url)
self.assertEqual(response.status_code, 404)

Wyświetl plik

@ -1,5 +1,5 @@
from django.apps import apps
from django.http.response import Http404
from django.http import Http404
from wagtail.admin.views.bulk_action.registry import bulk_action_registry as registry
@ -9,4 +9,4 @@ def index(request, app_label, model_name, action):
action_class = registry.get_bulk_action_class(app_label, model_name, action)
if action_class is not None:
return action_class(request, model).dispatch(request)
return Http404()
raise Http404