Skip to content
Snippets Groups Projects
Unverified Commit ab73f3ef authored by Cam Saul's avatar Cam Saul
Browse files

Fix multiseries cards in embedding (thanks to @alex-mcleod for help)

parent 7bc48936
No related branches found
No related tags found
No related merge requests found
......@@ -164,7 +164,11 @@
[dashboard-id dashcard-id card-id]
(let [param-id->param (u/key-by :id (db/select-one-field :parameters Dashboard :id dashboard-id))]
;; throw a 404 if there's no matching DashboardCard so people can't get info about other Cards that aren't in this Dashboard
(for [param-mapping (api/check-404 (db/select-one-field :parameter_mappings DashboardCard :id dashcard-id, :dashboard_id dashboard-id, :card_id card-id))
;; we don't need to check that card-id matches the DashboardCard because we might be trying to get param info for
;; a series belonging to this dashcard (card-id might be for a series)
(for [param-mapping (api/check-404 (db/select-one-field :parameter_mappings DashboardCard
:id dashcard-id
:dashboard_id dashboard-id))
:when (= (:card_id param-mapping) card-id)
:let [param (get param-id->param (:parameter_id param-mapping))]
:when param]
......
......@@ -6,11 +6,14 @@
[metabase
[http-client :as http]
[util :as u]]
[metabase.api.public-test :as public-test]
[metabase.api
[embed :as embed-api]
[public-test :as public-test]]
[metabase.models
[card :refer [Card]]
[dashboard :refer [Dashboard]]
[dashboard-card :refer [DashboardCard]]]
[dashboard-card :refer [DashboardCard]]
[dashboard-card-series :refer [DashboardCardSeries]]]
[metabase.test
[data :as data]
[util :as tu]]
......@@ -413,10 +416,20 @@
;;; ------------------------------------------------------------ Other Tests ------------------------------------------------------------
(tu/resolve-private-vars metabase.api.embed
remove-locked-and-disabled-params)
;; parameters that are not in the `embedding-params` map at all should get removed by `remove-locked-and-disabled-params`
(expect
{:parameters []}
(remove-locked-and-disabled-params {:parameters {:slug "foo"}} {}))
(#'embed-api/remove-locked-and-disabled-params {:parameters {:slug "foo"}} {}))
;; make sure that multiline series word as expected (#4768)
(expect
"completed"
(with-embedding-enabled-and-new-secret-key
(tt/with-temp Card [series-card {:dataset_query {:database (data/id)
:type :query
:query {:source-table (data/id :venues)}}}]
(with-temp-dashcard [dashcard {:dash {:enable_embedding true}}]
(tt/with-temp DashboardCardSeries [series {:dashboardcard_id (u/get-id dashcard)
:card_id (u/get-id series-card)
:position 0}]
(:status (http/client :get 200 (str (dashcard-url (assoc dashcard :card_id (u/get-id series-card)))))))))))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment