tracking code: make it possible for submitter to post to workflow form

This commit is contained in:
Frédéric Péters 2015-02-24 17:07:18 +01:00
parent c8f81e7aee
commit 01a4b964aa
2 changed files with 11 additions and 1 deletions

View File

@ -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()

View File

@ -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