From cd09b0ddef97c67d4340154fc6697adb92ffc65a Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Fri, 18 Sep 2015 11:12:27 -0700 Subject: [PATCH] Bugfixes --- panoramix/templates/panoramix/datasource.html | 12 +++++++++--- panoramix/views.py | 16 +++++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/panoramix/templates/panoramix/datasource.html b/panoramix/templates/panoramix/datasource.html index 641d6ee40ca51..21f2065343455 100644 --- a/panoramix/templates/panoramix/datasource.html +++ b/panoramix/templates/panoramix/datasource.html @@ -94,8 +94,14 @@

Filters


- - + +
@@ -188,7 +194,7 @@ }); } $("#plus").click(add_filter); - $("#bookmark").click(function () { + $("#save").click(function () { var slice_name = prompt("Name your slice!"); $("#slice_name").val(slice_name); $.get( "/panoramix/save/", $("#query").serialize() ); diff --git a/panoramix/views.py b/panoramix/views.py index a3249dc36a41b..8ff805fd558ce 100644 --- a/panoramix/views.py +++ b/panoramix/views.py @@ -285,14 +285,24 @@ def save(self): d = request.args.to_dict(flat=False) as_list = ('metrics', 'groupby') for m in as_list: - if d[m] and not isinstance(d[m]): + v = d.get(m) + if v and not isinstance(d[m], list): d[m] = [d[m]] + + table_id = druid_datasource_id = None + datasource_type = request.args.get('datasource_type') + if datasource_type == 'druid': + druid_datasource_id = request.args.get('datasource_id') + else: + table_id = request.args.get('datasource_id') + obj = models.Slice( params=json.dumps(d, indent=4), viz_type=request.args.get('viz_type'), datasource_name=request.args.get('datasource_name'), - datasource_id=request.args.get('datasource_id'), - datasource_type=request.args.get('datasource_type'), + druid_datasource_id=druid_datasource_id, + table_id=table_id, + datasource_type=datasource_type, slice_name=request.args.get('slice_name', 'junk'), ) session.add(obj)