mirror of
https://github.com/wagtail/wagtail.git
synced 2024-12-01 11:41:20 +01:00
Add workflow deletion view
This commit is contained in:
parent
a181a85820
commit
759228d37d
@ -0,0 +1,17 @@
|
|||||||
|
{% extends "wagtailadmin/base.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% block titletag %}{{ view.page_title }}{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{% include "wagtailadmin/shared/header.html" with title=view.page_title subtitle=view.get_page_subtitle icon=view.header_icon %}
|
||||||
|
|
||||||
|
<div class="nice-padding">
|
||||||
|
<p>This workflow is currently in progress on {{ workflow_states_in_progress }} pages. Deleting this workflow will cancel moderation on these page.
|
||||||
|
Are you sure you want to delete this workflow?</p>
|
||||||
|
<form action="{{ view.get_delete_url }}" method="POST">
|
||||||
|
{% csrf_token %}
|
||||||
|
<input type="submit" value="{% trans 'Yes, delete' %}" class="button serious" />
|
||||||
|
<a class="button button-secondary" href="{{ view.get_edit_url }}">No</a>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
@ -30,10 +30,13 @@
|
|||||||
<div class="object">
|
<div class="object">
|
||||||
<ul class="object-layout">
|
<ul class="object-layout">
|
||||||
<li class="object-layout_big-part">
|
<li class="object-layout_big-part">
|
||||||
<p class="save">
|
<p class="actions">
|
||||||
<button type="submit" class="button action-save button-longrunning" data-clicked-text="{% trans 'Saving…' %}">
|
<button type="submit" class="button action-save button-longrunning" data-clicked-text="{% trans 'Saving…' %}">
|
||||||
<span class="icon icon-spinner"></span><em>{% trans 'Save' %}</em>
|
<span class="icon icon-spinner"></span><em>{% trans 'Save' %}</em>
|
||||||
</button>
|
</button>
|
||||||
|
{% if can_delete %}
|
||||||
|
<a href="{{ view.get_delete_url }}" class="button button-secondary no">{{ view.delete_item_label }}</a>
|
||||||
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -7,6 +7,7 @@ app_name = 'wagtailadmin_workflows'
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', workflows.Index.as_view(), name='index'),
|
path('', workflows.Index.as_view(), name='index'),
|
||||||
path('add/', workflows.Create.as_view(), name='add'),
|
path('add/', workflows.Create.as_view(), name='add'),
|
||||||
|
path('delete/<int:pk>/', workflows.Delete.as_view(), name='delete'),
|
||||||
path('edit/<int:pk>/', workflows.Edit.as_view(), name='edit'),
|
path('edit/<int:pk>/', workflows.Edit.as_view(), name='edit'),
|
||||||
path('remove/<int:page_pk>/', workflows.remove_workflow, name='remove'),
|
path('remove/<int:page_pk>/', workflows.remove_workflow, name='remove'),
|
||||||
path('remove/<int:page_pk>/<int:workflow_pk>/', workflows.remove_workflow, name='remove'),
|
path('remove/<int:page_pk>/<int:workflow_pk>/', workflows.remove_workflow, name='remove'),
|
||||||
|
@ -12,7 +12,7 @@ from wagtail.admin import messages
|
|||||||
from wagtail.admin.edit_handlers import Workflow
|
from wagtail.admin.edit_handlers import Workflow
|
||||||
from wagtail.admin.forms.workflows import AddWorkflowToPageForm
|
from wagtail.admin.forms.workflows import AddWorkflowToPageForm
|
||||||
from wagtail.admin.views.generic import CreateView, DeleteView, EditView, IndexView
|
from wagtail.admin.views.generic import CreateView, DeleteView, EditView, IndexView
|
||||||
from wagtail.core.models import Page, Task, WorkflowPage, WorkflowTask
|
from wagtail.core.models import Page, Task, WorkflowPage, WorkflowState, WorkflowTask
|
||||||
from wagtail.admin.views.pages import get_valid_next_url_from_request
|
from wagtail.admin.views.pages import get_valid_next_url_from_request
|
||||||
from wagtail.core.permissions import workflow_permission_policy, task_permission_policy
|
from wagtail.core.permissions import workflow_permission_policy, task_permission_policy
|
||||||
from django.shortcuts import get_object_or_404, redirect, render
|
from django.shortcuts import get_object_or_404, redirect, render
|
||||||
@ -70,6 +70,7 @@ class Edit(EditView):
|
|||||||
success_message = _("Workflow '{0}' updated.")
|
success_message = _("Workflow '{0}' updated.")
|
||||||
add_url_name = 'wagtailadmin_workflows:add'
|
add_url_name = 'wagtailadmin_workflows:add'
|
||||||
edit_url_name = 'wagtailadmin_workflows:edit'
|
edit_url_name = 'wagtailadmin_workflows:edit'
|
||||||
|
delete_url_name = 'wagtailadmin_workflows:delete'
|
||||||
index_url_name = 'wagtailadmin_workflows:index'
|
index_url_name = 'wagtailadmin_workflows:index'
|
||||||
header_icon = 'placeholder'
|
header_icon = 'placeholder'
|
||||||
edit_handler = None
|
edit_handler = None
|
||||||
@ -104,6 +105,25 @@ class Edit(EditView):
|
|||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
class Delete(DeleteView):
|
||||||
|
permission_policy = workflow_permission_policy
|
||||||
|
model = Workflow
|
||||||
|
page_title = _("Delete workflow")
|
||||||
|
template_name = 'wagtailadmin/workflows/confirm_delete.html'
|
||||||
|
success_message = _("Workflow '{0}' deleted.")
|
||||||
|
add_url_name = 'wagtailadmin_workflows:add'
|
||||||
|
edit_url_name = 'wagtailadmin_workflows:edit'
|
||||||
|
delete_url_name = 'wagtailadmin_workflows:delete'
|
||||||
|
index_url_name = 'wagtailadmin_workflows:index'
|
||||||
|
header_icon = 'placeholder'
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super().get_context_data(**kwargs)
|
||||||
|
context['workflow_states_in_progress'] = WorkflowState.objects.filter(status=WorkflowState.STATUS_IN_PROGRESS).count()
|
||||||
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@require_POST
|
@require_POST
|
||||||
def remove_workflow(request, page_pk, workflow_pk=None):
|
def remove_workflow(request, page_pk, workflow_pk=None):
|
||||||
# Remove a workflow from a page (specifically a single workflow if workflow_pk is set)
|
# Remove a workflow from a page (specifically a single workflow if workflow_pk is set)
|
||||||
|
Loading…
Reference in New Issue
Block a user