ソースを参照

HUE-7128 [core] Apply config ENABLE_DOWNLOAD to search dashboard download

Ying Chen 7 年 前
コミット
abfa4462dc

+ 5 - 0
desktop/libs/dashboard/src/dashboard/api.py

@@ -23,10 +23,12 @@ import uuid
 from django.utils.encoding import force_unicode
 from django.utils.translation import ugettext as _
 
+from desktop.conf import ENABLE_DOWNLOAD
 from desktop.lib.django_util import JsonResponse
 from desktop.lib.exceptions_renderable import PopupException
 from desktop.lib.rest.http_client import RestException
 from desktop.models import Document2
+from desktop.views import serve_403_error
 
 from libsolr.api import SolrApi
 
@@ -284,6 +286,9 @@ def get_terms(request):
 
 @allow_viewer_only
 def download(request):
+  if not ENABLE_DOWNLOAD.get():
+    return serve_403_error(request)
+
   try:
     file_format = 'csv' if 'csv' == request.POST.get('type') else 'xls' if 'xls' == request.POST.get('type') else 'json'
     facet = json.loads(request.POST.get('facet', '{}'))

+ 2 - 0
desktop/libs/dashboard/src/dashboard/templates/common_search.mako

@@ -1490,6 +1490,7 @@ ${ dashboard.layout_skeleton(suffix='search') }
           <!-- ko if: widgetType() != 'resultset-widget' -->
             <input type="hidden" name="facet" data-bind="value: ko.mapping.toJSON($data)">
           <!-- /ko -->
+          % if conf.ENABLE_DOWNLOAD.get():
           <div class="dropdown">
             <a class="grid-side-btn dropdown-toggle" style="padding-left:7px" data-toggle="dropdown">
               <i class="fa fa-download fa-fw"></i>
@@ -1517,6 +1518,7 @@ ${ dashboard.layout_skeleton(suffix='search') }
               ##</li>
             </ul>
           </div>
+          % endif
         </form>
         <!-- /ko -->