use formdata.get_visible_status() to display list of forms (fix #1788)

This commit is contained in:
Thomas NOËL 2012-10-18 10:19:56 +02:00
parent 51c19b32b3
commit 5ea09820de
1 changed files with 14 additions and 14 deletions

View File

@ -84,22 +84,22 @@ class FormsRootDirectory(wcs.forms.root.RootDirectory):
f.formdef.url_name, f.id, f.formdef.name)
'</ul>'
# with workflows
forms_by_status_name = {}
workflows = Workflow.select(order_by = 'name')
for workflow in workflows:
# XXX: seperate endpoints from non-endpoints
for status in workflow.possible_status:
fms = [x for x in user_forms if x.status == 'wf-%s' % status.id and \
x.formdef and x.formdef.workflow_id == workflow.id]
if not fms:
continue
if status.name in forms_by_status_name:
forms_by_status_name[status.name] += fms
else:
forms_by_status_name[status.name] = fms
for f in user_forms:
status = f.get_visible_status()
if status:
status_name = status.name
else:
status_name = None
if status_name in forms_by_status_name:
forms_by_status_name[status_name].append(f)
else:
forms_by_status_name[status_name] = [f]
for status_name in forms_by_status_name:
'<h4>%s</h4>' % _('My forms with status "%s"') % status_name
if status_name:
'<h4>%s</h4>' % _('My forms with status "%s"') % status_name
else:
'<h4>%s</h4>' % _('My forms with an unknown status') % status_name
'<ul>'
forms_by_status_name[status_name].sort(lambda x,y: cmp(x.receipt_time, y.receipt_time))
for f in forms_by_status_name[status_name]: