fix(sqllab): correct URL format for SQL Lab permalinks (#32154)
This commit is contained in:
parent
c5f4a7f302
commit
f9f8c5d07a
|
|
@ -87,7 +87,7 @@ class SqlLabPermalinkRestApi(BaseSupersetApi):
|
|||
try:
|
||||
state = self.add_model_schema.load(request.json)
|
||||
key = CreateSqlLabPermalinkCommand(state=state).run()
|
||||
url = url_for("SqllabView.root", key=key, _external=True)
|
||||
url = url_for("SqllabView.permalink_view", permalink=key, _external=True)
|
||||
return self.response(201, key=key, url=url)
|
||||
except ValidationError as ex:
|
||||
return self.response(400, message=ex.messages)
|
||||
|
|
|
|||
|
|
@ -37,17 +37,25 @@ class SqllabView(BaseSupersetView):
|
|||
method_permission_name = MODEL_API_RW_METHOD_PERMISSION_MAP
|
||||
|
||||
@expose("/", methods=["GET", "POST"])
|
||||
@expose("/p/<string:permalink>/", methods=["GET"])
|
||||
@has_access
|
||||
@permission_name("read")
|
||||
@event_logger.log_this
|
||||
def root(self, **kwargs: Any) -> FlaskResponse:
|
||||
"""Handles the default SQL Lab page."""
|
||||
payload = {}
|
||||
if form_data := request.form.get("form_data"):
|
||||
with contextlib.suppress(json.JSONDecodeError):
|
||||
payload["requested_query"] = json.loads(form_data)
|
||||
return self.render_app_template(payload)
|
||||
|
||||
@expose("/p/<string:permalink>/", methods=["GET"])
|
||||
@has_access
|
||||
@permission_name("read")
|
||||
@event_logger.log_this
|
||||
def permalink_view(self, permalink: str, **kwargs: Any) -> FlaskResponse:
|
||||
"""Handles permalinks for SQL Lab."""
|
||||
return self.root(permalink=permalink, **kwargs)
|
||||
|
||||
@expose("/history/", methods=("GET",))
|
||||
@has_access
|
||||
@permission_name("read")
|
||||
|
|
|
|||
Loading…
Reference in New Issue