瀏覽代碼

[beeswax] Save results to a table redirects incorrectly

Fix initial save results type as well.
Abraham Elmahrek 12 年之前
父節點
當前提交
b290cc8
共有 2 個文件被更改,包括 7 次插入3 次删除
  1. 2 0
      apps/beeswax/src/beeswax/api.py
  2. 5 3
      apps/beeswax/static/js/beeswax.vm.js

+ 2 - 0
apps/beeswax/src/beeswax/api.py

@@ -401,6 +401,7 @@ def save_results(request, query_history_id):
           response['id'] = query_history.id
           response['query'] = query_history.query
           response['path'] = target_dir
+          response['success_url'] = reverse('view', kwargs={'path': target_dir})
           response['watch_url'] = reverse(get_app_name(request) + ':api_watch_query_refresh_json', kwargs={'id': query_history.id})
         elif form.cleaned_data['save_target'] == form.SAVE_TYPE_TBL:
           query_history = db.create_table_as_a_select(request, query_history, form.cleaned_data['target_table'], result_meta)
@@ -408,6 +409,7 @@ def save_results(request, query_history_id):
           response['query'] = query_history.query
           response['type'] = 'hive-table'
           response['path'] = form.cleaned_data['target_table']
+          response['success_url'] = reverse('metastore:describe_table', kwargs={'database': 'default', 'table': form.cleaned_data['target_table']})
           response['watch_url'] = reverse(get_app_name(request) + ':api_watch_query_refresh_json', kwargs={'id': query_history.id})
       except Exception, ex:
         error_msg, log = expand_exception(ex, db)

+ 5 - 3
apps/beeswax/static/js/beeswax.vm.js

@@ -43,7 +43,7 @@ function BeeswaxViewModel(server) {
       'errors': [],
       'save': {
         'errors': null,
-        'type': 'table',
+        'type': 'hive-table',
         'path': null
       }
     },
@@ -649,6 +649,8 @@ function BeeswaxViewModel(server) {
     var self = this;
     if (self.design.id()) {
       var data = {
+        'database': self.database(),
+        'server': self.server(),
         'type': self.design.results.save.type(),
         'path': self.design.results.save.path()
       };
@@ -665,11 +667,11 @@ function BeeswaxViewModel(server) {
               self.design.watch.url(data.watch_url);
               self.design.watch.logs.removeAll();
               self.watchQueryLoop(function() {
-                window.location.href = "/filebrowser/view" + data.path;
+                window.location.href = data.success_url;
               });
             } else {
               // redirect to metastore app.
-              window.location.href = "/metastore";
+              window.location.href = data.success_url;
             }
             $(document).trigger('saved.results', data);
           } else {