diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 472744ebe980..b2babd0a2d09 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -10,6 +10,7 @@ Changelog
* Maintenance: Update Eslint, Prettier & Jest npm packages (LB (Ben) Johnston)
* Maintenance: Add npm scripts for TypeScript checks and formatting SCSS files (LB (Ben) Johnston)
* Maintenance: Run tests in parallel in some of the CI setup (Sage Abdullah)
+ * Maintenance: Remove unused WorkflowStatus view, urlpattern, and workflow-status.js (Storm Heg)
5.1 (01.08.2023)
diff --git a/client/src/entrypoints/admin/workflow-status.js b/client/src/entrypoints/admin/workflow-status.js
deleted file mode 100644
index 389510c31b25..000000000000
--- a/client/src/entrypoints/admin/workflow-status.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import $ from 'jquery';
-
-$(() => {
- /* Interface to view the workflow status from the explorer / editor */
- // eslint-disable-next-line func-names
- $('button[data-action-workflow-status]').on('click', function () {
- // eslint-disable-next-line no-undef
- ModalWorkflow({
- url: this.getAttribute('data-url'),
- });
- return false;
- });
-});
diff --git a/client/webpack.config.js b/client/webpack.config.js
index 446212518024..4f405d1f5ded 100644
--- a/client/webpack.config.js
+++ b/client/webpack.config.js
@@ -58,7 +58,6 @@ module.exports = function exports(env, argv) {
'userbar',
'wagtailadmin',
'workflow-action',
- 'workflow-status',
'bulk-actions',
],
'images': [
diff --git a/docs/releases/5.2.md b/docs/releases/5.2.md
index 4f654e90e224..b8e3a3a5467c 100644
--- a/docs/releases/5.2.md
+++ b/docs/releases/5.2.md
@@ -31,6 +31,7 @@ depth: 1
* Update Eslint, Prettier & Jest npm packages (LB (Ben) Johnston)
* Add npm scripts for TypeScript checks and formatting SCSS files (LB (Ben) Johnston)
* Run tests in parallel in some of the CI setup (Sage Abdullah)
+ * Remove unused WorkflowStatus view, urlpattern, and workflow-status.js (Storm Heg)
## Upgrade considerations - changes affecting all projects
diff --git a/wagtail/admin/templates/wagtailadmin/pages/_editor_js.html b/wagtail/admin/templates/wagtailadmin/pages/_editor_js.html
index a0f2a33b559b..4e7123388805 100644
--- a/wagtail/admin/templates/wagtailadmin/pages/_editor_js.html
+++ b/wagtail/admin/templates/wagtailadmin/pages/_editor_js.html
@@ -25,5 +25,4 @@
-
{% hook_output 'insert_editor_js' %}
diff --git a/wagtail/admin/urls/pages.py b/wagtail/admin/urls/pages.py
index 776b58ccddaa..bd354b2cbbfb 100644
--- a/wagtail/admin/urls/pages.py
+++ b/wagtail/admin/urls/pages.py
@@ -87,11 +87,6 @@
workflow.PreviewRevisionForTask.as_view(),
name="workflow_preview",
),
- path(
- "workflow/status//",
- workflow.WorkflowStatus.as_view(),
- name="workflow_status",
- ),
path(
"moderation//approve/",
moderation.approve_moderation,
diff --git a/wagtail/admin/views/generic/workflow.py b/wagtail/admin/views/generic/workflow.py
index f71170a004f4..36014ee518bb 100644
--- a/wagtail/admin/views/generic/workflow.py
+++ b/wagtail/admin/views/generic/workflow.py
@@ -214,42 +214,6 @@ def get_context_data(self, **kwargs):
}
-class WorkflowStatus(BaseObjectMixin, View):
- workflow_history_url_name = None
- revisions_compare_url_name = None
-
- def setup(self, request, *args, **kwargs):
- super().setup(request, *args, **kwargs)
- self.workflow_state = self.object.current_workflow_state
-
- def dispatch(self, request, *args, **kwargs):
- if not self.workflow_state:
- raise PermissionDenied
- return super().dispatch(request, *args, **kwargs)
-
- def get_workflow_history_url(self):
- return reverse(self.workflow_history_url_name, args=(quote(self.object.pk),))
-
- def get(self, request, *args, **kwargs):
- return render_modal_workflow(
- request,
- "wagtailadmin/workflows/workflow_status.html",
- None,
- self.get_context_data(),
- )
-
- def get_context_data(self, **kwargs):
- return {
- "object": self.object,
- "workflow_state": self.workflow_state,
- "current_task_state": self.workflow_state.current_task_state,
- "workflow_tasks": self.workflow_state.all_tasks_with_state(),
- "workflow_history_url": self.get_workflow_history_url(),
- "revisions_compare_url_name": self.revisions_compare_url_name,
- **kwargs,
- }
-
-
class PreviewRevisionForTask(BaseObjectMixin, View):
def setup(self, request, *args, task_id, **kwargs):
super().setup(request, *args, **kwargs)
diff --git a/wagtail/admin/views/pages/workflow.py b/wagtail/admin/views/pages/workflow.py
index d46c6f16f8ca..f9d512116842 100644
--- a/wagtail/admin/views/pages/workflow.py
+++ b/wagtail/admin/views/pages/workflow.py
@@ -1,8 +1,6 @@
-from django.utils.decorators import method_decorator
from django.utils.translation import gettext as _
from wagtail.admin import messages
-from wagtail.admin.auth import user_has_any_page_permission, user_passes_test
from wagtail.admin.utils import get_latest_str
from wagtail.admin.views.generic import workflow
from wagtail.models import Page
@@ -42,12 +40,6 @@ class ConfirmWorkflowCancellation(
template_name = "wagtailadmin/pages/confirm_workflow_cancellation.html"
-@method_decorator(user_passes_test(user_has_any_page_permission), name="dispatch")
-class WorkflowStatus(WorkflowPageViewMixin, workflow.WorkflowStatus):
- workflow_history_url_name = "wagtailadmin_pages:workflow_history"
- revisions_compare_url_name = "wagtailadmin_pages:revisions_compare"
-
-
class PreviewRevisionForTask(WorkflowPageViewMixin, workflow.PreviewRevisionForTask):
def add_error_message(self):
messages.error(
diff --git a/wagtail/snippets/tests/test_workflows.py b/wagtail/snippets/tests/test_workflows.py
index 100b4bfc98e6..a8a9bb0af332 100644
--- a/wagtail/snippets/tests/test_workflows.py
+++ b/wagtail/snippets/tests/test_workflows.py
@@ -283,26 +283,6 @@ def test_get_detail_with_bad_permissions(self):
self.assertRedirects(response, reverse("wagtailadmin_home"))
-class TestWorkflowStatus(BaseWorkflowsTestCase):
- def setUp(self):
- super().setUp()
- self.object.text = "Edited!"
- self.object.save_revision()
- self.workflow_state = self.workflow.start(self.object, self.user)
-
- def test_get_workflow_status(self):
- response = self.client.get(self.get_url("workflow_status"))
- self.assertEqual(response.status_code, 200)
- self.assertTemplateUsed(response, "wagtailadmin/workflows/workflow_status.html")
-
- # Should show link to workflow history page
- self.assertContains(response, self.get_url("workflow_history"))
-
- # Should show the currently in progress workflow
- self.assertContains(response, "Moderators approval")
- self.assertContains(response, "In progress")
-
-
class TestConfirmWorkflowCancellation(BaseWorkflowsTestCase):
def setUp(self):
super().setUp()
diff --git a/wagtail/snippets/views/snippets.py b/wagtail/snippets/views/snippets.py
index 9933602ab528..3611df60673e 100644
--- a/wagtail/snippets/views/snippets.py
+++ b/wagtail/snippets/views/snippets.py
@@ -600,10 +600,6 @@ class ConfirmWorkflowCancellationView(workflow.ConfirmWorkflowCancellation):
pass
-class WorkflowStatusView(PermissionCheckedMixin, workflow.WorkflowStatus):
- permission_required = "change"
-
-
class WorkflowPreviewView(workflow.PreviewRevisionForTask):
pass
@@ -787,9 +783,6 @@ class SnippetViewSet(ModelViewSet):
#: The view class to use for confirming the cancellation of a workflow; must be a subclass of ``wagtail.snippet.views.snippets.ConfirmWorkflowCancellationView``.
confirm_workflow_cancellation_view_class = ConfirmWorkflowCancellationView
- #: The view class to use for rendering the workflow status modal; must be a subclass of ``wagtail.snippet.views.snippets.WorkflowStatusView``.
- workflow_status_view_class = WorkflowStatusView
-
#: The view class to use for previewing a revision for a specific task; must be a subclass of ``wagtail.snippet.views.snippets.WorkflowPreviewView``.
workflow_preview_view_class = WorkflowPreviewView
@@ -1152,15 +1145,6 @@ def collect_workflow_action_data_view(self):
def confirm_workflow_cancellation_view(self):
return self.confirm_workflow_cancellation_view_class.as_view(model=self.model)
- @property
- def workflow_status_view(self):
- return self.workflow_status_view_class.as_view(
- model=self.model,
- permission_policy=self.permission_policy,
- workflow_history_url_name=self.get_url_name("workflow_history"),
- revisions_compare_url_name=self.get_url_name("revisions_compare"),
- )
-
@property
def workflow_preview_view(self):
return self.workflow_preview_view_class.as_view(model=self.model)
@@ -1479,11 +1463,6 @@ def get_urlpatterns(self):
self.confirm_workflow_cancellation_view,
name="confirm_workflow_cancellation",
),
- path(
- "workflow/status//",
- self.workflow_status_view,
- name="workflow_status",
- ),
path(
"workflow_history//",
self.workflow_history_view,