diff --git a/src/metabase/models/params.clj b/src/metabase/models/params.clj index 6a639c0fd52363073699fd1caa8cbc239913345e..8664fd77de789844fd9cf6f13f42920f6d8b694a 100644 --- a/src/metabase/models/params.clj +++ b/src/metabase/models/params.clj @@ -82,14 +82,9 @@ [fields] (let [table-id->name-field (fields->table-id->name-field (pk-fields fields))] (for [field fields] - (-> field - ;; add matching `:name_field` if it's a PK - (assoc :name_field (when (isa? (:special_type field) :type/PK) - (-> (table-id->name-field (:table_id field)) - ;; remove :table_id for these Fields since it's not needed for frontend - (dissoc :table_id)))) - ;; now remove `:table_id` since we don't need it for frontend widgets, only for this function here - (dissoc :table_id))))) + ;; add matching `:name_field` if it's a PK + (assoc field :name_field (when (isa? (:special_type field) :type/PK) + (table-id->name-field (:table_id field))))))) ;; We hydrate the `:human_readable_field` for each Dimension using the usual hydration logic, so it contains columns we diff --git a/test/metabase/api/embed_test.clj b/test/metabase/api/embed_test.clj index 6818ada0e8b198d27844d0fcf6ad07c8bf549715..c67660527fec2d729782ff1d884686f5c0c43657 100644 --- a/test/metabase/api/embed_test.clj +++ b/test/metabase/api/embed_test.clj @@ -93,10 +93,11 @@ :visualization_settings {} :dataset_query {:type "query"} :parameters () - :param_values nil}) + :param_values nil + :param_fields nil}) (def successful-dashboard-info - {:description nil, :parameters (), :ordered_cards (), :param_values nil}) + {:description nil, :parameters (), :ordered_cards (), :param_values nil, :param_fields nil}) ;;; ------------------------------------------- GET /api/embed/card/:token ------------------------------------------- diff --git a/test/metabase/api/field_test.clj b/test/metabase/api/field_test.clj index 2658d5c229b49c2382e2d6cfe635af90ac133db3..9065871940bc1916ea3e3e86db9c252431280d57 100644 --- a/test/metabase/api/field_test.clj +++ b/test/metabase/api/field_test.clj @@ -83,7 +83,9 @@ :base_type "type/Text" :has_field_values "list" :fk_target_field_id nil - :parent_id nil}) + :parent_id nil + :dimensions [] + :name_field nil}) ((user->client :rasta) :get 200 (format "field/%d" (id :users :name)))) diff --git a/test/metabase/api/public_test.clj b/test/metabase/api/public_test.clj index 1356f0ceda35488926818f189546569b3b426793..3bf417df6224b51643d46f572789cc175181b2ce 100644 --- a/test/metabase/api/public_test.clj +++ b/test/metabase/api/public_test.clj @@ -88,7 +88,7 @@ ;; Check that we can fetch a PublicCard (expect - #{:dataset_query :description :display :id :name :visualization_settings :param_values} + #{:dataset_query :description :display :id :name :visualization_settings :param_values :param_fields} (tu/with-temporary-setting-values [enable-public-sharing true] (with-temp-public-card [{uuid :public_uuid}] (set (keys (http/client :get 200 (str "public/card/" uuid)))))))