0001-forms-add-an-option-to-have-items-field-shown-in-def.patch
tests/test_backoffice_pages.py | ||
---|---|---|
594 | 594 |
resp = app.get('/backoffice/management/form-title/') |
595 | 595 |
assert 'filter-2-value' in resp.form.fields |
596 | 596 | |
597 |
# same check for items field |
|
598 |
formdef.fields.append( |
|
599 |
fields.ItemsField(id='4', label='4th field', type='items', items=['foo', 'bar', 'baz'])) |
|
600 |
formdef.store() |
|
601 |
resp = app.get('/backoffice/management/form-title/') |
|
602 |
assert not 'filter-4-value' in resp.form.fields |
|
603 | ||
604 |
formdef.fields[-1].in_filters = True |
|
605 |
formdef.store() |
|
606 |
resp = app.get('/backoffice/management/form-title/') |
|
607 |
assert 'filter-4-value' in resp.form.fields |
|
608 | ||
597 | 609 |
def test_backoffice_bool_filter(pub): |
598 | 610 |
create_superuser(pub) |
599 | 611 |
create_environment(pub) |
wcs/backoffice/management.py | ||
---|---|---|
1027 | 1027 |
elif mode == 'stats': |
1028 | 1028 |
# enable period filters by default |
1029 | 1029 |
field.enabled = (field.id in ('start', 'end')) |
1030 |
if field.type == 'item':
|
|
1030 |
if field.type in ('item', 'items'):
|
|
1031 | 1031 |
field.enabled = field.in_filters |
1032 | 1032 | |
1033 | 1033 |
r += htmltext('<h3><span>%s</span> <span class="change">(<a id="filter-settings">%s</a>)</span></h3>' % ( |
wcs/fields.py | ||
---|---|---|
1295 | 1295 |
items = [] |
1296 | 1296 |
max_choices = 0 |
1297 | 1297 |
data_source = {} |
1298 |
in_filters = False |
|
1298 | 1299 |
display_disabled_items = False |
1299 | 1300 | |
1300 | 1301 |
widget_class = CheckboxesWidget |
... | ... | |
1330 | 1331 | |
1331 | 1332 |
def fill_admin_form(self, form): |
1332 | 1333 |
WidgetField.fill_admin_form(self, form) |
1334 |
form.add(CheckboxWidget, 'in_filters', title=_('Display in default filters'), |
|
1335 |
value=self.in_filters, advanced=True) |
|
1333 | 1336 |
form.add(WidgetList, 'items', title = _('Items'), element_type = StringWidget, |
1334 | 1337 |
value = self.items, required = False, |
1335 | 1338 |
element_kwargs = {'render_br': False, 'size': 50}, |
... | ... | |
1350 | 1353 | |
1351 | 1354 |
def get_admin_attributes(self): |
1352 | 1355 |
return WidgetField.get_admin_attributes(self) + ['items', |
1353 |
'max_choices', 'data_source', 'anonymise', |
|
1356 |
'max_choices', 'data_source', 'in_filters', 'anonymise',
|
|
1354 | 1357 |
'display_disabled_items'] |
1355 | 1358 | |
1356 | 1359 |
def check_admin_form(self, form): |
1357 |
- |