misc: add early support for form_tracking_code (#28749)

This commit is contained in:
Frédéric Péters 2018-12-07 12:10:00 +01:00
parent 1e38c3e8c0
commit c668d16268
2 changed files with 19 additions and 0 deletions

View File

@ -1602,6 +1602,23 @@ def test_form_invalid_tracking_code(pub):
assert resp.location == 'http://example.net/code/%s/load' % code.id
resp = resp.follow(status=404)
def test_form_tracking_code_as_variable(pub):
formdef = create_formdef()
formdef.fields = [fields.PageField(id='0', label='1st page', type='page'),
fields.StringField(id='1', label='string'),
fields.PageField(id='2', label='2nd page', type='page'),
fields.CommentField(type='comment', id='3',
label='!{{ form_tracking_code }}!')]
formdef.enable_tracking_codes = True
formdef.store()
formdef.data_class().wipe()
resp = get_app(pub).get('/test/')
resp.form['f1'] = 'foobar'
resp = resp.form.submit('submit')
tracking_code = get_displayed_tracking_code(resp)
assert tracking_code is not None
assert '!%s!' % tracking_code in resp.body
def test_form_draft_with_file(pub):
user = create_user(pub)
formdef = create_formdef()

View File

@ -684,6 +684,8 @@ class FormData(StorableObject):
if self.tracking_code:
d['form_tracking_code'] = self.tracking_code
elif not self.status and self.data and 'future_tracking_code' in self.data:
d['form_tracking_code'] = self.data['future_tracking_code']
d['form_submission_backoffice'] = self.backoffice_submission
d['form_submission_channel'] = self.submission_channel