浏览代码

HUE-7217 [dashboard] Avoid 500 on dashboard when search is blacklisted

Romain Rigaux 8 年之前
父节点
当前提交
dcd371e

+ 1 - 1
desktop/core/src/desktop/models.py

@@ -1694,7 +1694,7 @@ class ClusterConfig():
             'page': '/dashboard/new_search?engine=%(type)s' % interpreter,
             'tooltip': _('%s Dashboard') % interpreter['type'].title()
           } for interpreter in interpreters],
-        'page': '/dashboard/new_search'
+        'page': '/dashboard/new_search?engine=%(type)s' % interpreters[0]
       }
     else:
       return None

+ 1 - 1
desktop/libs/dashboard/src/dashboard/templates/common_search.mako

@@ -52,7 +52,7 @@ from desktop.views import commonheader, commonfooter, _ko, commonshare
 <div class="search-bar" data-bind="visible: ! $root.isPlayerMode()">
   <div class="pull-left">
     <div class="app-header">
-      <a href="#" data-bind="hueLink: '${ url('search:new_search') }'">
+      <a href="#" data-bind="hueLink: '${ url('dashboard:new_search') }'">
         <!-- ko template: { name: 'app-icon-template', data: { icon: 'dashboard' } } --><!-- /ko --> ${ _('Dashboard') }
         <!-- ko component: { name: 'hue-favorite-app', params: { hue4: IS_HUE_4, app: 'dashboard' }} --><!-- /ko -->
       </a>

+ 8 - 4
desktop/libs/dashboard/src/dashboard/views.py

@@ -87,7 +87,7 @@ def index(request, is_mobile=False):
     'initial': json.dumps({
         'collections': [],
         'layout': DEFAULT_LAYOUT,
-        'is_latest': LATEST.get(),
+        'is_latest': _get_latest(),
         'engines': get_engines(request.user)
     }),
     'is_owner': collection_doc.can_write(request.user) if USE_NEW_EDITOR.get() else collection_doc.doc.get().can_write(request.user),
@@ -115,7 +115,7 @@ def new_search(request):
       'initial': {
           'collections': collections,
           'layout': DEFAULT_LAYOUT,
-          'is_latest': LATEST.get(),
+          'is_latest': _get_latest(),
           'engines': get_engines(request.user)
        }
      })
@@ -126,7 +126,7 @@ def new_search(request):
       'initial': json.dumps({
           'collections': collections,
           'layout': DEFAULT_LAYOUT,
-          'is_latest': LATEST.get(),
+          'is_latest': _get_latest(),
           'engines': get_engines(request.user)
        }),
       'is_owner': True,
@@ -159,7 +159,7 @@ def browse(request, name, is_mobile=False):
                "properties":{},"offset":0,"isLoading":True,"klass":"card card-widget span12"}]}],
           "drops":["temp"],"klass":"card card-home card-column span10"}
       ],
-      'is_latest': LATEST.get(),
+      'is_latest': _get_latest(),
       'engines': get_engines(request.user)
     }),
     'is_owner': True,
@@ -260,3 +260,7 @@ def admin_collection_copy(request):
   }
 
   return JsonResponse(response)
+
+
+def _get_latest():
+  return hasattr(LATEST, 'get') and LATEST.get() or True