0001-dataviz-fix-filters-cell-display-of-subfilters-on-em.patch
combo/apps/dataviz/forms.py | ||
---|---|---|
318 | 318 | |
319 | 319 |
# keep only same value fields |
320 | 320 |
for field, value in cell.filter_params.items(): |
321 |
if field in dynamic_fields and value != dynamic_fields_values.get(field): |
|
321 |
if field in dynamic_fields and value != dynamic_fields_values.get(field, ''):
|
|
322 | 322 |
del dynamic_fields[field] |
323 | 323 | |
324 | 324 |
if cell.time_range != first_cell.time_range: |
tests/test_dataviz.py | ||
---|---|---|
2575 | 2575 |
assert 'filter-form' in resp.form.fields |
2576 | 2576 |
assert 'filter-menu' in resp.form.fields |
2577 | 2577 | |
2578 |
# add identitical cell |
|
2579 |
new_cell = ChartNgCell.objects.create(page=page, order=3, placeholder='content') |
|
2580 |
new_cell.statistic = Statistic.objects.get(slug='with-subfilter') |
|
2581 |
new_cell.save() |
|
2582 | ||
2583 |
resp = app.get('/manage/pages/%s/' % page.id) |
|
2584 |
resp.forms[2]['cdataviz_chartngcell-%s-form' % new_cell.id] = 'food-request' |
|
2585 |
manager_submit_cell(resp.forms[2]) |
|
2586 | ||
2587 |
resp = app.get('/') |
|
2588 |
assert 'filter-form' in resp.form.fields |
|
2589 |
assert 'filter-menu' in resp.form.fields |
|
2590 | ||
2591 |
# submitting cell again changes nothing even if it introduces a difference in cells filter params |
|
2592 |
resp = app.get('/manage/pages/%s/' % page.id) |
|
2593 |
manager_submit_cell(resp.forms[2]) |
|
2594 | ||
2595 |
cell.refresh_from_db() |
|
2596 |
assert cell.filter_params == {'form': 'food-request', 'other': ''} |
|
2597 |
new_cell.refresh_from_db() |
|
2598 |
assert new_cell.filter_params == {'form': 'food-request', 'other': '', 'menu': ''} |
|
2599 | ||
2600 |
resp = app.get('/') |
|
2601 |
assert 'filter-form' in resp.form.fields |
|
2602 |
assert 'filter-menu' in resp.form.fields |
|
2603 | ||
2578 | 2604 | |
2579 | 2605 |
@with_httmock(new_api_mock) |
2580 | 2606 |
@pytest.mark.freeze_time('2021-10-06') |
2581 |
- |