Skip to content

Commit

Permalink
[Bugfix] Issues with merge_extra_filters (apache#4042) (apache#4091)
Browse files Browse the repository at this point in the history
  • Loading branch information
nbonnotte authored and michellethomas committed May 23, 2018
1 parent c9971d7 commit 16d3ac9
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
3 changes: 2 additions & 1 deletion superset/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -735,7 +735,8 @@ def get_filter_key(f):
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']):
Expand Down
17 changes: 17 additions & 0 deletions tests/utils_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,23 @@ def test_merge_extra_filters_ignores_empty_filters(self):
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': [
Expand Down

0 comments on commit 16d3ac9

Please sign in to comment.