0001-forms-allow-prefilling-of-file-fields-46929.patch
tests/form_pages/test_file_field.py | ||
---|---|---|
396 | 396 |
assert logged_error.summary == 'Failed to set value on field "file"' |
397 | 397 |
assert logged_error.exception_class == 'AttributeError' |
398 | 398 |
assert logged_error.exception_message == "'str' object has no attribute 'time'" |
399 | ||
400 | ||
401 |
def test_form_file_field_prefill(pub): |
|
402 |
FormDef.wipe() |
|
403 |
formdef = FormDef() |
|
404 |
formdef.name = 'test' |
|
405 |
formdef.fields = [ |
|
406 |
fields.FileField( |
|
407 |
id='0', label='file', prefill={'type': 'formula', 'value': 'utils.attachment("toto", "test.txt")'} |
|
408 |
) |
|
409 |
] |
|
410 |
formdef.store() |
|
411 | ||
412 |
resp = get_app(pub).get('/test/') |
|
413 |
assert resp.form['f0$token'] |
|
414 |
assert resp.click('test.txt').body == b'toto' |
|
415 |
resp = resp.form.submit('submit') # -> validation |
|
416 |
resp = resp.form.submit('submit') # -> submit |
|
417 |
formdata = formdef.data_class().select()[0] |
|
418 |
assert formdata.data['0'].base_filename == 'test.txt' |
wcs/fields.py | ||
---|---|---|
1626 | 1626 |
def get_view_short_value(self, value, max_len=30, **kwargs): |
1627 | 1627 |
return self.get_view_value(value, include_image_thumbnail=False, max_len=max_len, **kwargs) |
1628 | 1628 | |
1629 |
def get_prefill_value(self, user=None, force_string=True): |
|
1630 |
return super().get_prefill_value(user=user, force_string=False) |
|
1631 | ||
1629 | 1632 |
def get_download_query_string(self, **kwargs): |
1630 | 1633 |
if kwargs.get('file_value'): |
1631 | 1634 |
return 'hash=%s' % kwargs.get('file_value').file_digest() |
1632 |
- |