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")