0001-backoffice-add-query-parameter-to-keep-custom-view-f.patch
tests/test_backoffice_pages.py | ||
---|---|---|
6581 | 6581 |
resp = resp.forms['save-custom-view'].submit() |
6582 | 6582 |
assert resp.location.endswith('/user-card-view/') |
6583 | 6583 |
resp = resp.follow() |
6584 | ||
6585 | ||
6586 |
def test_backoffice_custom_view_keep_filters(pub): |
|
6587 |
create_superuser(pub) |
|
6588 |
create_environment(pub) |
|
6589 | ||
6590 |
app = login(get_app(pub)) |
|
6591 |
resp = app.get('/backoffice/management/form-title/') |
|
6592 |
assert resp.text.count('<span>User Label</span>') == 1 |
|
6593 |
assert resp.text.count('<tr') == 18 |
|
6594 | ||
6595 |
# filters |
|
6596 |
resp.forms[0]['filter-2'].checked = True |
|
6597 |
resp = resp.forms['listing-settings'].submit() |
|
6598 | ||
6599 |
resp.forms['listing-settings']['filter-2-value'] = 'baz' |
|
6600 |
resp = resp.forms['listing-settings'].submit() |
|
6601 | ||
6602 |
resp.forms['save-custom-view']['title'] = 'custom test view' |
|
6603 |
resp = resp.forms['save-custom-view'].submit() |
|
6604 | ||
6605 |
resp = app.get('/backoffice/management/form-title/user-custom-test-view/') |
|
6606 |
assert 'filter-2-value' in resp.forms['listing-settings'].fields |
|
6607 |
assert 'filter-3-value' not in resp.forms['listing-settings'].fields |
|
6608 | ||
6609 |
resp = app.get('/backoffice/management/form-title/user-custom-test-view/?filter-foo=A') |
|
6610 |
assert 'filter-2-value' not in resp.forms['listing-settings'].fields |
|
6611 |
assert 'filter-3-value' in resp.forms['listing-settings'].fields |
|
6612 | ||
6613 |
resp = app.get('/backoffice/management/form-title/user-custom-test-view/?filter-foo=A&keep-view-filters=on') |
|
6614 |
assert 'filter-2-value' in resp.forms['listing-settings'].fields |
|
6615 |
assert 'filter-3-value' in resp.forms['listing-settings'].fields |
wcs/backoffice/management.py | ||
---|---|---|
1184 | 1184 |
if get_request().form: |
1185 | 1185 |
field.enabled = ('filter-%s' % field.id in get_request().form) or ( |
1186 | 1186 |
'filter-%s' % field.varname in get_request().form) |
1187 |
if not field.enabled and self.view and get_request().form.get('keep-view-filters'): |
|
1188 |
# keep-view-filters=on is used to initialize page with |
|
1189 |
# filters from both the custom view and the query string. |
|
1190 |
field.enabled = (field.id in default_filters) |
|
1187 | 1191 |
else: |
1188 | 1192 |
field.enabled = (field.id in default_filters) |
1189 | 1193 |
if not self.view and field.type in ('item', 'items'): |
1190 |
- |