[Bugfix] Issues with merge_extra_filters (#4042) (#4091)

This commit is contained in:
Nicolas Bonnotte 2017-12-21 01:22:43 +01:00 committed by Maxime Beauchemin
parent 44e753d94d
commit b4909f2d03
2 changed files with 19 additions and 1 deletions

View File

@ -735,7 +735,8 @@ def merge_extra_filters(form_data):
return f['col'] + '__' + f['op']
existing_filters = {}
for existing in form_data['filters']:
existing_filters[get_filter_key(existing)] = existing['val']
if existing['col'] is not None:
existing_filters[get_filter_key(existing)] = existing['val']
for filtr in form_data['extra_filters']:
# Pull out time filters/options and merge into form data
if date_options.get(filtr['col']):

View File

@ -119,6 +119,23 @@ class UtilsTestCase(unittest.TestCase):
merge_extra_filters(form_data)
self.assertEquals(form_data, expected)
def test_merge_extra_filters_ignores_nones(self):
form_data = {
'filters': [
{'col': None, 'op': 'in', 'val': ''},
],
'extra_filters': [
{'col': 'B', 'op': '==', 'val': []},
],
}
expected = {
'filters': [
{'col': None, 'op': 'in', 'val': ''},
],
}
merge_extra_filters(form_data)
self.assertEquals(form_data, expected)
def test_merge_extra_filters_ignores_equal_filters(self):
form_data = {
'extra_filters': [