Explorar o código

HUE-8758 [connector] API to install connector examples

Romain %!s(int64=5) %!d(string=hai) anos
pai
achega
7b4fdebdf3

+ 3 - 4
apps/about/src/about/templates/admin_wizard.mako

@@ -86,7 +86,8 @@ ${ layout.menubar(section='quick_start') }
                 </a>
               </li>
               <li>
-                <a href="${ url('desktop.lib.connectors.views.index') }" title="${ _('Install the connector examples') }">
+                <a href="javascript:void(0)" class="installBtn" title="${ _('Install the connector examples') }"
+                  data-loading-text="${ _('Installing...') }" data-sample-url="${ url('connectors.api.install_connector_examples') }">
                   <i class="fa fa-download"></i> ${ _('Install Examples') }
                 </a>
               </li>
@@ -214,9 +215,7 @@ ${ layout.menubar(section='quick_start') }
             <div class="margin-top-30">
               <h3>${ _('Skip wizard next time') }</h3>
               <label class="checkbox">
-                <input id="updateSkipWizard" type="checkbox"
-                       style="margin-right: 10px"
-                       title="${ _('Check to skip this wizard next time.') }"/>
+                <input id="updateSkipWizard" type="checkbox" style="margin-right: 10px" title="${ _('Check to skip this wizard next time.') }"/>
                 ${ _('Skip the Quick Start Wizard at next login and land directly on your starred application.') }
               </label>
             </div>

+ 14 - 1
desktop/core/src/desktop/lib/connectors/api.py

@@ -25,7 +25,7 @@ from useradmin.models import update_app_permissions
 from desktop.auth.decorators import admin_required
 from desktop.lib.django_util import JsonResponse, render
 from desktop.lib.exceptions_renderable import PopupException
-from desktop.lib.connectors.models import _get_installed_connectors, get_connectors_types, Connector
+from desktop.lib.connectors.models import _get_installed_connectors, get_connectors_types, Connector, _create_connector_examples
 from desktop.lib.connectors.types import get_connectors_types, get_connector_categories, get_connector_by_type
 
 
@@ -111,6 +111,19 @@ def delete_connector(request):
   return JsonResponse({})
 
 
+@admin_required
+def install_connector_examples(request):
+  try:
+    _create_connector_examples()
+  except Exception as e:
+    raise PopupException(_('Error installing connector examples: %s') % e)
+
+  update_app_permissions()
+
+  return JsonResponse({})
+
+
+
 def _group_by_category(conns):
   return [{
       'category': category['type'],

+ 2 - 0
desktop/core/src/desktop/lib/connectors/urls.py

@@ -30,4 +30,6 @@ urlpatterns = [
   url(r'^api/instance/get/(?P<id>\d+)$', api.get_connector, name='connectors.api.get_connector'),
   url(r'^api/instance/delete/?$', api.delete_connector, name='connectors.api.delete_connector'),
   url(r'^api/instance/update/?$', api.update_connector, name='connectors.api.update_connector'),
+
+  url(r'^api/examples/install/?$', api.install_connector_examples, name='connectors.api.install_connector_examples'),
 ]