From 274fb37a917e78acd0711b754edf7b833f06911d Mon Sep 17 00:00:00 2001 From: Geido <60598000+geido@users.noreply.github.com> Date: Wed, 15 Dec 2021 19:32:31 +0100 Subject: [PATCH] fix: Remove positions from json_metadata (#17766) * Remove positions from json_metadata * Update superset-frontend/src/dashboard/components/PropertiesModal/index.tsx Co-authored-by: Kamil Gabryjelski * Indent Co-authored-by: Kamil Gabryjelski --- .../src/dashboard/components/PropertiesModal/index.tsx | 7 ++++++- superset/dashboards/dao.py | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx b/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx index 6f9c723f3548..2ce295b81a10 100644 --- a/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx +++ b/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx @@ -161,10 +161,15 @@ const PropertiesModal = ({ form.setFieldsValue(dashboardInfo); setDashboardInfo(dashboardInfo); - setJsonMetadata(metadata ? jsonStringify(metadata) : ''); setOwners(owners); setRoles(roles); setColorScheme(metadata.color_scheme); + + // temporary fix to remove positions from dashboards' metadata + if (metadata?.positions) { + delete metadata.positions; + } + setJsonMetadata(metadata ? jsonStringify(metadata) : ''); }, [form], ); diff --git a/superset/dashboards/dao.py b/superset/dashboards/dao.py index 06927897e536..0443763cb370 100644 --- a/superset/dashboards/dao.py +++ b/superset/dashboards/dao.py @@ -239,6 +239,9 @@ def set_dash_metadata( # pylint: disable=too-many-locals } md["default_filters"] = json.dumps(applicable_filters) + # positions have its own column, no need to store it in metadata + md.pop("positions", None) + # The css and dashboard_title properties are not part of the metadata # TODO (geido): remove by refactoring/deprecating save_dash endpoint if data.get("css") is not None: