41 |
41 |
from wcs.workflows import (Workflow, DisplayMessageWorkflowStatusItem,
|
42 |
42 |
WorkflowCriticalityLevel, WorkflowBackofficeFieldsFormDef,
|
43 |
43 |
CommentableWorkflowStatusItem)
|
|
44 |
from wcs.wf.backoffice_fields import SetBackofficeFieldsWorkflowStatusItem
|
44 |
45 |
from wcs.wf.export_to_model import ExportToModel
|
45 |
46 |
from wcs.wf.jump import JumpWorkflowStatusItem
|
46 |
47 |
from wcs.wf.register_comment import RegisterCommenterWorkflowStatusItem
|
... | ... | |
3142 |
3143 |
workflow = Workflow.get(workflow.id)
|
3143 |
3144 |
assert workflow.possible_status[0].items[0].fields == [{'field_id': first_field_id, 'value': 'Hello'}]
|
3144 |
3145 |
|
|
3146 |
def test_workflows_edit_backoffice_table_fields(pub):
|
|
3147 |
create_superuser(pub)
|
|
3148 |
create_role()
|
|
3149 |
|
|
3150 |
Workflow.wipe()
|
|
3151 |
workflow = Workflow(name='test')
|
|
3152 |
workflow.backoffice_fields_formdef = WorkflowBackofficeFieldsFormDef(workflow)
|
|
3153 |
workflow.backoffice_fields_formdef.fields = [
|
|
3154 |
fields.TableField(
|
|
3155 |
id='bo0', label='bo table field',
|
|
3156 |
type='table', varname='backoffice_table',
|
|
3157 |
rows=['row1', 'row2'], columns=['col1', 'col2']),
|
|
3158 |
]
|
|
3159 |
st1 = workflow.add_status('status1', 'st1')
|
|
3160 |
setbo = SetBackofficeFieldsWorkflowStatusItem()
|
|
3161 |
setbo.parent = st1
|
|
3162 |
setbo.fields = [
|
|
3163 |
{'field_id': 'bo0', 'value': "=[['a1', 'a2'], ['b1', 'b2']]"},
|
|
3164 |
]
|
|
3165 |
st1.items.append(setbo)
|
|
3166 |
workflow.store()
|
|
3167 |
|
|
3168 |
formdef = FormDef()
|
|
3169 |
formdef.name = 'form title'
|
|
3170 |
formdef.workflow_id = workflow.id
|
|
3171 |
formdef.fields = []
|
|
3172 |
formdef.store()
|
|
3173 |
|
|
3174 |
app = login(get_app(pub))
|
|
3175 |
resp = app.get('/backoffice/workflows/1/')
|
|
3176 |
resp = resp.click('status1')
|
|
3177 |
resp = resp.click('Backoffice Data')
|
|
3178 |
|
|
3179 |
# check backoffice fields
|
|
3180 |
value = "[['a1', 'a2'], ['b1', 'b2']]"
|
|
3181 |
assert [x[0] for x
|
|
3182 |
in resp.form['fields$element0$field_id'].options
|
|
3183 |
if x[1] == True][0] == 'bo0' # selected var
|
|
3184 |
assert [x[0] for x
|
|
3185 |
in resp.form['fields$element0$value$type'].options
|
|
3186 |
if x[1] == True][0] == 'python' # selected type
|
|
3187 |
assert resp.form['fields$element0$value$value_python'].value == value
|
|
3188 |
|
|
3189 |
# assert python expression is required for table fields
|
|
3190 |
resp.form['fields$element0$value$value_python'].value = ''
|
|
3191 |
resp = resp.form.submit('submit')
|
|
3192 |
assert 'There were errors processing your form' in resp.text
|
|
3193 |
assert 'Array fields require python expression' not in resp.text
|
|
3194 |
|
|
3195 |
resp.form['fields$element0$value$type'] = 'text'
|
|
3196 |
resp.form['fields$element0$value$value_text'].value = value
|
|
3197 |
resp = resp.form.submit('submit')
|
|
3198 |
assert 'There were errors processing your form' in resp.text
|
|
3199 |
assert 'Array fields require python expression' in resp.text
|
|
3200 |
|
|
3201 |
resp.form['fields$element0$value$type'] = 'template'
|
|
3202 |
resp.form['fields$element0$value$value_template'].value = value
|
|
3203 |
resp = resp.form.submit('submit')
|
|
3204 |
assert 'There were errors processing your form' in resp.text
|
|
3205 |
assert 'Array fields require python expression' in resp.text
|
|
3206 |
|
|
3207 |
resp.form['fields$element0$value$type'] = 'python'
|
|
3208 |
resp.form['fields$element0$value$value_python'].value = value
|
|
3209 |
resp = resp.form.submit('submit')
|
|
3210 |
assert 'There were errors processing your form' not in resp.text
|
|
3211 |
|
3145 |
3212 |
def test_workflows_functions(pub):
|
3146 |
3213 |
create_superuser(pub)
|
3147 |
3214 |
create_role()
|