0001-formdef-new-digest_templates-field-45633.patch
tests/admin_pages/test_card.py | ||
---|---|---|
215 | 215 |
resp = resp.follow() |
216 | 216 |
assert_option_display(resp, 'Templates', 'Custom') |
217 | 217 |
carddef = CardDef.get(carddef.id) |
218 |
assert carddef.digest_template == 'X{{form_var_test}}Y' |
|
218 |
assert carddef.digest_templates['default'] == 'X{{form_var_test}}Y'
|
|
219 | 219 |
assert carddef.lateral_template is None |
220 | 220 |
assert carddef.submission_lateral_template is None |
221 | 221 |
assert 'Existing cards will be updated in the background.' in resp.text |
... | ... | |
226 | 226 |
resp = resp.form.submit().follow() |
227 | 227 |
assert_option_display(resp, 'Templates', 'Custom') |
228 | 228 |
carddef = CardDef.get(carddef.id) |
229 |
assert carddef.digest_template == 'X{{form_var_test}}Y' |
|
229 |
assert carddef.digest_templates['default'] == 'X{{form_var_test}}Y'
|
|
230 | 230 |
assert carddef.lateral_template == 'X{{form_var_test}}Y' |
231 | 231 |
assert carddef.submission_lateral_template == 'X{{form_var_test}}YZ' |
232 | 232 |
assert 'Existing cards will be updated in the background.' not in resp.text |
... | ... | |
241 | 241 |
carddef.fields = [ |
242 | 242 |
fields.StringField(id='1', label='Test', type='string', varname='foo'), |
243 | 243 |
] |
244 |
carddef.digest_template = 'X{{ form_var_foo }}Y'
|
|
244 |
carddef.digest_templates = {'default': 'X{{ form_var_foo }}Y'}
|
|
245 | 245 |
carddef.store() |
246 | 246 |
carddata = carddef.data_class()() |
247 | 247 |
carddata.data = {'1': 'bar'} |
... | ... | |
263 | 263 |
resp.form['digest_template'] = '' |
264 | 264 |
resp = resp.form.submit().follow() |
265 | 265 |
carddef = CardDef.get(carddef.id) |
266 |
assert carddef.digest_template is None |
|
266 |
assert carddef.digest_templates['default'] is None
|
|
267 | 267 |
assert 'Existing cards will be updated in the background.' in resp.text |
268 | 268 | |
269 | 269 |
# afterjobs are actually run synchronously during tests; we don't have |
270 | 270 |
# to wait to check the digest has been updated: |
271 | 271 |
assert carddef.data_class().get(carddata.id).digest == 'XbarY' |
272 | 272 | |
273 |
carddef.digest_template = '{{ form_var_foo }}'
|
|
273 |
carddef.digest_templates = {'default': '{{ form_var_foo }}'}
|
|
274 | 274 |
carddef.store() |
275 | 275 | |
276 | 276 |
# a formdef using the carddef as datasource |
... | ... | |
286 | 286 |
resp = resp.form.submit() |
287 | 287 |
assert 'Can not empty digest template: this card model is used as data source in some forms.' in resp.text |
288 | 288 |
carddef = CardDef.get(carddef.id) |
289 |
assert carddef.digest_template is not None |
|
289 |
assert carddef.digest_templates['default'] is not None
|
|
290 | 290 | |
291 | 291 |
# error: not stored, and no after jobs |
292 | 292 |
resp = app.get('/backoffice/cards/%s/' % carddef.id) |
... | ... | |
369 | 369 |
] |
370 | 370 |
carddef.backoffice_submission_roles = user.roles |
371 | 371 |
carddef.workflow_roles = {'_editor': user.roles[0]} |
372 |
carddef.digest_template = '{{ form_var_foo }}'
|
|
372 |
carddef.digest_templates = {'default': '{{ form_var_foo }}'}
|
|
373 | 373 |
carddef.store() |
374 | 374 |
carddef.data_class().wipe() |
375 | 375 |
tests/admin_pages/test_datasource.py | ||
---|---|---|
72 | 72 |
carddef = CardDef() |
73 | 73 |
carddef.name = 'foo' |
74 | 74 |
carddef.fields = [] |
75 |
carddef.digest_template = 'foo bar'
|
|
75 |
carddef.digest_templates = {'default': 'foo bar'}
|
|
76 | 76 |
carddef.store() |
77 | 77 | |
78 | 78 |
custom_view = pub.custom_view_class() |
tests/admin_pages/test_form.py | ||
---|---|---|
901 | 901 |
resp = resp.follow() |
902 | 902 |
assert_option_display(resp, 'Templates', 'Custom') |
903 | 903 |
formdef = FormDef.get(formdef.id) |
904 |
assert formdef.digest_template == 'X{{form_var_test}}Y' |
|
904 |
assert formdef.digest_templates['default'] == 'X{{form_var_test}}Y'
|
|
905 | 905 |
assert formdef.lateral_template is None |
906 | 906 |
assert formdef.submission_lateral_template is None |
907 | 907 | |
... | ... | |
916 | 916 |
resp = resp.form.submit().follow() |
917 | 917 |
assert_option_display(resp, 'Templates', 'Custom') |
918 | 918 |
formdef = FormDef.get(formdef.id) |
919 |
assert formdef.digest_template == 'X{{form_var_test}}Y' |
|
919 |
assert formdef.digest_templates['default'] == 'X{{form_var_test}}Y'
|
|
920 | 920 |
assert formdef.lateral_template == 'X{{form_var_test}}Y' |
921 | 921 |
assert formdef.submission_lateral_template == 'X{{form_var_test}}YZ' |
922 | 922 |
assert 'Existing forms will be updated in the background.' not in resp.text |
... | ... | |
1699 | 1699 |
(u'python', False, u'Python Expression'), |
1700 | 1700 |
] |
1701 | 1701 | |
1702 |
carddef.digest_template = 'plop'
|
|
1702 |
carddef.digest_templates = {'default': 'plop'}
|
|
1703 | 1703 |
carddef.store() |
1704 | 1704 | |
1705 | 1705 |
resp = app.get('/backoffice/forms/1/fields/1/') |
tests/api/test_carddef.py | ||
---|---|---|
84 | 84 |
carddef.name = 'test' |
85 | 85 |
carddef.fields = [fields.StringField(id='0', label='foobar', varname='foo')] |
86 | 86 |
carddef.workflow_roles = {'_viewer': role.id} |
87 |
carddef.digest_template = 'bla {{ form_var_foo }} xxx'
|
|
87 |
carddef.digest_templates = {'default': 'bla {{ form_var_foo }} xxx'}
|
|
88 | 88 |
carddef.store() |
89 | 89 | |
90 | 90 |
carddef.data_class().wipe() |
... | ... | |
177 | 177 |
local_user.roles = [role.id] |
178 | 178 |
local_user.store() |
179 | 179 | |
180 |
ApiAccess.wipe() |
|
180 | 181 |
access = ApiAccess() |
181 | 182 |
access.name = 'test' |
182 | 183 |
access.access_identifier = 'test' |
... | ... | |
218 | 219 |
] |
219 | 220 |
carddef.workflow_roles = {'_viewer': role.id} |
220 | 221 |
carddef.backoffice_submission_roles = [role.id] |
221 |
carddef.digest_template = 'bla {{ form_var_foo }} xxx'
|
|
222 |
carddef.digest_templates = {'default': 'bla {{ form_var_foo }} xxx'}
|
|
222 | 223 |
carddef.store() |
223 | 224 | |
224 | 225 |
carddef.data_class().wipe() |
... | ... | |
275 | 276 |
formdata.just_created() |
276 | 277 |
formdata.store() |
277 | 278 | |
279 |
ApiAccess.wipe() |
|
278 | 280 |
access = ApiAccess() |
279 | 281 |
access.name = 'test' |
280 | 282 |
access.access_identifier = 'test' |
... | ... | |
326 | 328 |
formdata.just_created() |
327 | 329 |
formdata.store() |
328 | 330 | |
331 |
ApiAccess.wipe() |
|
329 | 332 |
access = ApiAccess() |
330 | 333 |
access.name = 'test' |
331 | 334 |
access.access_identifier = 'test' |
... | ... | |
369 | 372 |
local_user.roles = [role.id] |
370 | 373 |
local_user.store() |
371 | 374 | |
375 |
ApiAccess.wipe() |
|
372 | 376 |
access = ApiAccess() |
373 | 377 |
access.name = 'test' |
374 | 378 |
access.access_identifier = 'test' |
tests/api/test_custom_view.py | ||
---|---|---|
78 | 78 |
carddef.name = 'test' |
79 | 79 |
carddef.fields = [fields.StringField(id='0', label='foobar', varname='foo')] |
80 | 80 |
carddef.workflow_roles = {'_viewer': role.id} |
81 |
carddef.digest_template = 'bla {{ form_var_foo }} xxx'
|
|
81 |
carddef.digest_templates = {'default': 'bla {{ form_var_foo }} xxx'}
|
|
82 | 82 |
carddef.geolocations = {'base': 'Location'} |
83 | 83 |
carddef.store() |
84 | 84 |
tests/api/test_formdata.py | ||
---|---|---|
109 | 109 |
fields.StringField(id='0', label='foobar', varname='foobar'), |
110 | 110 |
fields.StringField(id='1', label='foobar2', varname='foobar2'), |
111 | 111 |
] |
112 |
formdef.digest_template = 'plöp {{ form_var_foobar }} plÔp'
|
|
112 |
formdef.digest_templates = {'default': 'plöp {{ form_var_foobar }} plÔp'}
|
|
113 | 113 |
formdef.store() |
114 | 114 | |
115 | 115 |
data_class = formdef.data_class() |
... | ... | |
857 | 857 |
formdata.store() |
858 | 858 | |
859 | 859 |
# check normal API behaviour: get all data |
860 |
ApiAccess.wipe() |
|
860 | 861 |
access = ApiAccess() |
861 | 862 |
access.name = 'test' |
862 | 863 |
access.access_identifier = 'test' |
... | ... | |
1166 | 1167 |
app = get_app(pub) |
1167 | 1168 | |
1168 | 1169 |
if user == 'api-access': |
1170 |
ApiAccess.wipe() |
|
1169 | 1171 |
access = ApiAccess() |
1170 | 1172 |
access.name = 'test' |
1171 | 1173 |
access.access_identifier = 'test' |
tests/api/test_user.py | ||
---|---|---|
289 | 289 |
assert len(resp.json['data']) == 1 |
290 | 290 | |
291 | 291 |
# check digest is part of contents |
292 |
formdef.digest_template = 'XYZ'
|
|
292 |
formdef.digest_templates = {'default': 'XYZ'}
|
|
293 | 293 |
formdef.data_class().get(formdata.id).store() |
294 | 294 |
assert formdef.data_class().get(formdata.id).digest == 'XYZ' |
295 | 295 |
resp = get_app(pub).get(sign_uri('/api/user/forms', user=local_user)) |
tests/backoffice_pages/test_all.py | ||
---|---|---|
765 | 765 |
] |
766 | 766 |
carddef.backoffice_submission_roles = user.roles |
767 | 767 |
carddef.workflow_roles = {'_editor': user.roles[0]} |
768 |
carddef.digest_template = 'card {{form_var_foo}}'
|
|
768 |
carddef.digest_templates = {'default': 'card {{ form_var_foo }}'}
|
|
769 | 769 |
carddef.store() |
770 | 770 |
carddef.data_class().wipe() |
771 | 771 | |
... | ... | |
3056 | 3056 |
formdata = formdef.data_class().get( |
3057 | 3057 |
re.findall(r'data-link="(.*?)"', app.get('/backoffice/management/listing').text)[0].split('/')[-2] |
3058 | 3058 |
) |
3059 |
formdata.formdef.digest_template = 'digest of number <{{form_number}}>'
|
|
3059 |
formdata.formdef.digest_templates = {'default': 'digest of number <{{form_number}}>'}
|
|
3060 | 3060 |
formdata.store() |
3061 | 3061 |
assert formdata.get(formdata.id).digest |
3062 | 3062 |
resp = app.get('/backoffice/management/listing') |
... | ... | |
3522 | 3522 |
# check there's nothing in the sidebar |
3523 | 3523 |
assert '/user-pending-forms' not in resp.text |
3524 | 3524 | |
3525 |
number31.formdef.digest_template = 'digest of number {{form_number}}'
|
|
3525 |
number31.formdef.digest_templates = {'default': 'digest of number {{form_number}}'}
|
|
3526 | 3526 |
number31.user_id = user.id |
3527 | 3527 |
number31.store() |
3528 | 3528 |
resp = app.get('/backoffice/management/form-title/%s/' % number31.id) |
tests/backoffice_pages/test_carddata.py | ||
---|---|---|
213 | 213 |
] |
214 | 214 |
carddef.backoffice_submission_roles = user.roles |
215 | 215 |
carddef.workflow_roles = {'_editor': user.roles[0]} |
216 |
carddef.digest_template = 'card {{form_var_foo}}'
|
|
216 |
carddef.digest_templates = {'default': 'card {{ form_var_foo }}'}
|
|
217 | 217 |
carddef.store() |
218 | 218 |
carddef.data_class().wipe() |
219 | 219 | |
... | ... | |
519 | 519 |
carddef.backoffice_submission_roles = user.roles |
520 | 520 |
carddef.workflow_id = workflow.id |
521 | 521 |
carddef.workflow_roles = {'_editor': user.roles[0]} |
522 |
carddef.digest_template = 'card {{form_var_foo}}'
|
|
522 |
carddef.digest_templates = {'default': 'card {{ form_var_foo }}'}
|
|
523 | 523 |
carddef.store() |
524 | 524 |
carddef.data_class().wipe() |
525 | 525 | |
... | ... | |
550 | 550 |
] |
551 | 551 |
carddef.backoffice_submission_roles = user.roles |
552 | 552 |
carddef.workflow_roles = {'_editor': user.roles[0]} |
553 |
carddef.digest_template = 'card {{form_var_foo}}'
|
|
553 |
carddef.digest_templates = {'default': 'card {{ form_var_foo }}'}
|
|
554 | 554 |
carddef.store() |
555 | 555 |
carddef.data_class().wipe() |
556 | 556 |
tests/backoffice_pages/test_custom_view.py | ||
---|---|---|
767 | 767 |
fields.StringField(id='1', label='Test', type='string', varname='foo'), |
768 | 768 |
] |
769 | 769 |
carddef.backoffice_submission_roles = user.roles |
770 |
carddef.digest_template = '{{ form_var_foo }}'
|
|
770 |
carddef.digest_templates = {'default': '{{ form_var_foo }}'}
|
|
771 | 771 |
carddef.store() |
772 | 772 |
carddef.data_class().wipe() |
773 | 773 |
tests/form_pages/test_all.py | ||
---|---|---|
5312 | 5312 | |
5313 | 5313 |
carddef = CardDef() |
5314 | 5314 |
carddef.name = 'items' |
5315 |
carddef.digest_template = '{{form_var_name}}'
|
|
5315 |
carddef.digest_templates = {'default': '{{form_var_name}}'}
|
|
5316 | 5316 |
carddef.fields = [ |
5317 | 5317 |
fields.StringField(id='0', label='string', varname='name'), |
5318 | 5318 |
fields.StringField(id='1', label='string', varname='attr'), |
... | ... | |
5364 | 5364 |
CardDef.wipe() |
5365 | 5365 |
carddef = CardDef() |
5366 | 5366 |
carddef.name = 'items' |
5367 |
carddef.digest_template = '{{form_var_attr}}'
|
|
5367 |
carddef.digest_templates = {'default': '{{form_var_name}}'}
|
|
5368 | 5368 |
carddef.workflow_roles = {'_editor': user.roles[0]} |
5369 | 5369 |
carddef.fields = [ |
5370 | 5370 |
fields.ItemField(id='0', type='item', label='item', varname='item', items=['foo', 'bar', 'baz']), |
... | ... | |
5443 | 5443 |
CardDef.wipe() |
5444 | 5444 |
carddef = CardDef() |
5445 | 5445 |
carddef.name = 'items' |
5446 |
carddef.digest_template = '{{form_var_attr}}'
|
|
5446 |
carddef.digest_templates = {'default': '{{form_var_attr}}'}
|
|
5447 | 5447 |
carddef.workflow_roles = {'_editor': user.roles[0]} |
5448 | 5448 |
carddef.fields = [ |
5449 | 5449 |
fields.ItemField(id='0', type='item', label='item', varname='item', items=['foo', 'bar', 'baz']), |
... | ... | |
5557 | 5557 |
CardDef.wipe() |
5558 | 5558 |
carddef = CardDef() |
5559 | 5559 |
carddef.name = 'items' |
5560 |
carddef.digest_template = '{{form_var_name}}'
|
|
5560 |
carddef.digest_templates = {'default': '{{form_var_name}}'}
|
|
5561 | 5561 |
carddef.fields = [ |
5562 | 5562 |
fields.StringField(id='0', label='string', varname='name'), |
5563 | 5563 |
fields.StringField(id='1', label='string', varname='attr'), |
... | ... | |
6145 | 6145 | |
6146 | 6146 |
carddef = CardDef() |
6147 | 6147 |
carddef.name = 'items' |
6148 |
carddef.digest_template = '{{form_var_name}}'
|
|
6148 |
carddef.digest_templates = {'default': '{{form_var_name}}'}
|
|
6149 | 6149 |
carddef.fields = [ |
6150 | 6150 |
fields.StringField(id='0', label='string', varname='name'), |
6151 | 6151 |
fields.StringField(id='1', label='string', varname='attr'), |
... | ... | |
7992 | 7992 |
def test_backoffice_fields_set_from_live(pub): |
7993 | 7993 |
carddef = CardDef() |
7994 | 7994 |
carddef.name = 'items' |
7995 |
carddef.digest_template = '{{form_var_name}}'
|
|
7995 |
carddef.digest_templates = {'default': '{{form_var_name}}'}
|
|
7996 | 7996 |
carddef.fields = [ |
7997 | 7997 |
fields.StringField(id='0', label='string', varname='name'), |
7998 | 7998 |
fields.StringField(id='1', label='string', varname='attr'), |
tests/test_carddef.py | ||
---|---|---|
338 | 338 |
carddef.fields = [ |
339 | 339 |
StringField(id='1', label='Test', type='string', varname='foo'), |
340 | 340 |
] |
341 |
carddef.digest_template = '{{ form_var_foo }}'
|
|
341 |
carddef.digest_templates = {'default': '{{ form_var_foo }}'}
|
|
342 | 342 |
carddef.store() |
343 | 343 |
carddef.data_class().wipe() |
344 | 344 |
tests/test_formdata.py | ||
---|---|---|
934 | 934 |
CardDef.wipe() |
935 | 935 |
carddef = CardDef() |
936 | 936 |
carddef.name = 'items' |
937 |
carddef.digest_template = '{{form_var_name}}'
|
|
937 |
carddef.digest_templates = {'default': '{{form_var_name}}'}
|
|
938 | 938 |
carddef.fields = [ |
939 | 939 |
fields.StringField(id='0', label='string', varname='name'), |
940 | 940 |
fields.StringField(id='1', label='string', varname='attr'), |
... | ... | |
2304 | 2304 |
formdef.name = 'foobar' |
2305 | 2305 |
formdef.url_name = 'foobar' |
2306 | 2306 |
formdef.fields = [fields.DateField(id='0', label='date', varname='date')] |
2307 |
formdef.digest_template = 'plop {{ form_var_date }} plop'
|
|
2307 |
formdef.digest_templates = {'default': 'plop {{ form_var_date }} plop'}
|
|
2308 | 2308 |
formdef.store() |
2309 | 2309 | |
2310 | 2310 |
formdata = formdef.data_class()() |
... | ... | |
2319 | 2319 |
formdata.store() |
2320 | 2320 |
assert formdef.data_class().get(formdata.id).digest == 'plop 12/05/2015 plop' |
2321 | 2321 | |
2322 |
formdef.digest_template = 'plop {{ form_var_date|date:"Y" }} plop'
|
|
2322 |
formdef.digest_templates = {'default': 'plop {{ form_var_date|date:"Y" }} plop'}
|
|
2323 | 2323 |
formdef.store() |
2324 | 2324 |
formdata = formdef.data_class()() |
2325 | 2325 |
formdata.data = {'0': time.strptime('2015-05-12', '%Y-%m-%d')} |
2326 | 2326 |
formdata.store() |
2327 | 2327 |
assert formdef.data_class().get(formdata.id).digest == 'plop 2015 plop' |
2328 | 2328 | |
2329 |
formdef.digest_template = 'plop {{ form_var_date_raw|date:"Y" }} plop'
|
|
2329 |
formdef.digest_templates = {'default': 'plop {{ form_var_date_raw|date:"Y" }} plop'}
|
|
2330 | 2330 |
formdef.store() |
2331 | 2331 |
formdata = formdef.data_class()() |
2332 | 2332 |
formdata.data = {'0': time.strptime('2015-05-12', '%Y-%m-%d')} |
2333 | 2333 |
formdata.store() |
2334 | 2334 |
assert formdef.data_class().get(formdata.id).digest == 'plop 2015 plop' |
2335 | 2335 | |
2336 |
formdef.digest_template = 'plop {{ form_var_date|date:"Y" }} plop'
|
|
2336 |
formdef.digest_templates = {'default': 'plop {{ form_var_date|date:"Y" }} plop'}
|
|
2337 | 2337 |
formdef.store() |
2338 | 2338 |
formdata = formdef.data_class()() |
2339 | 2339 |
formdata.data = {'0': None} |
... | ... | |
2341 | 2341 |
assert formdef.data_class().get(formdata.id).digest == 'plop plop' |
2342 | 2342 | |
2343 | 2343 |
# check there's no crash when an invaliad variable is given |
2344 |
formdef.digest_template = 'plop {{ blah|date:"Y" }} plop'
|
|
2344 |
formdef.digest_templates = {'default': 'plop {{ blah|date:"Y" }} plop'}
|
|
2345 | 2345 |
formdef.store() |
2346 | 2346 |
formdata = formdef.data_class()() |
2347 | 2347 |
formdata.data = {'0': time.strptime('2015-05-12', '%Y-%m-%d')} |
tests/test_formdef_import.py | ||
---|---|---|
671 | 671 |
assert f2.fields[0].validation == {'type': 'regex', 'value': '\\d'} |
672 | 672 | |
673 | 673 | |
674 |
def test_digest_template(): |
|
674 |
def test_digest_templates():
|
|
675 | 675 |
formdef = FormDef() |
676 | 676 |
formdef.name = 'Foo' |
677 | 677 |
formdef.fields = [] |
678 |
formdef.digest_template = '{{form_number}}'
|
|
678 |
formdef.digest_templates = {'default': '{{form_number}}', 'custom-view:foo-bar': 'plop'}
|
|
679 | 679 |
f2 = assert_xml_import_export_works(formdef) |
680 |
assert f2.digest_template == formdef.digest_template
|
|
680 |
assert f2.digest_templates == formdef.digest_templates
|
|
681 | 681 | |
682 | 682 | |
683 | 683 |
def test_field_prefill(): |
tests/test_workflows.py | ||
---|---|---|
4827 | 4827 | |
4828 | 4828 |
carddef = CardDef() |
4829 | 4829 |
carddef.name = 'items' |
4830 |
carddef.digest_template = '{{form_var_name}}'
|
|
4830 |
carddef.digest_templates = {'default': '{{form_var_name}}'}
|
|
4831 | 4831 |
carddef.fields = [ |
4832 | 4832 |
StringField(id='0', label='string', varname='name'), |
4833 | 4833 |
StringField(id='1', label='string', varname='attr'), |
... | ... | |
6335 | 6335 |
carddef.fields = [ |
6336 | 6336 |
StringField(id='0', label='string', varname='card_string'), |
6337 | 6337 |
] |
6338 |
carddef.digest_template = '{{ form_var_card_string }}'
|
|
6338 |
carddef.digest_templates = {'default': '{{ form_var_card_string }}'}
|
|
6339 | 6339 |
carddef.workflow = carddef_wf |
6340 | 6340 |
carddef.store() |
6341 | 6341 | |
... | ... | |
6725 | 6725 |
StringField(id='1', label='Last Name', varname='last_name'), |
6726 | 6726 |
ItemField(id='2', label='Profession', type='item', varname='profession', data_source=datasource), |
6727 | 6727 |
] |
6728 |
carddef.digest_template = '{{ form_var_first_name }} {{ form_var_last_name }}'
|
|
6728 |
carddef.digest_templates = {'default': '{{ form_var_first_name }} {{ form_var_last_name }}'}
|
|
6729 | 6729 |
carddef.store() |
6730 | 6730 | |
6731 | 6731 |
carddata = carddef.data_class()() |
wcs/admin/forms.py | ||
---|---|---|
382 | 382 |
def templates(self): |
383 | 383 |
form = Form(enctype='multipart/form-data') |
384 | 384 |
form.add( |
385 |
StringWidget, 'digest_template', title=_('Digest'), value=self.formdef.digest_template, size=50 |
|
385 |
StringWidget, |
|
386 |
'digest_template', |
|
387 |
title=_('Digest'), |
|
388 |
value=self.formdef.default_digest_template, |
|
389 |
size=50, |
|
386 | 390 |
) |
387 | 391 |
form.add( |
388 | 392 |
WysiwygTextWidget, |
... | ... | |
464 | 468 |
self.formdef.geolocations = None |
465 | 469 |
else: |
466 | 470 |
new_value = widget.parse() |
467 |
if getattr(self.formdef, attr, None) != new_value:
|
|
468 |
if attr == 'digest_template':
|
|
471 |
if attr == 'digest_template':
|
|
472 |
if self.formdef.default_digest_template != new_value:
|
|
469 | 473 |
self.changed = True |
470 |
setattr(self.formdef, attr, new_value) |
|
474 |
if not self.formdef.digest_templates: |
|
475 |
self.formdef.digest_templates = {} |
|
476 |
self.formdef.digest_templates['default'] = new_value |
|
477 |
else: |
|
478 |
if getattr(self.formdef, attr, None) != new_value: |
|
479 |
setattr(self.formdef, attr, new_value) |
|
471 | 480 |
if not form.has_errors(): |
472 | 481 |
self.formdef.store(comment=_('Changed "%s" parameters') % title) |
473 | 482 |
return redirect('..') |
... | ... | |
789 | 798 |
) |
790 | 799 | |
791 | 800 |
if ( |
792 |
self.formdef.digest_template |
|
801 |
self.formdef.default_digest_template
|
|
793 | 802 |
or self.formdef.lateral_template |
794 | 803 |
or self.formdef.submission_lateral_template |
795 | 804 |
): |
... | ... | |
1914 | 1923 |
try: |
1915 | 1924 |
formdef = self.formdef_class.import_from_xml(fp) |
1916 | 1925 |
get_session().message = ('info', str(self.import_success_message)) |
1917 |
except FormdefImportRecoverableError as e:
|
|
1926 |
except FormdefImportRecoverableError: |
|
1918 | 1927 |
fp.seek(0) |
1919 | 1928 |
formdef = self.formdef_class.import_from_xml(fp, fix_on_error=True) |
1920 | 1929 |
get_session().message = ('info', str(self.import_error_message)) |
wcs/backoffice/cards.py | ||
---|---|---|
166 | 166 |
) |
167 | 167 | |
168 | 168 |
if ( |
169 |
self.formdef.digest_template |
|
169 |
self.formdef.default_digest_template
|
|
170 | 170 |
or self.formdef.lateral_template |
171 | 171 |
or self.formdef.submission_lateral_template |
172 | 172 |
): |
wcs/backoffice/management.py | ||
---|---|---|
1659 | 1659 |
('any', _('to any users'), 'any'), |
1660 | 1660 |
] |
1661 | 1661 | |
1662 |
if isinstance(self.formdef, CardDef) and self.formdef.digest_template: |
|
1662 |
if isinstance(self.formdef, CardDef) and self.formdef.default_digest_template:
|
|
1663 | 1663 |
options.append(('datasource', _('as data source'), 'datasource')) |
1664 | 1664 | |
1665 | 1665 |
form.add( |
wcs/carddef.py | ||
---|---|---|
158 | 158 |
def get_carddefs_as_data_source(cls): |
159 | 159 |
carddefs_by_id = {} |
160 | 160 |
for carddef in cls.select(lightweight=True, ignore_errors=True, order_by='name'): |
161 |
if not carddef.digest_template: |
|
161 |
if not carddef.default_digest_template:
|
|
162 | 162 |
continue |
163 | 163 |
data_source_id = 'carddef:%s' % carddef.url_name |
164 | 164 |
carddefs_by_id[carddef.id] = carddef |
wcs/formdata.py | ||
---|---|---|
423 | 423 |
self.evolution = [evo] |
424 | 424 | |
425 | 425 |
def set_auto_fields(self, *args, **kwargs): |
426 |
fields = {'digest': self.formdef.digest_template} |
|
426 |
fields = {'digest': self.formdef.default_digest_template}
|
|
427 | 427 |
if not self.id_display: |
428 | 428 |
# only set id_display once as it may have been set automatically |
429 | 429 |
# by interpreting a webservice response. |
wcs/formdef.py | ||
---|---|---|
115 | 115 |
skip_from_360_view = False |
116 | 116 |
include_download_all_button = False |
117 | 117 |
appearance_keywords = None |
118 |
digest_template = None |
|
118 |
digest_templates = None
|
|
119 | 119 |
lateral_template = None |
120 | 120 |
submission_lateral_template = None |
121 | 121 |
drafts_lifespan = None |
... | ... | |
142 | 142 |
'internal_identifier', |
143 | 143 |
'disabled_redirection', |
144 | 144 |
'appearance_keywords', |
145 |
'digest_template', |
|
146 | 145 |
'lateral_template', |
147 | 146 |
'submission_lateral_template', |
148 | 147 |
'drafts_lifespan', |
... | ... | |
227 | 226 |
del self.__dict__['receiver_id'] |
228 | 227 |
changed = True |
229 | 228 | |
229 |
if 'digest_template' in self.__dict__: |
|
230 |
# migration from a simple template to templates |
|
231 |
if not self.digest_templates: |
|
232 |
self.digest_templates = {} |
|
233 |
self.digest_templates['default'] = self.__dict__['digest_template'] |
|
234 |
del self.__dict__['digest_template'] |
|
235 |
changed = True |
|
236 | ||
230 | 237 |
if not self.table_name and get_publisher().has_site_option('postgresql'): |
231 | 238 |
from . import sql |
232 | 239 | |
... | ... | |
431 | 438 | |
432 | 439 |
sql.do_formdef_tables(self, rebuild_views=True, rebuild_global_views=True) |
433 | 440 | |
441 |
@property |
|
442 |
def default_digest_template(self): |
|
443 |
return (self.digest_templates or {}).get('default') |
|
444 | ||
434 | 445 |
def get_category(self): |
435 | 446 |
if self.category_id: |
436 | 447 |
try: |
... | ... | |
1067 | 1078 |
for auth_context in self.required_authentication_contexts: |
1068 | 1079 |
ET.SubElement(element, 'method').text = force_text(auth_context) |
1069 | 1080 | |
1081 |
if self.digest_templates: |
|
1082 |
digest_templates = ET.SubElement(root, 'digest_templates') |
|
1083 |
for key, value in self.digest_templates.items(): |
|
1084 |
if not value: |
|
1085 |
continue |
|
1086 |
sub = ET.SubElement(digest_templates, 'template') |
|
1087 |
sub.attrib['key'] = key |
|
1088 |
sub.text = value |
|
1070 | 1089 |
return root |
1071 | 1090 | |
1072 | 1091 |
@classmethod |
... | ... | |
1262 | 1281 |
for child in node: |
1263 | 1282 |
formdef.required_authentication_contexts.append(str(child.text)) |
1264 | 1283 | |
1284 |
if tree.find('digest_templates') is not None: |
|
1285 |
digest_templates_node = tree.find('digest_templates') |
|
1286 |
formdef.digest_templates = {} |
|
1287 |
for child in digest_templates_node: |
|
1288 |
key = child.attrib['key'] |
|
1289 |
value = xml_node_text(child) |
|
1290 |
formdef.digest_templates[key] = value |
|
1291 | ||
1265 | 1292 |
if check_datasources: |
1266 | 1293 |
# check if datasources are defined |
1267 | 1294 |
unknown_datasources = set() |
1268 |
- |