0001-backoffice-convert-filter-varname-parameters-so-they.patch
tests/test_backoffice_pages.py | ||
---|---|---|
6815 | 6815 |
resp = app.get('/backoffice/management/form-title/user-custom-test-view/?filter-foo=A&keep-view-filters=on') |
6816 | 6816 |
assert 'filter-2-value' in resp.forms['listing-settings'].fields |
6817 | 6817 |
assert 'filter-3-value' in resp.forms['listing-settings'].fields |
6818 | ||
6819 | ||
6820 |
def test_backoffice_table_varname_filter(pub): |
|
6821 |
create_superuser(pub) |
|
6822 |
create_environment(pub) |
|
6823 | ||
6824 |
app = login(get_app(pub)) |
|
6825 |
resp = app.get('/backoffice/management/form-title/?filter-foo=A') |
|
6826 |
# check filter is applied |
|
6827 |
assert resp.text.count('<tr') == 6 |
|
6828 |
# and kept in parameters |
|
6829 |
assert resp.forms['listing-settings']['filter-3'].checked |
|
6830 |
assert resp.forms['listing-settings']['filter-3-value'].value == 'A' |
|
6831 | ||
6832 |
resp = resp.forms['listing-settings'].submit() |
|
6833 |
assert resp.text.count('<tr') == 6 |
wcs/backoffice/management.py | ||
---|---|---|
1197 | 1197 |
if get_request().form: |
1198 | 1198 |
field.enabled = ('filter-%s' % field.id in get_request().form) or ( |
1199 | 1199 |
'filter-%s' % field.varname in get_request().form) |
1200 |
if 'filter-%s' % field.varname in get_request().form: |
|
1201 |
# if ?filter-<varname>= is used, take the value and put it |
|
1202 |
# into filter-<field id>-value so it is used to fill the |
|
1203 |
# fields. |
|
1204 |
get_request().form['filter-%s-value' % field.id] = get_request().form.get( |
|
1205 |
'filter-%s' % field.varname) |
|
1200 | 1206 |
if not field.enabled and self.view and get_request().form.get('keep-view-filters'): |
1201 | 1207 |
# keep-view-filters=on is used to initialize page with |
1202 | 1208 |
# filters from both the custom view and the query string. |
1203 |
- |