dataviz: fix filters cell display of subfilters on empty filter values (#69112)
This commit is contained in:
parent
f8fcd6b31a
commit
d4be69bddb
|
@ -318,7 +318,7 @@ class ChartFiltersForm(ChartFiltersMixin, forms.ModelForm):
|
|||
|
||||
# keep only same value fields
|
||||
for field, value in cell.filter_params.items():
|
||||
if field in dynamic_fields and value != dynamic_fields_values.get(field):
|
||||
if field in dynamic_fields and value != dynamic_fields_values.get(field, ''):
|
||||
del dynamic_fields[field]
|
||||
|
||||
if cell.time_range != first_cell.time_range:
|
||||
|
|
|
@ -2575,6 +2575,32 @@ def test_chart_filters_cell_with_subfilters(new_api_statistics, app, admin_user,
|
|||
assert 'filter-form' in resp.form.fields
|
||||
assert 'filter-menu' in resp.form.fields
|
||||
|
||||
# add identitical cell
|
||||
new_cell = ChartNgCell.objects.create(page=page, order=3, placeholder='content')
|
||||
new_cell.statistic = Statistic.objects.get(slug='with-subfilter')
|
||||
new_cell.save()
|
||||
|
||||
resp = app.get('/manage/pages/%s/' % page.id)
|
||||
resp.forms[2]['cdataviz_chartngcell-%s-form' % new_cell.id] = 'food-request'
|
||||
manager_submit_cell(resp.forms[2])
|
||||
|
||||
resp = app.get('/')
|
||||
assert 'filter-form' in resp.form.fields
|
||||
assert 'filter-menu' in resp.form.fields
|
||||
|
||||
# submitting cell again changes nothing even if it introduces a difference in cells filter params
|
||||
resp = app.get('/manage/pages/%s/' % page.id)
|
||||
manager_submit_cell(resp.forms[2])
|
||||
|
||||
cell.refresh_from_db()
|
||||
assert cell.filter_params == {'form': 'food-request', 'other': ''}
|
||||
new_cell.refresh_from_db()
|
||||
assert new_cell.filter_params == {'form': 'food-request', 'other': '', 'menu': ''}
|
||||
|
||||
resp = app.get('/')
|
||||
assert 'filter-form' in resp.form.fields
|
||||
assert 'filter-menu' in resp.form.fields
|
||||
|
||||
|
||||
@with_httmock(new_api_mock)
|
||||
@pytest.mark.freeze_time('2021-10-06')
|
||||
|
|
Loading…
Reference in New Issue