PR pour hotfix 9.36 #343
|
@ -701,6 +701,7 @@ def variable_test_data(pub):
|
|||
fields.StringField(id='12', label='float1', varname='value', type='string'),
|
||||
fields.PasswordField(id='13', label='pwd', varname='pwd'),
|
||||
fields.EmailField(id='14', label='email', varname='email', type='email'),
|
||||
fields.ItemField(id='15', label='item', items=['aa', 'bb', 'cc'], type='item', varname='itemfield'),
|
||||
]
|
||||
formdef.workflow_roles = {'_receiver': role.id}
|
||||
formdef.geolocations = {'base': 'Base'}
|
||||
|
@ -2043,6 +2044,9 @@ def test_lazy_variables_missing(pub, variable_test_data):
|
|||
with pytest.raises(KeyError):
|
||||
assert context['form_var_foo_foo_xxx'] == 'bar'
|
||||
|
||||
tmpl = Template('{{form_var_foo_foo_baz_baz|default_if_none:"XXX"}}')
|
||||
assert tmpl.render(context) == 'XXX'
|
||||
|
||||
|
||||
def test_lazy_variables_length(pub, variable_test_data):
|
||||
formdef = FormDef.select()[0]
|
||||
|
@ -2614,6 +2618,9 @@ def test_lazy_ezt_templates(pub, variable_test_data):
|
|||
tmpl = Template('[form_user_name_identifier_0]')
|
||||
assert tmpl.render(context) == pub.user_class.select()[0].name_identifiers[0]
|
||||
|
||||
tmpl = Template('[form_var_itemfield]')
|
||||
assert tmpl.render(context) == ''
|
||||
|
||||
|
||||
def test_lazy_formdata_fields(pub):
|
||||
formdef = FormDef()
|
||||
|
|
|
@ -679,6 +679,11 @@ def _get_value(value_ref, ctx):
|
|||
return str(ob)
|
||||
if ob is None:
|
||||
return ''
|
||||
# specific wcs None lazy value
|
||||
from ..variables import NoneFieldVar
|
||||
|
||||
if isinstance(ob, NoneFieldVar):
|
||||
return ''
|
||||
|
||||
# string or a sequence
|
||||
return ob
|
||||
|
|
|
@ -1103,3 +1103,11 @@ def translate(string, context=None):
|
|||
if string is None:
|
||||
return None
|
||||
return get_publisher().translate(string, context=context, register=True)
|
||||
|
||||
|
||||
@register.filter(is_safe=False)
|
||||
def default_if_none(value, arg):
|
||||
value = unlazy(value)
|
||||
if value is None:
|
||||
return arg
|
||||
return value
|
||||
|
|
Loading…
Reference in New Issue