0001-formdata-add-substition-variables-for-submission-dat.patch
help/fr/misc-substvars.page | ||
---|---|---|
219 | 219 |
</table> |
220 | 220 |
</section> |
221 | 221 | |
222 |
<section id="submission-info"> |
|
223 |
<title>Informations sur la saisie</title> |
|
224 | ||
225 |
<p> |
|
226 |
Les données contiennent aussi des informations sur le contexte de saisie de |
|
227 |
la demande. |
|
228 |
</p> |
|
229 | ||
230 |
<table shade="rows"> |
|
231 |
<tr> |
|
232 |
<td><p><code>form_submission_backoffice</code></p></td> |
|
233 |
<td><p>Vrai si la saisie a eu lui depuis le backoffice</p></td> |
|
234 |
</tr> |
|
235 |
<tr> |
|
236 |
<td><p><code>form_submission_channel</code></p></td> |
|
237 |
<td><p>Identifiant du canal de saisie (ex: mail)</p></td> |
|
238 |
</tr> |
|
239 |
<tr> |
|
240 |
<td><p><code>form_submission_channel_label</code></p></td> |
|
241 |
<td><p>Libellé du canal de saisie (ex: Courrier)</p></td> |
|
242 |
</tr> |
|
243 |
</table> |
|
244 | ||
245 |
<p> |
|
246 |
Si d'autres informations ont été fournies sur le contexte de la saisie |
|
247 |
elles sont disponibles dans des variables de la forme |
|
248 |
<code>form_submission_context_<var>foobar</var></code>. |
|
249 |
</p> |
|
250 | ||
251 |
</section> |
|
252 | ||
222 | 253 |
</section> |
223 | 254 | |
224 | 255 |
<section id="session-variables"> |
tests/test_formdata.py | ||
---|---|---|
76 | 76 |
assert substvars.get('form_number') == 'bar' |
77 | 77 |
assert substvars.get('form_number_raw') == str(formdata.id) |
78 | 78 | |
79 |
def test_submission_context(pub): |
|
80 |
formdef.data_class().wipe() |
|
81 |
formdata = formdef.data_class()() |
|
82 |
formdata.backoffice_submission = True |
|
83 |
formdata.submission_channel = 'mail' |
|
84 |
formdata.submission_context = { |
|
85 |
'mail_url': 'http://www.example.com/test.pdf', |
|
86 |
} |
|
87 |
substvars = formdata.get_substitution_variables() |
|
88 |
assert substvars.get('form_submission_backoffice') is True |
|
89 |
assert substvars.get('form_submission_channel') == 'mail' |
|
90 |
assert substvars.get('form_submission_channel_label') == 'Mail' |
|
91 |
assert substvars.get('form_submission_context_mail_url') == 'http://www.example.com/test.pdf' |
|
92 | ||
93 |
formdata = formdef.data_class()() |
|
94 |
substvars = formdata.get_substitution_variables() |
|
95 |
assert substvars.get('form_submission_backoffice') is False |
|
96 |
assert substvars.get('form_submission_channel') is None |
|
97 |
assert substvars.get('form_submission_channel_label') == 'Web' |
|
98 | ||
79 | 99 |
def test_just_created(pub): |
80 | 100 |
formdef.data_class().wipe() |
81 | 101 |
formdata = formdef.data_class()() |
wcs/formdata.py | ||
---|---|---|
409 | 409 |
if self.tracking_code: |
410 | 410 |
d['form_tracking_code'] = self.tracking_code |
411 | 411 | |
412 |
d['form_submission_backoffice'] = self.backoffice_submission |
|
413 |
d['form_submission_channel'] = self.submission_channel |
|
414 |
d['form_submission_channel_label'] = self.get_submission_channel_label() |
|
415 |
if self.submission_context: |
|
416 |
d['form_submission_context'] = self.submission_context |
|
417 | ||
412 | 418 |
# formdef and category variables |
413 | 419 |
d.update(self.formdef.get_substitution_variables(minimal=minimal)) |
414 | 420 | |
415 |
- |