tracking code: make it possible for submitter to post to workflow form
This commit is contained in:
parent
c8f81e7aee
commit
01a4b964aa
|
@ -6,6 +6,7 @@ from wcs.formdef import FormDef
|
|||
from wcs.categories import Category
|
||||
from wcs.tracking_code import TrackingCode
|
||||
from wcs import fields
|
||||
from wcs.sessions import BasicSession
|
||||
|
||||
from utilities import get_app, login, create_temporary_pub, emails
|
||||
|
||||
|
@ -291,7 +292,8 @@ def test_form_tracking_code():
|
|||
formdata_id = formdef.data_class().select()[0].id
|
||||
|
||||
# check we can still go back to it
|
||||
resp = get_app(pub).get('/')
|
||||
app = get_app(pub)
|
||||
resp = app.get('/')
|
||||
resp.forms[0]['code'] = tracking_code
|
||||
resp = resp.forms[0].submit()
|
||||
assert resp.location == 'http://example.net/code/%s/load' % tracking_code
|
||||
|
@ -300,6 +302,12 @@ def test_form_tracking_code():
|
|||
resp = resp.follow()
|
||||
resp = resp.follow()
|
||||
assert 'form_comment' in resp.body # makes sure user is treated as submitter
|
||||
resp.forms[0]['comment'] = 'hello world'
|
||||
session_id = app.cookies.values()[0].strip('"')
|
||||
session = BasicSession.get(session_id)
|
||||
resp.forms[0]['captcha$q'] = session.get_captcha_token(resp.forms[0]['captcha$token'].value)['answer']
|
||||
resp = resp.forms[0].submit()
|
||||
assert formdef.data_class().get(formdata_id).evolution[-1].comment == 'hello world'
|
||||
|
||||
def test_form_tracking_code_email():
|
||||
formdef = create_formdef()
|
||||
|
|
|
@ -579,6 +579,8 @@ class WorkflowStatus(object):
|
|||
break
|
||||
else:
|
||||
continue
|
||||
if user is None:
|
||||
continue
|
||||
role = get_role_translation(filled, role)
|
||||
if role in (user.roles or []):
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue