Add workflow states and transition delete views
This commit is contained in:
@@ -14,12 +14,13 @@ from .models import (
|
||||
WorkflowTransition
|
||||
)
|
||||
from .links import (
|
||||
link_document_workflow_instance_list, link_setup_workflow_create,
|
||||
link_setup_workflow_delete, link_setup_workflow_edit,
|
||||
link_setup_workflow_list, link_setup_workflow_states,
|
||||
link_setup_workflow_state_create, link_setup_workflow_state_edit,
|
||||
link_document_workflow_instance_list, link_setup_workflow_document_types,
|
||||
link_setup_workflow_create, link_setup_workflow_delete,
|
||||
link_setup_workflow_edit, link_setup_workflow_list,
|
||||
link_setup_workflow_states, link_setup_workflow_state_create,
|
||||
link_setup_workflow_state_delete, link_setup_workflow_state_edit,
|
||||
link_setup_workflow_transitions, link_setup_workflow_transition_create,
|
||||
link_setup_workflow_transition_edit, link_setup_workflow_document_types,
|
||||
link_setup_workflow_transition_delete, link_setup_workflow_transition_edit,
|
||||
link_workflow_instance_detail, link_workflow_instance_transition
|
||||
)
|
||||
|
||||
@@ -88,5 +89,5 @@ register_links([WorkflowInstance], [link_workflow_instance_detail, link_workflow
|
||||
register_links([Workflow, 'document_states:setup_workflow_create', 'document_states:setup_workflow_list'], [link_setup_workflow_list, link_setup_workflow_create], menu_name='secondary_menu')
|
||||
register_links([Workflow], [link_setup_workflow_states, link_setup_workflow_transitions, link_setup_workflow_document_types, link_setup_workflow_edit, link_setup_workflow_delete])
|
||||
register_links([Workflow], [link_setup_workflow_state_create, link_setup_workflow_transition_create], menu_name='sidebar')
|
||||
register_links([WorkflowState], [link_setup_workflow_state_edit])
|
||||
register_links([WorkflowTransition], [link_setup_workflow_transition_edit])
|
||||
register_links([WorkflowState], [link_setup_workflow_state_edit, link_setup_workflow_state_delete])
|
||||
register_links([WorkflowTransition], [link_setup_workflow_transition_edit, link_setup_workflow_transition_delete])
|
||||
|
||||
@@ -9,10 +9,12 @@ link_setup_workflow_edit = {'text': _('Edit'), 'view': 'document_states:setup_wo
|
||||
|
||||
link_setup_workflow_states = {'text': _('States'), 'view': 'document_states:setup_workflow_states', 'args': 'object.pk', 'famfam': 'style'}
|
||||
link_setup_workflow_state_create = {'text': _('Create state'), 'view': 'document_states:setup_workflow_state_create', 'args': 'object.pk', 'famfam': 'style_add'}
|
||||
link_setup_workflow_state_delete = {'text': _('Delete'), 'view': 'document_states:setup_workflow_state_delete', 'args': 'object.pk', 'famfam': 'delete'}
|
||||
link_setup_workflow_state_edit = {'text': _('Edit'), 'view': 'document_states:setup_workflow_state_edit', 'args': 'object.pk', 'famfam': 'pencil'}
|
||||
|
||||
link_setup_workflow_transitions = {'text': _('Transitions'), 'view': 'document_states:setup_workflow_transitions', 'args': 'object.pk', 'famfam': 'lightning'}
|
||||
link_setup_workflow_transition_create = {'text': _('Create transition'), 'view': 'document_states:setup_workflow_transition_create', 'args': 'object.pk', 'famfam': 'lightning_add'}
|
||||
link_setup_workflow_transition_delete = {'text': _('Delete'), 'view': 'document_states:setup_workflow_transition_delete', 'args': 'object.pk', 'famfam': 'delete'}
|
||||
link_setup_workflow_transition_edit = {'text': _('Edit'), 'view': 'document_states:setup_workflow_transition_edit', 'args': 'object.pk', 'famfam': 'pencil'}
|
||||
|
||||
link_setup_workflow_document_types = {'text': _('Document types'), 'view': 'document_states:setup_workflow_document_types', 'args': 'object.pk', 'famfam': 'layout'}
|
||||
|
||||
@@ -2,11 +2,12 @@ from django.conf.urls import patterns, url
|
||||
|
||||
from .views import (
|
||||
SetupWorkflowCreateView, SetupWorkflowDeleteView, SetupWorkflowEditView,
|
||||
SetupWorkflowListView, SetupWorkflowStateListView,
|
||||
SetupWorkflowStateCreateView, SetupWorkflowStateEditView,
|
||||
SetupWorkflowTransitionListView, SetupWorkflowTransitionCreateView,
|
||||
SetupWorkflowTransitionEditView, DocumentWorkflowInstanceListView,
|
||||
WorkflowInstanceDetailView, WorkflowInstanceTransitionView
|
||||
SetupWorkflowListView, SetupWorkflowStateCreateView,
|
||||
SetupWorkflowStateDeleteView, SetupWorkflowStateEditView,
|
||||
SetupWorkflowStateListView, SetupWorkflowTransitionListView,
|
||||
SetupWorkflowTransitionCreateView, SetupWorkflowTransitionDeleteView,
|
||||
SetupWorkflowTransitionEditView, WorkflowInstanceDetailView,
|
||||
WorkflowInstanceTransitionView, DocumentWorkflowInstanceListView
|
||||
)
|
||||
|
||||
urlpatterns = patterns('',
|
||||
@@ -14,13 +15,15 @@ urlpatterns = patterns('',
|
||||
url(r'^setup/create/$', SetupWorkflowCreateView.as_view(), name='setup_workflow_create'),
|
||||
url(r'^setup/(?P<pk>\d+)/edit/$', SetupWorkflowEditView.as_view(), name='setup_workflow_edit'),
|
||||
url(r'^setup/(?P<pk>\d+)/delete/$', SetupWorkflowDeleteView.as_view(), name='setup_workflow_delete'),
|
||||
|
||||
url(r'^setup/(?P<pk>\d+)/states/$', SetupWorkflowStateListView.as_view(), name='setup_workflow_states'),
|
||||
url(r'^setup/(?P<pk>\d+)/states/create/$', SetupWorkflowStateCreateView.as_view(), name='setup_workflow_state_create'),
|
||||
|
||||
url(r'^setup/workflow/state/(?P<pk>\d+)/delete/$', SetupWorkflowStateDeleteView.as_view(), name='setup_workflow_state_delete'),
|
||||
url(r'^setup/workflow/state/(?P<pk>\d+)/edit/$', SetupWorkflowStateEditView.as_view(), name='setup_workflow_state_edit'),
|
||||
|
||||
url(r'^setup/(?P<pk>\d+)/transitions/$', SetupWorkflowTransitionListView.as_view(), name='setup_workflow_transitions'),
|
||||
url(r'^setup/(?P<pk>\d+)/transitions/create/$', SetupWorkflowTransitionCreateView.as_view(), name='setup_workflow_transition_create'),
|
||||
url(r'^setup/workflow/transitions/(?P<pk>\d+)/delete/$', SetupWorkflowTransitionDeleteView.as_view(), name='setup_workflow_transition_delete'),
|
||||
url(r'^setup/workflow/transitions/(?P<pk>\d+)/edit/$', SetupWorkflowTransitionEditView.as_view(), name='setup_workflow_transition_edit'),
|
||||
|
||||
url(r'^document/(?P<pk>\d+)/workflows/$', DocumentWorkflowInstanceListView.as_view(), name='document_workflow_instance_list'),
|
||||
@@ -31,5 +34,3 @@ urlpatterns = patterns('',
|
||||
urlpatterns += patterns('document_states.views',
|
||||
url(r'^setup/(?P<pk>\d+)/document_types/$', 'setup_workflow_document_types', name='setup_workflow_document_types'),
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -263,6 +263,30 @@ class SetupWorkflowStateCreateView(SingleObjectCreateView):
|
||||
return super(SetupWorkflowStateCreateView, self).form_valid(form)
|
||||
|
||||
|
||||
class SetupWorkflowStateDeleteView(SingleObjectDeleteView):
|
||||
model = WorkflowState
|
||||
view_permission = PERMISSION_WORKFLOW_DELETE
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(SetupWorkflowStateDeleteView, self).get_context_data(**kwargs)
|
||||
|
||||
context.update(
|
||||
{
|
||||
'object': self.get_object().workflow,
|
||||
'workflow_instance': self.get_object(),
|
||||
'navigation_object_list': [
|
||||
{'object': 'object'},
|
||||
{'object': 'workflow_instance'}
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse('document_states:setup_workflow_States', args=[self.get_object().workflow.pk])
|
||||
|
||||
|
||||
class SetupWorkflowStateEditView(SingleObjectEditView):
|
||||
form_class = WorkflowStateForm
|
||||
model = WorkflowState
|
||||
@@ -366,6 +390,30 @@ class SetupWorkflowTransitionCreateView(SingleObjectCreateView):
|
||||
return HttpResponseRedirect(self.get_success_url())
|
||||
|
||||
|
||||
class SetupWorkflowTransitionDeleteView(SingleObjectDeleteView):
|
||||
model = WorkflowTransition
|
||||
view_permission = PERMISSION_WORKFLOW_DELETE
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(SetupWorkflowTransitionDeleteView, self).get_context_data(**kwargs)
|
||||
|
||||
context.update(
|
||||
{
|
||||
'object': self.get_object().workflow,
|
||||
'workflow_instance': self.get_object(),
|
||||
'navigation_object_list': [
|
||||
{'object': 'object'},
|
||||
{'object': 'workflow_instance'}
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse('document_states:setup_workflow_transitions', args=[self.get_object().workflow.pk])
|
||||
|
||||
|
||||
class SetupWorkflowTransitionEditView(SingleObjectEditView):
|
||||
form_class = WorkflowTransitionForm
|
||||
model = WorkflowTransition
|
||||
|
||||
Reference in New Issue
Block a user