Просмотр исходного кода

HUE-4183 [fb] Offer two File Browser links when S3 is configured

Romain Rigaux 9 лет назад
Родитель
Сommit
8ef0d3191f

+ 0 - 1
apps/filebrowser/src/filebrowser/models.py

@@ -15,4 +15,3 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Filebrowser has no models.

+ 0 - 3
apps/filebrowser/src/filebrowser/templates/fb_components.mako

@@ -23,9 +23,6 @@ from django.utils.translation import ugettext as _
     % if from_listdir:
       <ul class="nav nav-pills hueBreadcrumbBar">
         <li><a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_home" class="homeLink"><i class="fa fa-home"></i> ${_('Home')}</a></li>
-        % if is_s3_enabled:
-        <li class="s3-display"><a href="${url('filebrowser.views.view', path=s3_path)}" class="homeLink"><i class="fa fa-cloud"></i> ${_('S3')}</a></li>
-        % endif
         <li>
             <ul id="editBreadcrumb" class="hueBreadcrumb editable-breadcrumbs" data-bind="foreach: breadcrumbs" style="padding-right:40px; padding-top: 12px" title="${_('Edit path')}">
                 <li data-bind="visible: label.slice(-1) == '/'"><a data-bind="click: show, attr:{'href': '${url('filebrowser.views.view', path=urlencode(''))}' + url}"><span class="divider" data-bind="text: label"></span></a></li>

+ 0 - 2
apps/filebrowser/src/filebrowser/views.py

@@ -437,9 +437,7 @@ def listdir_paged(request, path):
     is_fs_superuser = _is_hdfs_superuser(request)
     data = {
         'path': path,
-        's3_path': 's3://',
         'breadcrumbs': breadcrumbs,
-        'is_s3_enabled': is_s3_enabled(),
         'current_request_path': request.path,
         'files': page.object_list,
         'page': _massage_page(page),

+ 34 - 2
desktop/core/src/desktop/templates/common_header.mako

@@ -15,6 +15,7 @@
 ## limitations under the License.
 
 <%!
+from aws.conf import is_enabled as is_s3_enabled
 from desktop import conf
 from desktop.lib.i18n import smart_unicode
 from django.utils.translation import ugettext as _
@@ -417,8 +418,39 @@ if USE_NEW_EDITOR.get():
   <ul class="nav nav-pills">
     <li class="divider-vertical"></li>
     % if 'filebrowser' in apps:
-    <li class="hide1380"><a title="${_('Manage HDFS')}" rel="navigator-tooltip" href="/${apps['filebrowser'].display_name}"><i class="fa fa-file"></i>&nbsp;${_('File Browser')}&nbsp;</a></li>
-    <li class="hideMoreThan1380"><a title="${_('File Browser')}" rel="navigator-tooltip" href="/${apps['filebrowser'].display_name}"><i class="fa fa-file"></i></a></li>
+      % if not is_s3_enabled():
+      <li class="hide1380">
+        <a title="${_('Manage HDFS')}" rel="navigator-tooltip" href="/${apps['filebrowser'].display_name}">
+          <i class="fa fa-file"></i>&nbsp;${_('File Browser')}&nbsp;
+        </a>
+      </li>
+      % else:
+        <li class="dropdown hide1380">
+          <a title="${_('File Browsers')}" rel="navigator-tooltip" href="#" data-toggle="dropdown" class="dropdown-toggle">
+            <i class="fa fa-file"></i>&nbsp;${_('File Browsers')} <b class="caret"></b>
+          </a>
+          <ul role="menu" class="dropdown-menu">
+            <li><a href="/${apps['filebrowser'].display_name}">
+              <i class="fa fa-fw fa-file" style="vertical-align: middle"></i>${_('HDFS Browser')}</a>
+            </li>
+            <li><a href="/${apps['filebrowser'].display_name}/view=S3://">
+              <i class="fa fa-fw fa-cloud" style="vertical-align: middle"></i>${_('S3 Browser')}</a>
+            </li>
+          </ul>
+        </li>
+      % endif
+      <li class="hideMoreThan1380">
+        <a title="${_('HDFS Browser')}" rel="navigator-tooltip" href="/${apps['filebrowser'].display_name}">
+          <i class="fa fa-file"></i>
+        </a>
+      </li>
+      <li class="hideMoreThan1380">
+        % if is_s3_enabled():
+          <a title="${_('S3 Browser')}" rel="navigator-tooltip" href="/${apps['filebrowser'].display_name}/view=S3://">
+            <i class="fa fa-cloud"></i>
+          </a>
+        % endif
+      </li>
     % endif
     % if 'jobbrowser' in apps:
     <li class="hide1380"><a title="${_('Manage jobs')}" rel="navigator-tooltip" href="/${apps['jobbrowser'].display_name}"><i class="fa fa-list-alt"></i>&nbsp;${_('Job Browser')}&nbsp;<span id="jobBrowserCount" class="badge badge-warning hide" style="padding-top:0;padding-bottom: 0"></span></a></li>