Sfoglia il codice sorgente

HUE-8758 [connectors] Replace enable flag by checking if configured

Romain 6 anni fa
parent
commit
ae19b16c6b

+ 2 - 2
apps/about/src/about/templates/admin_wizard.mako

@@ -22,7 +22,7 @@ from django.utils.translation import ugettext as _
 from metadata.conf import OPTIMIZER, has_optimizer
 
 from desktop.auth.backend import is_admin
-from desktop.conf import CONNECTORS
+from desktop.conf import has_connectors
 from desktop.views import commonheader, commonfooter
 %>
 
@@ -74,7 +74,7 @@ ${ layout.menubar(section='quick_start') }
 
           <div id="step2" class="stepDetails hide">
             <h3>${ _('Connectors to data services') }</h3>
-            % if CONNECTORS.IS_ENABLED.get():
+            % if has_connectors():
               <a href="${ url('desktop.lib.connectors.views.index') }"><i class="fa fa-exchange"></i> ${ _('Configure') }</a>
             % else:
               <a href="${ url('desktop.views.dump_config') }" target="_blank">${ _('Configuration') }</a>

+ 21 - 16
desktop/core/src/desktop/conf.py

@@ -685,22 +685,6 @@ METRICS = ConfigSection(
 )
 
 
-CONNECTORS = ConfigSection(
-  key='connectors',
-  help=_("""Configuration options for connectors to external services"""),
-  members=dict(
-    IS_ENABLED=Config(
-      key='is_enabled',
-      help=_('Enable connector page'),
-      default=False,
-      type=coerce_bool),
-   LIST=Config(
-      key='list',
-      default=['impala'],
-      type=coerce_csv),
-  )
-)
-
 ANALYTICS = ConfigSection(
   key='analytics',
   help=_("""Configuration options for analytics user usage for admins"""),
@@ -1777,12 +1761,16 @@ def get_clusters(user):
   return OrderedDict(clusters)
 
 
+# Deprecated
 def has_multi_cluster():
   return bool(CLUSTERS.get())
 
 def has_multi_clusters():
   return len(CLUSTERS.get()) > 1
 
+def has_connectors():
+  return len(CONNECTORS.get()) > 1
+
 
 CLUSTERS = UnspecifiedConfigSection(
   "clusters",
@@ -1819,6 +1807,23 @@ CLUSTERS = UnspecifiedConfigSection(
 )
 
 
+CONNECTORS = ConfigSection(
+  key='connectors',
+  help=_("""Configuration options for connectors to external services"""),
+  members=dict(
+    # IS_ENABLED=Config(
+    #   key='is_enabled',
+    #   help=_('Enable connector page'),
+    #   default=False,
+    #   type=coerce_bool),
+   LIST=Config(
+      key='list',
+      default=['impala'],
+      type=coerce_csv),
+  )
+)
+
+
 def validate_ldap(user, config):
   res = []
 

+ 2 - 2
desktop/core/src/desktop/templates/about_layout.mako

@@ -18,7 +18,7 @@
 from django.utils.translation import ugettext as _
 
 from desktop.auth.backend import is_admin
-from desktop.conf import METRICS, CONNECTORS, ANALYTICS
+from desktop.conf import METRICS, has_connectors, ANALYTICS
 
 def is_selected(section, matcher):
   if section == matcher:
@@ -46,7 +46,7 @@ def is_selected(section, matcher):
                 <li class="${is_selected(section, 'dump_config')}">
                   <a href="${ url('desktop.views.dump_config') }">${_('Configuration')}</a>
                 </li>
-                % if CONNECTORS.IS_ENABLED.get():
+                % if has_connectors():
                 <li class="${is_selected(section, 'connectors')}">
                   <a href="${ url('desktop.lib.connectors.views.index') }">${_('Connectors')}</a>
                 </li>

+ 10 - 7
desktop/core/src/desktop/urls.py

@@ -19,7 +19,7 @@ from __future__ import absolute_import
 
 import logging
 import re
-import debug_toolbar
+
 
 # FIXME: This could be replaced with hooking into the `AppConfig.ready()`
 # signal in Django 1.7:
@@ -27,6 +27,8 @@ import debug_toolbar
 # https://docs.djangoproject.com/en/1.7/ref/applications/#django.apps.AppConfig.ready
 #
 
+import debug_toolbar
+
 import desktop.lib.metrics.file_reporter
 desktop.lib.metrics.file_reporter.start_file_reporter()
 
@@ -35,18 +37,19 @@ from django.conf.urls import include, url
 from django.contrib import admin
 from django.views.static import serve
 
+from notebook import views as notebook_views
+from useradmin import views as useradmin_views
+
 from desktop import appmanager
-from desktop.conf import METRICS, USE_NEW_EDITOR, ENABLE_DJANGO_DEBUG_TOOL, CONNECTORS, ANALYTICS
 
-from desktop.auth import views as desktop_auth_views
-from desktop.settings import is_oidc_configured
 from desktop import views as desktop_views
 from desktop import api as desktop_api
 from desktop import api2 as desktop_api2
-from notebook import views as notebook_views
+from desktop.auth import views as desktop_auth_views
+from desktop.conf import METRICS, USE_NEW_EDITOR, ENABLE_DJANGO_DEBUG_TOOL, ANALYTICS, has_connectors
 from desktop.configuration import api as desktop_configuration_api
 from desktop.lib.vcs import api as desktop_lib_vcs_api
-from useradmin import views as useradmin_views
+from desktop.settings import is_oidc_configured
 
 # Django expects handler404 and handler500 to be defined.
 # django.conf.urls provides them. But we want to override them.
@@ -195,7 +198,7 @@ if METRICS.ENABLE_WEB_METRICS.get():
     url(r'^desktop/metrics/?', include('desktop.lib.metrics.urls'))
   ]
 
-if CONNECTORS.IS_ENABLED.get():
+if has_connectors():
   dynamic_patterns += [
     url(r'^desktop/connectors/?', include('desktop.lib.connectors.urls'))
   ]

+ 2 - 2
desktop/libs/notebook/src/notebook/conf.py

@@ -21,7 +21,7 @@ from django.utils.translation import ugettext_lazy as _t
 
 
 from desktop import appmanager
-from desktop.conf import is_oozie_enabled, CONNECTORS
+from desktop.conf import is_oozie_enabled, has_connectors
 from desktop.lib.conf import Config, UnspecifiedConfigSection, ConfigSection, coerce_json_dict, coerce_bool, coerce_csv
 
 
@@ -68,7 +68,7 @@ def get_ordered_interpreters(user=None):
   if unknown_interpreters:
     raise ValueError("Interpreters from interpreters_shown_on_wheel is not in the list of Interpreters %s" % unknown_interpreters)
 
-  if CONNECTORS.IS_ENABLED.get():
+  if has_connectors():
     reordered_interpreters = [{
         'name': i['name'],
         'type': i['type'],

+ 3 - 3
desktop/libs/notebook/src/notebook/connectors/base.py

@@ -23,12 +23,12 @@ import uuid
 
 from django.utils.translation import ugettext as _
 
-from desktop.conf import has_multi_cluster, TASK_SERVER
+from desktop.conf import has_multi_cluster, TASK_SERVER, has_connectors
 from desktop.lib import export_csvxls
 from desktop.lib.exceptions_renderable import PopupException
 from desktop.lib.i18n import smart_unicode
 
-from notebook.conf import get_ordered_interpreters, CONNECTORS
+from notebook.conf import get_ordered_interpreters
 from notebook.sql_utils import get_current_statement
 
 
@@ -325,7 +325,7 @@ def get_api(request, snippet):
   interface = interpreter['interface']
 
 
-  if CONNECTORS.IS_ENABLED.get():
+  if has_connectors():
     cluster = {
       'connector': snippet['type'],
       'id': interpreter['type'],