Эх сурвалжийг харах

HUE-6091 [core] Avoid infinite looping and pick better default landing page depending on perms

Romain Rigaux 8 жил өмнө
parent
commit
f7b26e9

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

@@ -306,7 +306,7 @@ class LoginAndPermissionMiddleware(object):
         app_accessed = ui_app_accessed
 
       if app_accessed and \
-          app_accessed not in ("desktop", "home", "home2", "about", "hue", "notebook", "indexer") and \
+          app_accessed not in ("desktop", "home", "home2", "about", "hue", "editor", "notebook", "indexer", "404", "500") and \
           not (request.user.has_hue_permission(action="access", app=app_accessed) or
                request.user.has_hue_permission(action=access_view, app=app_accessed)):
         access_log(request, 'permission denied', level=access_log_level)

+ 14 - 3
desktop/core/src/desktop/templates/hue.mako

@@ -116,7 +116,7 @@ ${ hueIcons.symbols() }
           </button>
 
           <ul class="dropdown-menu">
-            % if 'beeswax' in apps and 'impala' in apps:
+            % if 'beeswax' in apps or 'impala' in apps or SHOW_NOTEBOOKS.get() or interpreters:
               <li class="dropdown-submenu">
                 <a title="${_('Query editor')}" data-rel="navigator-tooltip" href="javascript: void(0)" data-bind="click: function(){ page('/editor'); onePageViewModel.changeEditorType('hive', true); }"><i class="fa fa-fw fa-edit inline-block"></i> ${ _('Editor') }</a>
                 <ul class="dropdown-menu">
@@ -953,7 +953,19 @@ ${ assist.assistPanel() }
         });
 
         page('/', function(ctx){
-          page('/editor');
+          % if 'beeswax' in apps or 'impala' in apps:
+            page('/editor');
+          % elif SHOW_NOTEBOOKS.get():
+            page('/notebook');
+          % elif interpreters:
+            page('/editor');
+          % elif IS_DASHBOARD_ENABLED.get():
+            page('/dashboard/new_search');
+          % elif 'jobbrowser' in apps:
+            page('/jobbrowser/apps');
+          % else:
+            page('/home');
+          % endif
         });
 
         page('*', function(ctx){
@@ -964,7 +976,6 @@ ${ assist.assistPanel() }
         page();
 
         huePubSub.subscribe('page.route', page);
-
       };
 
       var onePageViewModel = new OnePageViewModel();

+ 3 - 3
desktop/libs/dashboard/src/dashboard/conf.py

@@ -25,10 +25,10 @@ from notebook.conf import get_ordered_interpreters
 
 
 def is_enabled():
-  """Automatic if Hue 4 or when search is enabled."""
+  """Automatic when search is enabled."""
   apps = get_apps_dict()
-  
-  return is_hue4() or 'search' in apps 
+
+  return 'search' in apps or HAS_SQL_ENABLED.get()
 
 
 IS_ENABLED = Config(