refactor: Removes legacy dashboard endpoints (#31943)
This commit is contained in:
parent
f5fff5eaad
commit
7cf7267085
|
|
@ -169,7 +169,6 @@ class SupersetAppInitializer: # pylint: disable=too-many-public-methods
|
||||||
from superset.views.dashboard.views import (
|
from superset.views.dashboard.views import (
|
||||||
Dashboard,
|
Dashboard,
|
||||||
DashboardModelView,
|
DashboardModelView,
|
||||||
DashboardModelViewAsync,
|
|
||||||
)
|
)
|
||||||
from superset.views.database.views import DatabaseView
|
from superset.views.database.views import DatabaseView
|
||||||
from superset.views.datasource.views import DatasetEditor, Datasource
|
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(Api)
|
||||||
appbuilder.add_view_no_menu(Dashboard)
|
appbuilder.add_view_no_menu(Dashboard)
|
||||||
appbuilder.add_view_no_menu(DashboardModelViewAsync)
|
|
||||||
appbuilder.add_view_no_menu(Datasource)
|
appbuilder.add_view_no_menu(Datasource)
|
||||||
appbuilder.add_view_no_menu(DatasetEditor)
|
appbuilder.add_view_no_menu(DatasetEditor)
|
||||||
appbuilder.add_view_no_menu(EmbeddedView)
|
appbuilder.add_view_no_menu(EmbeddedView)
|
||||||
|
|
|
||||||
|
|
@ -17,17 +17,12 @@
|
||||||
import builtins
|
import builtins
|
||||||
from typing import Callable, Union
|
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 import expose
|
||||||
from flask_appbuilder.actions import action
|
from flask_appbuilder.actions import action
|
||||||
from flask_appbuilder.baseviews import expose_api
|
|
||||||
from flask_appbuilder.models.sqla.interface import SQLAInterface
|
from flask_appbuilder.models.sqla.interface import SQLAInterface
|
||||||
from flask_appbuilder.security.decorators import (
|
from flask_appbuilder.security.decorators import has_access
|
||||||
has_access,
|
from flask_babel import gettext as __
|
||||||
has_access_api,
|
|
||||||
permission_name,
|
|
||||||
)
|
|
||||||
from flask_babel import gettext as __, lazy_gettext as _
|
|
||||||
from flask_login import AnonymousUserMixin, login_user
|
from flask_login import AnonymousUserMixin, login_user
|
||||||
|
|
||||||
from superset import db, event_logger, is_feature_enabled
|
from superset import db, event_logger, is_feature_enabled
|
||||||
|
|
@ -39,8 +34,6 @@ from superset.views.base import (
|
||||||
BaseSupersetView,
|
BaseSupersetView,
|
||||||
common_bootstrap_payload,
|
common_bootstrap_payload,
|
||||||
DeleteMixin,
|
DeleteMixin,
|
||||||
deprecated,
|
|
||||||
generate_download_headers,
|
|
||||||
SupersetModelView,
|
SupersetModelView,
|
||||||
)
|
)
|
||||||
from superset.views.dashboard.mixin import DashboardMixin
|
from superset.views.dashboard.mixin import DashboardMixin
|
||||||
|
|
@ -61,20 +54,6 @@ class DashboardModelView(DashboardMixin, SupersetModelView, DeleteMixin): # pyl
|
||||||
"download_dashboards",
|
"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
|
@has_access
|
||||||
@expose("/list/")
|
@expose("/list/")
|
||||||
def list(self) -> FlaskResponse:
|
def list(self) -> FlaskResponse:
|
||||||
|
|
@ -90,22 +69,6 @@ class DashboardModelView(DashboardMixin, SupersetModelView, DeleteMixin): # pyl
|
||||||
ids = "".join(f"&id={d.id}" for d in items)
|
ids = "".join(f"&id={d.id}" for d in items)
|
||||||
return redirect(f"/dashboard/export_dashboards_form?{ids[1:]}")
|
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):
|
class Dashboard(BaseSupersetView):
|
||||||
"""The base views for Superset!"""
|
"""The base views for Superset!"""
|
||||||
|
|
@ -163,35 +126,3 @@ class Dashboard(BaseSupersetView):
|
||||||
bootstrap_data, default=json.pessimistic_json_iso_dttm_ser
|
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()
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue