From cedaf89e2e68de45c486c18e2f40ff6339024cc4 Mon Sep 17 00:00:00 2001
From: "metabase-bot[bot]"
 <109303359+metabase-bot[bot]@users.noreply.github.com>
Date: Thu, 9 Mar 2023 10:32:08 +0000
Subject: [PATCH] Do not show parameters for non-variable template tags in the
 action editor (#29028) (#29071)

Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>
---
 e2e/support/helpers/e2e-action-helpers.js     |  4 +++-
 .../scenarios/models/model-actions.cy.spec.js | 20 +++++++++++++++++++
 .../actions/containers/ActionCreator/utils.ts |  2 +-
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/e2e/support/helpers/e2e-action-helpers.js b/e2e/support/helpers/e2e-action-helpers.js
index 9a1f644f7a5..a79669df90f 100644
--- a/e2e/support/helpers/e2e-action-helpers.js
+++ b/e2e/support/helpers/e2e-action-helpers.js
@@ -9,7 +9,9 @@ export function enableActionsForDB(dbId = SAMPLE_DB_ID) {
 }
 
 export function fillActionQuery(query) {
-  cy.get(".ace_content").type(query, { parseSpecialCharSequences: false });
+  cy.get(".ace_content:visible").type(query, {
+    parseSpecialCharSequences: false,
+  });
 }
 /**
  *
diff --git a/e2e/test/scenarios/models/model-actions.cy.spec.js b/e2e/test/scenarios/models/model-actions.cy.spec.js
index d8a2f35bc85..e7370d59864 100644
--- a/e2e/test/scenarios/models/model-actions.cy.spec.js
+++ b/e2e/test/scenarios/models/model-actions.cy.spec.js
@@ -330,6 +330,26 @@ describe(
         cy.findByLabelText("Success message").should("be.disabled");
       });
     });
+
+    it("should display parameters for variable template tags only", () => {
+      cy.visit("/");
+      cy.findByText("New").click();
+      popover().findByText("Action").click();
+      cy.findByText("Select a database").click();
+      popover().within(() => cy.findByText("QA Postgres12").click());
+
+      fillActionQuery("{{#1-orders-model}}");
+      cy.findByLabelText("#1-orders-model").should("not.exist");
+
+      fillActionQuery("{{snippet:101}}");
+      cy.findByLabelText("#1-orders-model").should("not.exist");
+      cy.findByLabelText("101").should("not.exist");
+
+      fillActionQuery("{{id}}");
+      cy.findByLabelText("#1-orders-model").should("not.exist");
+      cy.findByLabelText("101").should("not.exist");
+      cy.findByLabelText("Id").should("be.visible");
+    });
   },
 );
 
diff --git a/frontend/src/metabase/actions/containers/ActionCreator/utils.ts b/frontend/src/metabase/actions/containers/ActionCreator/utils.ts
index 0a5262b32d7..0b25761c314 100644
--- a/frontend/src/metabase/actions/containers/ActionCreator/utils.ts
+++ b/frontend/src/metabase/actions/containers/ActionCreator/utils.ts
@@ -75,7 +75,7 @@ export const setTemplateTagTypesFromFieldSettings = (
   const query = question.query() as NativeQuery;
   let tempQuestion = question.clone();
 
-  query.templateTagsWithoutSnippets().forEach((tag: TemplateTag) => {
+  query.variableTemplateTags().forEach((tag: TemplateTag) => {
     const currentQuery = tempQuestion.query() as NativeQuery;
     const fieldType = fields[tag.id]?.fieldType ?? "string";
     const nextTag = {
-- 
GitLab