diff --git a/panoramix/templates/panoramix/models/database/macros.html b/panoramix/templates/panoramix/models/database/macros.html index 8e5ba5ee6332c..edcd4beac6c65 100644 --- a/panoramix/templates/panoramix/models/database/macros.html +++ b/panoramix/templates/panoramix/models/database/macros.html @@ -7,9 +7,19 @@ $.ajax({ method: "POST", url: url, - data: { uri: $("#sqlalchemy_uri").val() } - }).done(function() { - alert("success"); + data: { uri: $("#sqlalchemy_uri").val() }, + dataType: 'json' + }).done(function(data) { + alert("Seems OK!"); + if ($('#tables').length == 0) + $('body div.container').append('
'); + div = $('#tables') + div.html('Tables:
'); + $.each(data, function(i, d){ + var id = 'tbl_' + d; + div.append('' + d + '') + $('#' + id).click(function(){window.location = '/tableview/add';}) + }); }).fail(function(error) { alert("ERROR: " + error.responseText); }); diff --git a/panoramix/views.py b/panoramix/views.py index 8cefc136d3a8f..576bfa4b3f9df 100644 --- a/panoramix/views.py +++ b/panoramix/views.py @@ -471,16 +471,16 @@ def save_dash(self, dashboard_id): return "SUCCESS" @has_access - @expose("/testconn", methods=["POST"]) + @expose("/testconn", methods=["POST", "GET"]) def testconn(self): try: uri = request.form.get('uri') - db = create_engine(uri) - db.connect() - return "SUCCESS" + engine = create_engine(uri) + engine.connect() + return json.dumps(engine.table_names(), indent=4) except Exception as e: return Response( - str(e), + traceback.format_exc(), status=500, mimetype="application/json")