This is an automated email from the ASF dual-hosted git repository.
michaelsmolina 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 7cf7267085 refactor: Removes legacy dashboard endpoints (#31943)
7cf7267085 is described below
commit 7cf726708520c6485b12dab2c5416b13bd83670b
Author: Michael S. Molina <[email protected]>
AuthorDate: Wed Jan 22 15:39:04 2025 -0300
refactor: Removes legacy dashboard endpoints (#31943)
---
superset/initialization/__init__.py | 2 -
superset/views/dashboard/views.py | 75 ++-----------------------------------
2 files changed, 3 insertions(+), 74 deletions(-)
diff --git a/superset/initialization/__init__.py
b/superset/initialization/__init__.py
index 2fe2303559..67426b2de3 100644
--- a/superset/initialization/__init__.py
+++ b/superset/initialization/__init__.py
@@ -169,7 +169,6 @@ class SupersetAppInitializer: # pylint:
disable=too-many-public-methods
from superset.views.dashboard.views import (
Dashboard,
DashboardModelView,
- DashboardModelViewAsync,
)
from superset.views.database.views import DatabaseView
from superset.views.datasource.views import DatasetEditor, Datasource
@@ -295,7 +294,6 @@ class SupersetAppInitializer: # pylint:
disable=too-many-public-methods
#
appbuilder.add_view_no_menu(Api)
appbuilder.add_view_no_menu(Dashboard)
- appbuilder.add_view_no_menu(DashboardModelViewAsync)
appbuilder.add_view_no_menu(Datasource)
appbuilder.add_view_no_menu(DatasetEditor)
appbuilder.add_view_no_menu(EmbeddedView)
diff --git a/superset/views/dashboard/views.py
b/superset/views/dashboard/views.py
index 8a419fcb26..fb70c7b396 100644
--- a/superset/views/dashboard/views.py
+++ b/superset/views/dashboard/views.py
@@ -17,17 +17,12 @@
import builtins
from typing import Callable, Union
-from flask import g, redirect, request, Response
+from flask import g, redirect, Response
from flask_appbuilder import expose
from flask_appbuilder.actions import action
-from flask_appbuilder.baseviews import expose_api
from flask_appbuilder.models.sqla.interface import SQLAInterface
-from flask_appbuilder.security.decorators import (
- has_access,
- has_access_api,
- permission_name,
-)
-from flask_babel import gettext as __, lazy_gettext as _
+from flask_appbuilder.security.decorators import has_access
+from flask_babel import gettext as __
from flask_login import AnonymousUserMixin, login_user
from superset import db, event_logger, is_feature_enabled
@@ -39,8 +34,6 @@ from superset.views.base import (
BaseSupersetView,
common_bootstrap_payload,
DeleteMixin,
- deprecated,
- generate_download_headers,
SupersetModelView,
)
from superset.views.dashboard.mixin import DashboardMixin
@@ -61,20 +54,6 @@ class DashboardModelView(DashboardMixin, SupersetModelView,
DeleteMixin): # pyl
"download_dashboards",
}
- @expose_api(name="read", url="/api/read", methods=["GET"])
- @has_access_api
- @permission_name("list")
- @deprecated(eol_version="5.0.0")
- def api_read(self) -> FlaskResponse:
- return super().api_read()
-
- @expose_api(name="delete", url="/api/delete/<pk>", methods=["DELETE"])
- @has_access_api
- @permission_name("delete")
- @deprecated(eol_version="5.0.0")
- def api_delete(self, pk: int) -> FlaskResponse:
- return super().delete(pk)
-
@has_access
@expose("/list/")
def list(self) -> FlaskResponse:
@@ -90,22 +69,6 @@ class DashboardModelView(DashboardMixin, SupersetModelView,
DeleteMixin): # pyl
ids = "".join(f"&id={d.id}" for d in items)
return redirect(f"/dashboard/export_dashboards_form?{ids[1:]}")
- @event_logger.log_this
- @has_access
- @expose("/export_dashboards_form")
- @deprecated(eol_version="5.0.0")
- def download_dashboards(self) -> FlaskResponse:
- if request.args.get("action") == "go":
- ids = set(request.args.getlist("id"))
- return Response(
- DashboardModel.export_dashboards(ids),
- headers=generate_download_headers("json"),
- mimetype="application/text",
- )
- return self.render_template(
- "superset/export_dashboards.html", dashboards_url="/dashboard/list"
- )
-
class Dashboard(BaseSupersetView):
"""The base views for Superset!"""
@@ -163,35 +126,3 @@ class Dashboard(BaseSupersetView):
bootstrap_data, default=json.pessimistic_json_iso_dttm_ser
),
)
-
-
-class DashboardModelViewAsync(DashboardModelView): # pylint:
disable=too-many-ancestors
- route_base = "/dashboardasync"
- class_permission_name = "Dashboard"
- method_permission_name = MODEL_VIEW_RW_METHOD_PERMISSION_MAP
-
- include_route_methods = {RouteMethod.API_READ}
-
- list_columns = [
- "id",
- "dashboard_link",
- "creator",
- "modified",
- "dashboard_title",
- "changed_on",
- "url",
- "changed_by_name",
- ]
- label_columns = {
- "dashboard_link": _("Dashboard"),
- "dashboard_title": _("Title"),
- "creator": _("Creator"),
- "modified": _("Modified"),
- }
-
- @expose_api(name="read", url="/api/read", methods=["GET"])
- @has_access_api
- @permission_name("list")
- @deprecated(eol_version="5.0.0")
- def api_read(self) -> FlaskResponse:
- return super().api_read()