Skip to content

Commit

Permalink
fix: Persist query params appended to permalink (#27601)
Browse files Browse the repository at this point in the history
  • Loading branch information
kgabryje authored and pull[bot] committed Jul 25, 2024
1 parent 371a406 commit a3d2f12
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
2 changes: 2 additions & 0 deletions superset/views/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -843,6 +843,8 @@ def dashboard_permalink(
if url_params := state.get("urlParams"):
params = parse.urlencode(url_params)
url = f"{url}&{params}"
if original_params := request.query_string.decode():
url = f"{url}&{original_params}"
if hash_ := state.get("anchor", state.get("hash")):
url = f"{url}#{hash_}"
return redirect(url)
Expand Down
15 changes: 15 additions & 0 deletions tests/integration_tests/core_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -1208,6 +1208,21 @@ def test_has_table_by_name(self):
is True
)

@mock.patch("superset.views.core.request")
@mock.patch(
"superset.commands.dashboard.permalink.get.GetDashboardPermalinkCommand.run"
)
def test_dashboard_permalink(self, get_dashboard_permalink_mock, request_mock):
request_mock.query_string = b"standalone=3"
get_dashboard_permalink_mock.return_value = {"dashboardId": 1}
self.login()
resp = self.client.get("superset/dashboard/p/123/")

expected_url = "/superset/dashboard/1?permalink_key=123&standalone=3"

self.assertEqual(resp.headers["Location"], expected_url)
assert resp.status_code == 302


if __name__ == "__main__":
unittest.main()

0 comments on commit a3d2f12

Please sign in to comment.