Add workflow states list view

This commit is contained in:
Roberto Rosario
2012-03-16 02:06:24 -04:00
parent 89aeb8ad7c
commit a3822a1836
4 changed files with 21 additions and 6 deletions

View File

@@ -18,13 +18,14 @@ setup_workflow_list_link = {'text': _(u'workflow list'), 'view': 'setup_workflow
setup_workflow_create_link = {'text': _(u'create new'), 'view': 'setup_workflow_create', 'famfam': 'chart_organisation_add', 'permissions': [PERMISSION_WORKFLOW_SETUP_CREATE]}
setup_workflow_edit_link = {'text': _(u'edit'), 'view': 'setup_workflow_edit', 'args': 'object.pk', 'famfam': 'chart_organisation', 'permissions': [PERMISSION_WORKFLOW_SETUP_EDIT]}
setup_workflow_delete_link = {'text': _(u'delete'), 'view': 'setup_workflow_delete', 'args': 'object.pk', 'famfam': 'chart_organisation_delete', 'permissions': [PERMISSION_WORKFLOW_SETUP_DELETE]}
setup_workflow_states_list_link = {'text': _(u'states'), 'view': 'setup_workflow_states_list', 'args': 'object.pk', 'famfam': 'transmit_go', 'permissions': [PERMISSION_WORKFLOW_SETUP_EDIT]}
setup_state_list_link = {'text': _(u'state list'), 'view': 'setup_state_list', 'famfam': 'transmit', 'permissions': [PERMISSION_STATE_SETUP_VIEW]}
setup_state_create_link = {'text': _(u'create new'), 'view': 'setup_state_create', 'famfam': 'transmit_add', 'permissions': [PERMISSION_STATE_SETUP_CREATE]}
setup_state_edit_link = {'text': _(u'edit'), 'view': 'setup_state_edit', 'args': 'object.pk', 'famfam': 'transmit_edit', 'permissions': [PERMISSION_STATE_SETUP_EDIT]}
setup_state_delete_link = {'text': _(u'delete'), 'view': 'setup_state_delete', 'args': 'object.pk', 'famfam': 'transmit_delete', 'permissions': [PERMISSION_STATE_SETUP_DELETE]}
register_links(Workflow, [setup_workflow_edit_link, setup_workflow_delete_link])
register_links(Workflow, [setup_workflow_states_list_link, setup_workflow_edit_link, setup_workflow_delete_link])
register_links([Workflow, State, 'setup_workflow_list', 'setup_workflow_create', 'setup_state_list'], [setup_workflow_list_link], menu_name=u'form_header')
register_links([Workflow, 'setup_workflow_list', 'setup_workflow_create'], [setup_workflow_create_link], menu_name=u'secondary_menu')

View File

@@ -62,8 +62,8 @@ class Transition(models.Model):
class WorkflowState(models.Model):
workflow = models.ForeignKey(Workflow, related_name='workflow_state_workflow', verbose_name=_(u'workflow'))
state = models.ForeignKey(State, related_name='workflow_state_state', verbose_name=_(u'state'))
workflow = models.ForeignKey(Workflow, verbose_name=_(u'workflow'))
state = models.ForeignKey(State, verbose_name=_(u'state'))
description = models.TextField(blank=True, verbose_name=_(u'description'))
def __unicode__(self):

View File

@@ -5,6 +5,7 @@ urlpatterns = patterns('workflows.views',
url(r'^setup/workflow/create/$', 'setup_workflow_create', (), 'setup_workflow_create'),
url(r'^setup/workflow/(?P<workflow_pk>\d+)/edit/$', 'setup_workflow_edit', (), 'setup_workflow_edit'),
url(r'^setup/workflow/(?P<workflow_pk>\d+)/delete/$', 'setup_workflow_delete', (), 'setup_workflow_delete'),
url(r'^setup/workflow/(?P<workflow_pk>\d+)/state/list/$', 'setup_workflow_states_list', (), 'setup_workflow_states_list'),
url(r'^setup/state/list/$', 'setup_state_list', (), 'setup_state_list'),
url(r'^setup/state/create/$', 'setup_state_create', (), 'setup_state_create'),

View File

@@ -38,8 +38,6 @@ def setup_workflow_list(request):
'object_list': Workflow.objects.all(),
'title': _(u'workflows'),
'hide_link': True,
#'list_object_variable_name': 'source',
#'source_type': source_type,
'extra_columns': [
{'name': _(u'Initial state'), 'attribute': encapsulate(lambda workflow: workflow.initial_state or _(u'None'))},
],
@@ -52,7 +50,6 @@ def setup_workflow_list(request):
def setup_workflow_create(request):
Permission.objects.check_permissions(request.user, [PERMISSION_WORKFLOW_SETUP_CREATE])
redirect_url = reverse('setup_workflow_list')
#previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', redirect_url)))
if request.method == 'POST':
form = WorkflowSetupForm(request.POST)
@@ -142,6 +139,22 @@ def setup_workflow_delete(request, workflow_pk=None, workflow_pk_list=None):
return render_to_response('generic_confirm.html', context,
context_instance=RequestContext(request))
def setup_workflow_states_list(request, workflow_pk):
Permission.objects.check_permissions(request.user, [PERMISSION_WORKFLOW_SETUP_EDIT])
workflow = get_object_or_404(Workflow, pk=workflow_pk)
context = {
'object_list': workflow.workflowstate_set.all(),
'title': _(u'workflows'),
'hide_link': True,
'object': workflow,
}
return render_to_response('generic_list.html', context,
context_instance=RequestContext(request))
# States
def setup_state_list(request):
Permission.objects.check_permissions(request.user, [PERMISSION_STATE_SETUP_VIEW])