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

HUE-8488 [fb] Disable drag&drop when show_upload_button=false

jdesjean 7 лет назад
Родитель
Сommit
efbe3a2f45

+ 2 - 2
desktop/conf.dist/hue.ini

@@ -1263,10 +1263,10 @@
   ## archive_upload_tempdir=/tmp
 
   # Show Download Button for HDFS file browser.
-  ## show_download_button=false
+  ## show_download_button=true
 
   # Show Upload Button for HDFS file browser.
-  ## show_upload_button=false
+  ## show_upload_button=true
 
   # Flag to enable the extraction of a uploaded archive in HDFS.
   ## enable_extract_uploaded_archive=true

+ 2 - 2
desktop/conf/pseudo-distributed.ini.tmpl

@@ -1265,10 +1265,10 @@
   ## archive_upload_tempdir=/tmp
 
   # Show Download Button for HDFS file browser.
-  ## show_download_button=false
+  ## show_download_button=true
 
   # Show Upload Button for HDFS file browser.
-  ## show_upload_button=false
+  ## show_upload_button=true
 
   # Flag to enable the extraction of a uploaded archive in HDFS.
   ## enable_extract_uploaded_archive=true

+ 3 - 1
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -7166,7 +7166,9 @@
   ko.bindingHandlers.dropzone = {
     init: function (element, valueAccessor) {
       var value = ko.unwrap(valueAccessor());
-
+      if (value.disabled) {
+        return;
+      }
       var options = {
         autoDiscover: false,
         maxFilesize: 5000000,

+ 6 - 2
desktop/core/src/desktop/templates/assist.mako

@@ -17,7 +17,7 @@
 <%!
 from django.utils.translation import ugettext as _
 
-
+from filebrowser.conf import SHOW_UPLOAD_BUTTON
 from metadata.conf import has_navigator, OPTIMIZER
 from metastore.conf import ENABLE_NEW_CREATE_TABLE
 from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, get_ordered_interpreters
@@ -491,6 +491,7 @@ from desktop.views import _ko
   <script type="text/html" id="assist-hdfs-header-actions">
     <div class="assist-db-header-actions">
       <a class="inactive-action" href="javascript:void(0)" data-bind="click: goHome" title="Go to ${ home_dir }"><i class="pointer fa fa-home"></i></a>
+      % if SHOW_UPLOAD_BUTTON.get():
       <a class="inactive-action" data-bind="dropzone: {
             url: '/filebrowser/upload/file?dest=' + path,
             params: { dest: path },
@@ -499,6 +500,7 @@ from desktop.views import _ko
             onComplete: function () { huePubSub.publish('assist.hdfs.refresh'); huePubSub.publish('fb.hdfs.refresh', path); } }" title="${_('Upload file')}" href="javascript:void(0)">
         <div class="dz-message inline" data-dz-message><i class="pointer fa fa-plus" title="${_('Upload file')}"></i></div>
       </a>
+      % endif
       <a class="inactive-action" href="javascript:void(0)" data-bind="click: function () { huePubSub.publish('assist.hdfs.refresh'); }" title="${_('Manual refresh')}"><i class="pointer fa fa-refresh" data-bind="css: { 'fa-spin blue' : loading }"></i></a>
     </div>
   </script>
@@ -506,6 +508,7 @@ from desktop.views import _ko
   <script type="text/html" id="assist-adls-header-actions">
     <div class="assist-db-header-actions">
       <a class="inactive-action" href="javascript:void(0)" data-bind="click: goHome" title="Go to ${ home_dir }"><i class="pointer fa fa-home"></i></a>
+      % if SHOW_UPLOAD_BUTTON.get():
       <a class="inactive-action" data-bind="dropzone: {
             url: '/filebrowser/upload/file?dest=adl:' + path,
             params: { dest: path },
@@ -514,6 +517,7 @@ from desktop.views import _ko
             onComplete: function () { huePubSub.publish('assist.adls.refresh'); } }" title="${_('Upload file')}" href="javascript:void(0)">
         <div class="dz-message inline" data-dz-message><i class="pointer fa fa-plus" title="${_('Upload file')}"></i></div>
       </a>
+      % endif
       <a class="inactive-action" href="javascript:void(0)" data-bind="click: function () { huePubSub.publish('assist.adls.refresh'); }" title="${_('Manual refresh')}"><i class="pointer fa fa-refresh" data-bind="css: { 'fa-spin blue' : loading }"></i></a>
     </div>
   </script>
@@ -1065,7 +1069,7 @@ from desktop.views import _ko
   </script>
 
   <script type="text/html" id="assist-panel-template">
-    <div class="assist-panel" data-bind="dropzone: { url: '/filebrowser/upload/file?dest=' + DROPZONE_HOME_DIR, params: {dest: DROPZONE_HOME_DIR}, paramName: 'hdfs_file', onComplete: function(path){ huePubSub.publish('assist.dropzone.complete', path); } }">
+    <div class="assist-panel" data-bind="dropzone: { url: '/filebrowser/upload/file?dest=' + DROPZONE_HOME_DIR, params: {dest: DROPZONE_HOME_DIR}, paramName: 'hdfs_file', onComplete: function(path){ huePubSub.publish('assist.dropzone.complete', path); }, disabled: '${ not SHOW_UPLOAD_BUTTON.get() }' === 'True' }">
       <!-- ko if: availablePanels().length > 1 -->
       <div class="assist-panel-switches">
         <!-- ko foreach: availablePanels -->

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

@@ -24,6 +24,7 @@
   from desktop.models import PREFERENCE_IS_WELCOME_TOUR_SEEN, ANALYTIC_DB, hue_version
 
   from dashboard.conf import IS_ENABLED as IS_DASHBOARD_ENABLED
+  from filebrowser.conf import SHOW_UPLOAD_BUTTON
   from indexer.conf import ENABLE_NEW_INDEXER
   from metadata.conf import has_optimizer, OPTIMIZER
 
@@ -318,6 +319,7 @@ ${ hueIcons.symbols() }
           <!-- /ko -->
         </div>
         <div class="hue-sidebar-footer-panel">
+          % if SHOW_UPLOAD_BUTTON.get():
           <div data-bind="dropzone: {
             clickable: false,
             url: '/filebrowser/upload/file?dest=' + DROPZONE_HOME_DIR,
@@ -328,6 +330,7 @@ ${ hueIcons.symbols() }
             click: function(){ page('/indexer/importer/') }" class="pointer" title="${ _('Import data wizard') }">
             <div class="dz-message" data-dz-message><i class="fa fa-fw fa-cloud-upload"></i> ${ _('Click or Drop files here') }</div>
           </div>
+          % endif
         </div>
       % endif
     </div>

+ 2 - 1
desktop/libs/indexer/src/indexer/templates/importer.mako

@@ -19,6 +19,7 @@
 
   from desktop import conf
   from desktop.views import commonheader, commonfooter, commonshare, commonimportexport, _ko
+  from filebrowser.conf import SHOW_UPLOAD_BUTTON
   from notebook.conf import ENABLE_SQL_INDEXER
 
   from indexer.conf import ENABLE_NEW_INDEXER, ENABLE_SQOOP, ENABLE_KAFKA, CONFIG_INDEXER_LIBS_PATH, ENABLE_SCALABLE_INDEXER, ENABLE_ALTUS
@@ -72,7 +73,7 @@ ${ assist.assistPanel() }
 % endif
 </style>
 
-<span id="importerComponents" class="notebook importer-main" data-bind="dropzone: { url: '/filebrowser/upload/file?dest=' + DROPZONE_HOME_DIR, params: {dest: DROPZONE_HOME_DIR}, paramName: 'hdfs_file', onComplete: function(path){ createWizard.source.path(path); } }">
+<span id="importerComponents" class="notebook importer-main" data-bind="dropzone: { url: '/filebrowser/upload/file?dest=' + DROPZONE_HOME_DIR, params: {dest: DROPZONE_HOME_DIR}, paramName: 'hdfs_file', onComplete: function(path){ createWizard.source.path(path); }, disabled: '${ not SHOW_UPLOAD_BUTTON.get() }' === 'True'  }">
 <div class="dz-message" data-dz-message></div>
 <div class="navbar hue-title-bar">
   <div class="navbar-inner">