From 5f478d1084abe760abfef62601ce08be7f3a2ce7 Mon Sep 17 00:00:00 2001 From: Case Nelson <case@metabase.com> Date: Mon, 12 Sep 2022 13:32:08 -0600 Subject: [PATCH] [Apps] exclude is_write cards from virutal tables (#25367) When creating a new question, you can choose an existing saved question as your starting point. However, we want to exclude is_write cards from that list. --- src/metabase/api/database.clj | 1 + test/metabase/api/database_test.clj | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/metabase/api/database.clj b/src/metabase/api/database.clj index fe429cd3ec6..97645e320bc 100644 --- a/src/metabase/api/database.clj +++ b/src/metabase/api/database.clj @@ -154,6 +154,7 @@ :where (into [:and [:not= :result_metadata nil] [:= :archived false] + [:= :is_write false] [:= :dataset (= question-type :dataset)] [:in :database_id ids-of-dbs-that-support-source-queries] (collection/visible-collection-ids->honeysql-filter-clause diff --git a/test/metabase/api/database_test.clj b/test/metabase/api/database_test.clj index d7b8b72003c..0626d653bd7 100644 --- a/test/metabase/api/database_test.clj +++ b/test/metabase/api/database_test.clj @@ -1016,7 +1016,8 @@ (testing "should work for the saved questions 'virtual' database" (mt/with-temp* [Collection [coll {:name "My Collection"}] Card [card-1 (assoc (card-with-native-query "Card 1") :collection_id (:id coll))] - Card [card-2 (card-with-native-query "Card 2")]] + Card [card-2 (card-with-native-query "Card 2")] + Card [_card-3 (assoc (card-with-native-query "Card 3") :is_write true :result_metadata {})]] ;; run the cards to populate their result_metadata columns (doseq [card [card-1 card-2]] (mt/user-http-request :crowberto :post 202 (format "card/%d/query" (u/the-id card)))) @@ -1040,6 +1041,7 @@ :schema (s/eq (api.table/root-collection-schema-name)) :description (s/maybe s/Str)}] response)) + (is (not (contains? (set (map :display_name response)) "Card 3"))) (is (contains? (set response) {:id (format "card__%d" (:id card-2)) :db_id (mt/id) -- GitLab