Add workflow states and transition delete views

This commit is contained in:
Roberto Rosario
2015-01-17 02:09:07 -04:00
parent e79850124e
commit 348bcc69cf
4 changed files with 67 additions and 15 deletions

View File

@@ -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])

View File

@@ -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'}

View File

@@ -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'),
)

View File

@@ -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