This is an automated email from the ASF dual-hosted git repository.
villebro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 0807ab4 fix(native-filters): merge_extra_form_data extras processing
(#14244)
0807ab4 is described below
commit 0807ab44a59c35f65293f20aec9699d97dac3cb8
Author: Ville Brofeldt <[email protected]>
AuthorDate: Tue Apr 20 14:24:33 2021 +0300
fix(native-filters): merge_extra_form_data extras processing (#14244)
* fix: merge_extra_form_data extras processing
* move props that are later moved back in viz.py
---
superset/constants.py | 6 +++---
superset/utils/core.py | 6 +++---
tests/utils_tests.py | 4 ++++
3 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/superset/constants.py b/superset/constants.py
index 0c9016f..f69b7e9 100644
--- a/superset/constants.py
+++ b/superset/constants.py
@@ -133,14 +133,14 @@ EXTRA_FORM_DATA_OVERRIDE_REGULAR_MAPPINGS = {
"time_column": "time_column",
"time_grain": "time_grain",
"time_range": "time_range",
+ "druid_time_origin": "druid_time_origin",
+ "time_grain_sqla": "time_grain_sqla",
+ "time_range_endpoints": "time_range_endpoints",
}
EXTRA_FORM_DATA_OVERRIDE_EXTRA_KEYS = {
- "druid_time_origin",
"relative_start",
"relative_end",
- "time_grain_sqla",
- "time_range_endpoints",
}
EXTRA_FORM_DATA_OVERRIDE_KEYS = (
diff --git a/superset/utils/core.py b/superset/utils/core.py
index 0c60d05..a9d1bb6 100644
--- a/superset/utils/core.py
+++ b/superset/utils/core.py
@@ -1088,10 +1088,10 @@ def merge_extra_form_data(form_data: Dict[str, Any]) ->
None:
extras = form_data.get("extras", {})
for key in EXTRA_FORM_DATA_OVERRIDE_EXTRA_KEYS:
value = extra_form_data.get(key)
- extra = extras.get(key)
- if value and extra:
+ if value is not None:
extras[key] = value
- form_data.update(extras)
+ if extras:
+ form_data["extras"] = extras
adhoc_filters = form_data.get("adhoc_filters", [])
form_data["adhoc_filters"] = adhoc_filters
diff --git a/tests/utils_tests.py b/tests/utils_tests.py
index 1041091..cf79f16 100644
--- a/tests/utils_tests.py
+++ b/tests/utils_tests.py
@@ -927,6 +927,8 @@ class TestUtils(SupersetTestCase):
}
],
"time_range": "Last 100 years",
+ "time_grain_sqla": "PT1M",
+ "relative_start": "now",
},
}
merge_extra_form_data(form_data)
@@ -948,6 +950,8 @@ class TestUtils(SupersetTestCase):
"subject": "foo",
}
assert form_data["time_range"] == "Last 100 years"
+ assert form_data["time_grain_sqla"] == "PT1M"
+ assert form_data["extras"]["relative_start"] == "now"
def test_ssl_certificate_parse(self):
parsed_certificate = parse_ssl_cert(ssl_certificate)