You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by hu...@apache.org on 2021/08/11 18:33:14 UTC

[superset] branch hugh/dbui-other created (now cd653ef)

This is an automated email from the ASF dual-hosted git repository.

hugh pushed a change to branch hugh/dbui-other
in repository https://gitbox.apache.org/repos/asf/superset.git.


      at cd653ef  hugh/dbui-other

This branch includes the following new commits:

     new cd653ef  hugh/dbui-other

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[superset] 01/01: hugh/dbui-other

Posted by hu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hugh pushed a commit to branch hugh/dbui-other
in repository https://gitbox.apache.org/repos/asf/superset.git

commit cd653effe102e748c3225fcc5453bf08cfa578c4
Author: hughhhh <hu...@gmail.com>
AuthorDate: Wed Aug 11 14:27:05 2021 -0400

    hugh/dbui-other
---
 .../CRUD/data/database/DatabaseModal/index.tsx     | 47 +++++++++++++++-------
 1 file changed, 32 insertions(+), 15 deletions(-)

diff --git a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
index 54c9702..131f907 100644
--- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
@@ -656,21 +656,34 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
   };
 
   const setDatabaseModel = (database_name: string) => {
-    const selectedDbModel = availableDbs?.databases.filter(
-      (db: DatabaseObject) => db.name === database_name,
-    )[0];
-    const { engine, parameters } = selectedDbModel;
-    const isDynamic = parameters !== undefined;
-    setDB({
-      type: ActionType.dbSelected,
-      payload: {
-        database_name,
-        configuration_method: isDynamic
-          ? CONFIGURATION_METHOD.DYNAMIC_FORM
-          : CONFIGURATION_METHOD.SQLALCHEMY_URI,
-        engine,
-      },
-    });
+    if (database_name === 'Other') {
+      // Allow users to connect to DB via legacy SQLA form
+      setDB({
+        type: ActionType.dbSelected,
+        payload: {
+          database_name,
+          configuration_method: CONFIGURATION_METHOD.SQLALCHEMY_URI,
+          engine: undefined,
+        },
+      });
+    } else {
+      const selectedDbModel = availableDbs?.databases.filter(
+        (db: DatabaseObject) => db.name === database_name,
+      )[0];
+      const { engine, parameters } = selectedDbModel;
+      const isDynamic = parameters !== undefined || database_name === 'Other';
+      setDB({
+        type: ActionType.dbSelected,
+        payload: {
+          database_name,
+          configuration_method: isDynamic
+            ? CONFIGURATION_METHOD.DYNAMIC_FORM
+            : CONFIGURATION_METHOD.SQLALCHEMY_URI,
+          engine,
+        },
+      });
+    }
+
     setDB({ type: ActionType.addTableCatalogSheet });
   };
 
@@ -694,6 +707,10 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
               {database.name}
             </Select.Option>
           ))}
+        {/* Allow users to connect to DB via legacy SQLA form */}
+        <Select.Option value="Other" key="Other">
+          Other
+        </Select.Option>
       </Select>
       <Alert
         showIcon