0001-admin-give-a-404-on-workflow-variables-page-when-the.patch
tests/test_forms_admin_pages.py | ||
---|---|---|
648 | 648 |
create_superuser(pub) |
649 | 649 |
create_role() |
650 | 650 | |
651 |
FormDef.wipe() |
|
652 |
formdef = FormDef() |
|
653 |
formdef.name = 'form title' |
|
654 |
formdef.fields = [] |
|
655 |
formdef.store() |
|
656 | ||
657 |
app = login(get_app(pub)) |
|
658 |
resp = app.get('/backoffice/forms/1/') |
|
659 |
# check it's not visible |
|
660 |
assert '"workflow-variables"' not in resp |
|
661 |
# check it doesn't crash anyway |
|
662 |
resp = app.get('/backoffice/forms/1/workflow-variables', status=404) |
|
663 | ||
651 | 664 |
Workflow.wipe() |
652 | 665 |
workflow = Workflow(name='Workflow One') |
653 | 666 |
from wcs.workflows import WorkflowVariablesFieldsFormDef |
... | ... | |
655 | 668 |
workflow.variables_formdef.fields.append( |
656 | 669 |
fields.StringField(id='1', varname='test', label='Test', type='string')) |
657 | 670 |
workflow.store() |
658 | ||
659 |
FormDef.wipe() |
|
660 |
formdef = FormDef() |
|
661 |
formdef.name = 'form title' |
|
662 |
formdef.fields = [] |
|
663 | 671 |
formdef.workflow_id = workflow.id |
664 | 672 |
formdef.store() |
665 | 673 |
wcs/admin/forms.py | ||
---|---|---|
30 | 30 | |
31 | 31 |
from wcs.qommon import _, N_, force_str |
32 | 32 |
from wcs.qommon import misc |
33 |
from wcs.qommon.errors import *
|
|
33 |
from wcs.qommon.errors import TraversalError
|
|
34 | 34 |
from wcs.qommon.form import * |
35 | 35 |
from wcs.qommon.storage import Equal, NotEqual, Null |
36 | 36 |
from wcs.qommon.backoffice.menu import html_top |
... | ... | |
1463 | 1463 |
return redirect('.') |
1464 | 1464 | |
1465 | 1465 |
def workflow_variables(self): |
1466 |
if not self.formdef.workflow.variables_formdef: |
|
1467 |
raise TraversalError() |
|
1466 | 1468 |
self.html_top(title=_('Options')) |
1467 | 1469 | |
1468 | 1470 |
form = Form(enctype='multipart/form-data') |
1469 |
- |