Bladeren bron

HUE-5802 [editor] Integrated scheduler submission should not require a database id

Romain Rigaux 8 jaren geleden
bovenliggende
commit
c2c8574893

+ 2 - 1
apps/oozie/src/oozie/models2.py

@@ -328,7 +328,7 @@ class Workflow(Job):
 
 
   @property
   @property
   def id(self):
   def id(self):
-    return self.document.id
+    return self.document.id if self.document else None
 
 
   @property
   @property
   def uuid(self):
   def uuid(self):
@@ -3250,6 +3250,7 @@ class Coordinator(Job):
     if self.document is None:
     if self.document is None:
       raise PopupException(_('Cannot return workflow since document attribute is None.'))
       raise PopupException(_('Cannot return workflow since document attribute is None.'))
 
 
+    # Integrated scheduler
     if self.data['properties']['document']:
     if self.data['properties']['document']:
       document = Document2.objects.get_by_uuid(user=self.document.owner, uuid=self.data['properties']['document'])
       document = Document2.objects.get_by_uuid(user=self.document.owner, uuid=self.data['properties']['document'])
       wf_doc = WorkflowBuilder().create_workflow(document=document, user=self.document.owner, managed=True)
       wf_doc = WorkflowBuilder().create_workflow(document=document, user=self.document.owner, managed=True)

+ 1 - 1
apps/oozie/src/oozie/views/dashboard.py

@@ -1169,4 +1169,4 @@ def has_job_edition_permission(oozie_job, user):
 
 
 
 
 def has_dashboard_jobs_access(user):
 def has_dashboard_jobs_access(user):
-  return user.is_superuser or user.has_hue_permission(action="dashboard_jobs_access", app=DJANGO_APPS[0])
+  return user.is_superuser or user.has_hue_permission(action="dashboard_jobs_access", app=DJANGO_APPS[0])

+ 7 - 1
apps/oozie/src/oozie/views/editor2.py

@@ -594,7 +594,13 @@ def save_coordinator(request):
   if coordinator_data.get('id'):
   if coordinator_data.get('id'):
     coordinator_doc = Document2.objects.get(id=coordinator_data['id'])
     coordinator_doc = Document2.objects.get(id=coordinator_data['id'])
   else:
   else:
-    coordinator_doc = Document2.objects.create(name=coordinator_data['name'], uuid=coordinator_data['uuid'], type='oozie-coordinator2', owner=request.user, is_managed=coordinator_data.get('isManaged'))
+    coordinator_doc = Document2.objects.create(
+        name=coordinator_data['name'],
+        uuid=coordinator_data['uuid'],
+        type='oozie-coordinator2',
+        owner=request.user,
+        is_managed=coordinator_data.get('isManaged')
+    )
     Document.objects.link(coordinator_doc, owner=coordinator_doc.owner, name=coordinator_doc.name, description=coordinator_doc.description, extra='coordinator2')
     Document.objects.link(coordinator_doc, owner=coordinator_doc.owner, name=coordinator_doc.name, description=coordinator_doc.description, extra='coordinator2')
 
 
   scheduled_id = coordinator_data['properties']['workflow'] or coordinator_data['properties']['document']
   scheduled_id = coordinator_data['properties']['workflow'] or coordinator_data['properties']['document']

+ 3 - 3
desktop/core/src/desktop/templates/responsive.mako

@@ -203,7 +203,7 @@ ${ hueIcons.symbols() }
         </div>
         </div>
 
 
         <div class="compose-action btn-group">
         <div class="compose-action btn-group">
-          <button class="btn" title="${_('Submission history')}" data-bind="toggle: historyPanelVisible"><i class="fa fa-history"></i>  <div class="jobs-badge">20</div></button>
+          <button class="btn" title="${_('Submission history')}" data-bind="toggle: historyPanelVisible"><i class="fa fa-history"></i>  <div class="jobs-badge">5</div></button>
         </div>
         </div>
         <div class="jobs-panel" data-bind="visible: historyPanelVisible" style="display: none;">
         <div class="jobs-panel" data-bind="visible: historyPanelVisible" style="display: none;">
           <a class="pointer pull-right" data-bind="click: function(){ historyPanelVisible(false); }"><i class="fa fa-times"></i></a>
           <a class="pointer pull-right" data-bind="click: function(){ historyPanelVisible(false); }"><i class="fa fa-times"></i></a>
@@ -277,7 +277,7 @@ ${ hueIcons.symbols() }
         </div>
         </div>
 
 
         <div class="compose-action btn-group">
         <div class="compose-action btn-group">
-          <button class="btn" title="${_('Running jobs and workflows')}" data-bind="click: function(){ onePageViewModel.currentApp('jobbrowser') }">${ _('Jobs') } </button>
+          <button class="btn" title="${_('Running jobs and workflows')}" data-bind="click: function(){ onePageViewModel.currentApp('jobbrowser') }">${ _('Jobs') } <div class="jobs-badge">10</div></button>
           <button class="btn dropdown-toggle" data-bind="toggle: jobsPanelVisible">
           <button class="btn dropdown-toggle" data-bind="toggle: jobsPanelVisible">
             <span class="caret"></span>
             <span class="caret"></span>
           </button>
           </button>
@@ -389,7 +389,7 @@ ${ hueIcons.symbols() }
         <ul class="right-panel-tabs nav nav-pills">
         <ul class="right-panel-tabs nav nav-pills">
           <li data-bind="css: { 'active' : activeRightTab() === 'assistant' }, visible: assistantAvailable"><a href="javascript: void(0);" data-bind="click: function() { activeRightTab('assistant'); }">${ _('Assistant') }</a></li>
           <li data-bind="css: { 'active' : activeRightTab() === 'assistant' }, visible: assistantAvailable"><a href="javascript: void(0);" data-bind="click: function() { activeRightTab('assistant'); }">${ _('Assistant') }</a></li>
           <li data-bind="css: { 'active' : activeRightTab() === 'functions' }"><a href="javascript: void(0);" data-bind="click: function() { activeRightTab('functions'); }">${ _('Functions') }</a></li>
           <li data-bind="css: { 'active' : activeRightTab() === 'functions' }"><a href="javascript: void(0);" data-bind="click: function() { activeRightTab('functions'); }">${ _('Functions') }</a></li>
-          <li data-bind="css: { 'active' : activeRightTab() === 'schedules' }"><a href="javascript: void(0);" data-bind="click: function() { activeRightTab('schedules'); }">${ _('Schedules') }</a></li>
+          <li data-bind="css: { 'active' : activeRightTab() === 'schedules' }"><a href="javascript: void(0);" data-bind="click: function() { activeRightTab('schedules'); }">${ _('Schedule') }</a></li>
         </ul>
         </ul>
 
 
         <div class="right-panel-tab-content tab-content">
         <div class="right-panel-tab-content tab-content">