0001-workflows-backoffice-fields-display-in-inspect-view-.patch
tests/test_backoffice_pages.py | ||
---|---|---|
5797 | 5797 |
'<li>file → =form_var_toto_file_raw</li>' |
5798 | 5798 |
'<li>#2 → =form_var_foobar_raw</li></ul>') in resp.text |
5799 | 5799 | |
5800 |
workflow.backoffice_fields_formdef = WorkflowBackofficeFieldsFormDef(workflow) |
|
5801 |
workflow.backoffice_fields_formdef.fields = [ |
|
5802 |
fields.StringField(id='bo1', label='Foo Bar 1', varname='foo_bar'), |
|
5803 |
fields.StringField(id='bo2', label='Foo Bar 2', varname='foo_bar'), |
|
5804 |
fields.StringField(id='bo3', label='Foo Bar 3', varname='foo_bar'), |
|
5805 |
] |
|
5806 |
setbo = SetBackofficeFieldsWorkflowStatusItem() |
|
5807 |
setbo.parent = st2 |
|
5808 |
setbo.fields = [ |
|
5809 |
{'field_id': 'bo1', 'value': 'go'}, |
|
5810 |
{'field_id': 'bo2', 'value': ''}, |
|
5811 |
{'field_id': 'bo3', 'value': None}, |
|
5812 |
{'field_id': 'unknown', 'value': 'foobar'}, |
|
5813 |
] |
|
5814 |
st2.items.append(setbo) |
|
5815 |
workflow.store() |
|
5816 |
resp = app.get('/backoffice/workflows/%s/inspect' % workflow.id) |
|
5817 |
assert ( |
|
5818 |
'<ul class="fields"><li>Foo Bar 1 → go</li>' |
|
5819 |
'<li>Foo Bar 2 → </li>' |
|
5820 |
'<li>Foo Bar 3 → None</li>' |
|
5821 |
'<li>#unknown → foobar</li></ul>') in resp.text |
|
5822 | ||
5800 | 5823 | |
5801 | 5824 |
def test_workflow_comment_required(pub): |
5802 | 5825 |
user = create_user(pub) |
wcs/wf/backoffice_fields.py | ||
---|---|---|
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 | 17 |
import xml.etree.ElementTree as ET |
18 |
from quixote.html import htmltext |
|
18 | 19 | |
19 | 20 |
from ..qommon import _, N_ |
20 | 21 |
from ..qommon.form import (WidgetListAsTable, CompositeWidget, SingleSelectWidget, |
... | ... | |
97 | 98 |
title=_('Fields Update'), value=self.fields, |
98 | 99 |
workflow=self.parent.parent) |
99 | 100 | |
101 |
def get_fields_parameter_view_value(self): |
|
102 |
result = [] |
|
103 |
for field in self.fields: |
|
104 |
try: |
|
105 |
formdef_field = [x for x in self.parent.parent.get_backoffice_fields() |
|
106 |
if x.id == field['field_id']][0] |
|
107 |
result.append(htmltext('<li>%s → %s</li>') % (formdef_field.label, field['value'])) |
|
108 |
except IndexError: |
|
109 |
result.append(htmltext('<li>#%s → %s</li>') % (field['field_id'], field['value'])) |
|
110 |
return htmltext('<ul class="fields">%s</ul>') % htmltext('').join(result) |
|
111 | ||
100 | 112 |
def perform(self, formdata): |
101 | 113 |
if not self.fields: |
102 | 114 |
return |
103 |
- |