Ver Fonte

HUE-6022 [assist] Send the correct type for views when fetching the nav entity

Johan Ahlen há 8 anos atrás
pai
commit
7af277c

+ 4 - 1
desktop/core/src/desktop/static/desktop/js/apiHelper.js

@@ -1408,6 +1408,7 @@ var ApiHelper = (function () {
    * @param {Function} [options.errorCallback]
    * @param {boolean} [options.silenceErrors]
    *
+   * @param {boolean} [options.isView] - Default false
    * @param {Object[]} options.identifierChain
    * @param {string} options.identifierChain.name
    * @param {string} [options.defaultDatabase]
@@ -1421,9 +1422,11 @@ var ApiHelper = (function () {
 
     var url = NAV_URLS.FIND_ENTITY + '?type=database&name=' + database;
 
+    var isView = !!options.isView;
+
     if (clonedIdentifierChain.length > 0) {
       var table = clonedIdentifierChain.shift().name;
-      url = NAV_URLS.FIND_ENTITY + '?type=table&database=' + database + '&name=' + table;
+      url = NAV_URLS.FIND_ENTITY + (isView ? '?type=view' : '?type=table') + '&database=' + database + '&name=' + table;
       if (clonedIdentifierChain.length > 0) {
         url = NAV_URLS.FIND_ENTITY + '?type=field&database=' + database + '&table=' + table + '&name=' + clonedIdentifierChain.shift().name;
       }

+ 1 - 1
desktop/core/src/desktop/templates/nav_components.mako

@@ -80,12 +80,12 @@ from django.utils.translation import ugettext as _
         self.currentTags = ko.observableArray();
         self.allTags = ko.observableArray();
 
-
         var fetchNavEntity = function () {
           var fetchDeferral = $.Deferred();
           apiHelper.fetchNavEntity({
             sourceType: ko.unwrap(params.sourceType),
             identifierChain: identifierChain,
+            isView: params.fetchedData() !== 'undefined' && params.fetchedData().is_view,
             defaultDatabase: ko.unwrap(params.defaultDatabase),
             silenceErrors: true,
             noCache: true,