6386 |
6386 |
assert emails.get('New form2 (test condition on action)')
|
6387 |
6387 |
|
6388 |
6388 |
|
|
6389 |
def test_user_global_action_along_form(pub):
|
|
6390 |
# check it's possible to click on a global action button even if there's a
|
|
6391 |
# form with required fields.
|
|
6392 |
user = create_user(pub)
|
|
6393 |
|
|
6394 |
workflow = Workflow.get_default_workflow()
|
|
6395 |
workflow.id = '2'
|
|
6396 |
action = workflow.add_global_action('FOOBAR')
|
|
6397 |
register_comment = action.append_item('register-comment')
|
|
6398 |
register_comment.comment = 'HELLO WORLD GLOBAL ACTION'
|
|
6399 |
jump = action.append_item('jump')
|
|
6400 |
jump.status = 'finished'
|
|
6401 |
trigger = action.triggers[0]
|
|
6402 |
trigger.roles = ['_submitter']
|
|
6403 |
|
|
6404 |
status = workflow.get_status('new')
|
|
6405 |
display_form = FormWorkflowStatusItem()
|
|
6406 |
display_form.id = '_x'
|
|
6407 |
display_form.by = ['_submitter']
|
|
6408 |
display_form.varname = 'xxx'
|
|
6409 |
display_form.formdef = WorkflowFormFieldsFormDef(item=display_form)
|
|
6410 |
display_form.formdef.fields.append(fields.StringField(id='1', label='blah',
|
|
6411 |
type='string', required=True))
|
|
6412 |
status.items.append(display_form)
|
|
6413 |
display_form.parent = status
|
|
6414 |
|
|
6415 |
workflow.store()
|
|
6416 |
|
|
6417 |
formdef = FormDef()
|
|
6418 |
formdef.name = 'test global action'
|
|
6419 |
formdef.fields = []
|
|
6420 |
formdef.workflow_id = workflow.id
|
|
6421 |
formdef.workflow_roles = {}
|
|
6422 |
formdef.store()
|
|
6423 |
|
|
6424 |
formdef.data_class().wipe()
|
|
6425 |
|
|
6426 |
app = login(get_app(pub), username='foo', password='foo')
|
|
6427 |
resp = app.get(formdef.get_url())
|
|
6428 |
resp = resp.form.submit('submit')
|
|
6429 |
resp = resp.form.submit('submit')
|
|
6430 |
|
|
6431 |
assert formdef.data_class().count() == 1
|
|
6432 |
formdata = formdef.data_class().select()[0]
|
|
6433 |
|
|
6434 |
resp = app.get(formdata.get_url())
|
|
6435 |
assert resp.form['f1'].attrs['aria-required'] == 'true'
|
|
6436 |
assert 'button-action-1' in resp.form.fields
|
|
6437 |
resp = resp.form.submit('button-action-1')
|
|
6438 |
|
|
6439 |
resp = app.get(formdata.get_url())
|
|
6440 |
assert 'HELLO WORLD GLOBAL ACTION' in resp.text
|
|
6441 |
assert formdef.data_class().get(formdata.id).status == 'wf-finished'
|
|
6442 |
|
|
6443 |
|
6389 |
6444 |
def test_email_actions(pub, emails):
|
6390 |
6445 |
user = create_user(pub)
|
6391 |
6446 |
|