misc: add early support for form_tracking_code (#28749)
This commit is contained in:
parent
1e38c3e8c0
commit
c668d16268
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue