0001-misc-add-early-support-for-form_tracking_code-28749.patch
tests/test_form_pages.py | ||
---|---|---|
1602 | 1602 |
assert resp.location == 'http://example.net/code/%s/load' % code.id |
1603 | 1603 |
resp = resp.follow(status=404) |
1604 | 1604 | |
1605 |
def test_form_tracking_code_as_variable(pub): |
|
1606 |
formdef = create_formdef() |
|
1607 |
formdef.fields = [fields.PageField(id='0', label='1st page', type='page'), |
|
1608 |
fields.StringField(id='1', label='string'), |
|
1609 |
fields.PageField(id='2', label='2nd page', type='page'), |
|
1610 |
fields.CommentField(type='comment', id='3', |
|
1611 |
label='!{{ form_tracking_code }}!')] |
|
1612 |
formdef.enable_tracking_codes = True |
|
1613 |
formdef.store() |
|
1614 |
formdef.data_class().wipe() |
|
1615 |
resp = get_app(pub).get('/test/') |
|
1616 |
resp.form['f1'] = 'foobar' |
|
1617 |
resp = resp.form.submit('submit') |
|
1618 |
tracking_code = get_displayed_tracking_code(resp) |
|
1619 |
assert tracking_code is not None |
|
1620 |
assert '!%s!' % tracking_code in resp.body |
|
1621 | ||
1605 | 1622 |
def test_form_draft_with_file(pub): |
1606 | 1623 |
user = create_user(pub) |
1607 | 1624 |
formdef = create_formdef() |
wcs/formdata.py | ||
---|---|---|
684 | 684 | |
685 | 685 |
if self.tracking_code: |
686 | 686 |
d['form_tracking_code'] = self.tracking_code |
687 |
elif not self.status and self.data and 'future_tracking_code' in self.data: |
|
688 |
d['form_tracking_code'] = self.data['future_tracking_code'] |
|
687 | 689 | |
688 | 690 |
d['form_submission_backoffice'] = self.backoffice_submission |
689 | 691 |
d['form_submission_channel'] = self.submission_channel |
690 |
- |