3238 |
3238 |
formdata = formdef.data_class().get(formdata.id)
|
3239 |
3239 |
assert formdata.data['bo1'] is None
|
3240 |
3240 |
|
|
3241 |
def test_set_backoffice_field_immediate_use(http_requests, two_pubs):
|
|
3242 |
Workflow.wipe()
|
|
3243 |
FormDef.wipe()
|
|
3244 |
wf = Workflow(name='xxx')
|
|
3245 |
wf.backoffice_fields_formdef = WorkflowBackofficeFieldsFormDef(wf)
|
|
3246 |
wf.backoffice_fields_formdef.fields = [
|
|
3247 |
StringField(id='bo1', label='1st backoffice field',
|
|
3248 |
type='string', varname='backoffice_blah'),
|
|
3249 |
StringField(id='bo2', label='2nd backoffice field',
|
|
3250 |
type='string', varname='backoffice_barr'),
|
|
3251 |
]
|
|
3252 |
st1 = wf.add_status('Status1')
|
|
3253 |
wf.store()
|
|
3254 |
|
|
3255 |
formdef = FormDef()
|
|
3256 |
formdef.name = 'baz'
|
|
3257 |
formdef.fields = [
|
|
3258 |
StringField(id='00', label='String', type='string', varname='string'),
|
|
3259 |
]
|
|
3260 |
formdef.workflow_id = wf.id
|
|
3261 |
formdef.store()
|
|
3262 |
|
|
3263 |
formdata = formdef.data_class()()
|
|
3264 |
formdata.data = {'00': 'HELLO'}
|
|
3265 |
formdata.just_created()
|
|
3266 |
formdata.store()
|
|
3267 |
item = SetBackofficeFieldsWorkflowStatusItem()
|
|
3268 |
item.parent = st1
|
|
3269 |
|
|
3270 |
item.fields = [
|
|
3271 |
{'field_id': 'bo1', 'value': '{{form_var_string}}'},
|
|
3272 |
]
|
|
3273 |
two_pubs.substitutions.reset()
|
|
3274 |
two_pubs.substitutions.feed(formdata)
|
|
3275 |
item.perform(formdata)
|
|
3276 |
formdata = formdef.data_class().get(formdata.id)
|
|
3277 |
assert formdata.data.get('bo1') == 'HELLO'
|
|
3278 |
|
|
3279 |
item.fields = [
|
|
3280 |
{'field_id': 'bo1', 'value': 'WORLD'},
|
|
3281 |
]
|
|
3282 |
two_pubs.substitutions.reset()
|
|
3283 |
two_pubs.substitutions.feed(formdata)
|
|
3284 |
item.perform(formdata)
|
|
3285 |
formdata = formdef.data_class().get(formdata.id)
|
|
3286 |
assert formdata.data.get('bo1') == 'WORLD'
|
|
3287 |
|
|
3288 |
item.fields = [
|
|
3289 |
{'field_id': 'bo1', 'value': 'X{{form_var_string}}X'},
|
|
3290 |
{'field_id': 'bo2', 'value': "Y{{form_var_backoffice_blah}}Y"},
|
|
3291 |
]
|
|
3292 |
two_pubs.substitutions.reset()
|
|
3293 |
two_pubs.substitutions.feed(formdata)
|
|
3294 |
item.perform(formdata)
|
|
3295 |
formdata = formdef.data_class().get(formdata.id)
|
|
3296 |
assert formdata.data.get('bo1') == 'XHELLOX'
|
|
3297 |
assert formdata.data.get('bo2') == 'YXHELLOXY'
|
|
3298 |
|
3241 |
3299 |
def test_redirect_to_url(pub):
|
3242 |
3300 |
formdef = FormDef()
|
3243 |
3301 |
formdef.name = 'baz'
|