From 5ce1cc2d257278336425837c08b4fc33c507954a Mon Sep 17 00:00:00 2001 From: Cam Saul <cammsaul@gmail.com> Date: Fri, 4 Jan 2019 15:21:43 -0800 Subject: [PATCH] Don't explode if dash params have invalid targets (#8917) --- src/metabase/models/params.clj | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/metabase/models/params.clj b/src/metabase/models/params.clj index f663934b93c..116fc05e3ab 100644 --- a/src/metabase/models/params.clj +++ b/src/metabase/models/params.clj @@ -1,12 +1,13 @@ (ns metabase.models.params "Utility functions for dealing with parameters for Dashboards and Cards." (:require [clojure.set :as set] + [clojure.tools.logging :as log] [metabase [db :as mdb] [util :as u]] [metabase.mbql.util :as mbql.u] [metabase.util - [i18n :as ui18n :refer [trs]] + [i18n :as ui18n :refer [trs tru]] [schema :as su]] [schema.core :as s] [toucan @@ -61,9 +62,13 @@ [target dashcard] (when (mbql.u/is-clause? :dimension target) (let [[_ dimension] target] - (field-form->id (if (mbql.u/is-clause? :template-tag dimension) - (template-tag->field-form dimension dashcard) - dimension))))) + (try + (field-form->id + (if (mbql.u/is-clause? :template-tag dimension) + (template-tag->field-form dimension dashcard) + dimension)) + (catch Throwable e + (log/error e (tru "Could not find matching Field ID for target:") target)))))) (defn- pk-fields -- GitLab