fix: Missing applied filters indicator (#22137)

This commit is contained in:
John Bodley 2022-11-16 08:07:42 -08:00 committed by GitHub
parent d76f305343
commit e8a0a5ee5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 3 deletions

View File

@ -1182,8 +1182,7 @@ def merge_extra_filters(form_data: Dict[str, Any]) -> None:
# that are external to the slice definition. We use those for dynamic
# interactive filters like the ones emitted by the "Filter Box" visualization.
# Note extra_filters only support simple filters.
applied_time_extras: Dict[str, str] = {}
form_data["applied_time_extras"] = applied_time_extras
form_data.setdefault("applied_time_extras", {})
adhoc_filters = form_data.get("adhoc_filters", [])
form_data["adhoc_filters"] = adhoc_filters
merge_extra_form_data(form_data)
@ -1226,7 +1225,7 @@ def merge_extra_filters(form_data: Dict[str, Any]) -> None:
time_extra_value = filtr.get("val")
if time_extra_value and time_extra_value != NO_TIME_RANGE:
form_data[time_extra] = time_extra_value
applied_time_extras[filter_column] = time_extra_value
form_data["applied_time_extras"][filter_column] = time_extra_value
elif filtr["val"]:
# Merge column filters
filter_key = get_filter_key(filtr)

View File

@ -539,6 +539,18 @@ class TestUtils(SupersetTestCase):
merge_extra_filters(form_data)
self.assertEqual(form_data, expected)
def test_merge_extra_filters_when_applied_time_extras_predefined(self):
form_data = {"applied_time_extras": {"__time_range": "Last week"}}
merge_extra_filters(form_data)
self.assertEqual(
form_data,
{
"applied_time_extras": {"__time_range": "Last week"},
"adhoc_filters": [],
},
)
def test_merge_request_params_when_url_params_undefined(self):
form_data = {"since": "2000", "until": "now"}
url_params = {"form_data": form_data, "dashboard_ids": "(1,2,3,4,5)"}