fields: show hint on blocks only once (#45686)
This commit is contained in:
parent
8793d3c0e0
commit
f7e72aaee7
|
@ -8343,12 +8343,13 @@ def test_block_simple(pub, blocks_feature):
|
||||||
formdef = FormDef()
|
formdef = FormDef()
|
||||||
formdef.name = 'form title'
|
formdef.name = 'form title'
|
||||||
formdef.fields = [
|
formdef.fields = [
|
||||||
fields.BlockField(id='1', label='test', type='block:foobar'),
|
fields.BlockField(id='1', label='test', type='block:foobar', hint='hintblock'),
|
||||||
]
|
]
|
||||||
formdef.store()
|
formdef.store()
|
||||||
|
|
||||||
app = get_app(pub)
|
app = get_app(pub)
|
||||||
resp = app.get(formdef.get_url())
|
resp = app.get(formdef.get_url())
|
||||||
|
assert resp.text.count('>hintblock<') == 1
|
||||||
resp.form['f1$element0$f123'] = 'foo'
|
resp.form['f1$element0$f123'] = 'foo'
|
||||||
resp.form['f1$element0$f234'] = 'bar'
|
resp.form['f1$element0$f234'] = 'bar'
|
||||||
resp = resp.form.submit('submit') # -> validation page
|
resp = resp.form.submit('submit') # -> validation page
|
||||||
|
@ -8644,7 +8645,7 @@ def test_block_repeated(pub, blocks_feature):
|
||||||
formdef.name = 'form title'
|
formdef.name = 'form title'
|
||||||
formdef.fields = [
|
formdef.fields = [
|
||||||
fields.PageField(id='0', label='1st page', type='page'),
|
fields.PageField(id='0', label='1st page', type='page'),
|
||||||
fields.BlockField(id='1', label='test', type='block:foobar', max_items=3),
|
fields.BlockField(id='1', label='test', type='block:foobar', max_items=3, hint='hintblock'),
|
||||||
fields.PageField(id='2', label='2nd page', type='page'),
|
fields.PageField(id='2', label='2nd page', type='page'),
|
||||||
]
|
]
|
||||||
formdef.store()
|
formdef.store()
|
||||||
|
@ -8652,11 +8653,14 @@ def test_block_repeated(pub, blocks_feature):
|
||||||
app = get_app(pub)
|
app = get_app(pub)
|
||||||
resp = app.get(formdef.get_url())
|
resp = app.get(formdef.get_url())
|
||||||
assert resp.text.count('>Test<') == 1
|
assert resp.text.count('>Test<') == 1
|
||||||
|
assert resp.text.count('>hintblock<') == 1
|
||||||
assert 'Add another' in resp
|
assert 'Add another' in resp
|
||||||
resp = resp.form.submit('f1$add_element')
|
resp = resp.form.submit('f1$add_element')
|
||||||
assert resp.text.count('>Test<') == 2
|
assert resp.text.count('>Test<') == 2
|
||||||
|
assert resp.text.count('>hintblock<') == 1
|
||||||
resp = resp.form.submit('f1$add_element')
|
resp = resp.form.submit('f1$add_element')
|
||||||
assert resp.text.count('>Test<') == 3
|
assert resp.text.count('>Test<') == 3
|
||||||
|
assert resp.text.count('>hintblock<') == 1
|
||||||
assert 'Add another' not in resp
|
assert 'Add another' not in resp
|
||||||
|
|
||||||
# fill items (1st and 3rd row)
|
# fill items (1st and 3rd row)
|
||||||
|
|
|
@ -261,6 +261,7 @@ class BlockWidget(WidgetList):
|
||||||
element_values = value.get('data')
|
element_values = value.get('data')
|
||||||
if not max_items:
|
if not max_items:
|
||||||
max_items = 1
|
max_items = 1
|
||||||
|
hint = kwargs.pop('hint', None)
|
||||||
element_kwargs = {'block': self.block, 'render_br': False}
|
element_kwargs = {'block': self.block, 'render_br': False}
|
||||||
element_kwargs.update(kwargs)
|
element_kwargs.update(kwargs)
|
||||||
super().__init__(
|
super().__init__(
|
||||||
|
@ -271,6 +272,7 @@ class BlockWidget(WidgetList):
|
||||||
element_type=BlockSubWidget,
|
element_type=BlockSubWidget,
|
||||||
element_kwargs=element_kwargs,
|
element_kwargs=element_kwargs,
|
||||||
add_element_label=add_element_label or _('Add another'),
|
add_element_label=add_element_label or _('Add another'),
|
||||||
|
hint=hint,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue