Browse Source

HUE-870 [oozie] Use universal action bar

Added actions in coordinator editor and workflow editor
Enrico Berti 13 years ago
parent
commit
ca9c494

+ 25 - 1
apps/oozie/src/oozie/templates/editor/edit_coordinator.mako

@@ -73,6 +73,12 @@ ${ layout.menubar(section='coordinators') }
               <li><a href="#listHistory">${ _('Show history') }</a></li>
           % endif
 
+          % if coordinator:
+              <li class="nav-header">${ _('Actions') }</li>
+              <li><a id="submit-btn" href="javascript:void(0)" data-submit-url="${ url('oozie:submit_coordinator', coordinator=coordinator.id) }" title="${ _('Submit this coordinator') }" rel="tooltip" data-placement="right"><i class="icon-play"></i> ${ _('Submit') }</a></li>
+              <li><a id="clone-btn" href="javascript:void(0)" data-clone-url="${ url('oozie:clone_coordinator', coordinator=coordinator.id) }" title="${ _('Clone this coordinator') }" rel="tooltip" data-placement="right"><i class="icon-retweet"></i> ${ _('Clone') }</a></li>
+          % endif
+
         </ul>
       </div>
     </div>
@@ -401,7 +407,7 @@ ${ layout.menubar(section='coordinators') }
 
 </div>
 
-
+<div id="submit-job-modal" class="modal hide"></div>
 
 <form class="form-horizontal" id="add-dataset-form"></form>
 <form class="form-horizontal" id="edit-dataset-form"></form>
@@ -691,6 +697,24 @@ ${ layout.menubar(section='coordinators') }
       $(".save").click(function () {
         window.viewModel.submit();
       });
+
+      $("#clone-btn").on("click", function () {
+        var _url = $(this).data("clone-url");
+        $.post(_url, function (data) {
+          window.location = data.url;
+        });
+      });
+
+      $("#submit-btn").on("click", function () {
+        var _url = $(this).data("submit-url");
+        $.get(_url, function (response) {
+            $("#submit-job-modal").html(response);
+            $("#submit-job-modal").modal("show");
+          }
+        );
+      });
+
+      $("a[rel='tooltip']").tooltip();
     });
   </script>
 % endif

+ 23 - 6
apps/oozie/src/oozie/templates/editor/edit_workflow.mako

@@ -40,13 +40,14 @@ ${ layout.menubar(section='workflows') }
   <div class="well">
     <span data-bind="text: '${ _('Description') }: ' + description() || 'N/A'"></span>
     <div class="pull-right" style="margin-top:-5px">
+      % if user_can_access_job:
+          <a id="submit-btn" href="#" data-submit-url="${ url('oozie:submit_workflow', workflow=workflow.id) }" class="btn" title="${ _('Submit this workflow') }" rel="tooltip" data-placement="bottom"><i class="icon-play"></i> ${ _('Submit') }</a>
+          <a href="${ url('oozie:schedule_workflow', workflow=workflow.id) }" class="btn" title="${ _('Schedule this workflow') }" rel="tooltip" data-placement="bottom"><i class="icon-calendar"></i> ${ _('Schedule') }</a>
+          <a id="clone-btn" href="#" data-clone-url="${ url('oozie:clone_workflow', workflow=workflow.id) }" class="btn" title="${ _('Clone this workflow') }" rel="tooltip" data-placement="bottom"><i class="icon-retweet"></i> ${ _('Clone') }</a>
+          &nbsp;&nbsp;&nbsp;&nbsp;
+      % endif
       % if user_can_edit_job:
-        <label>
-            <a data-bind="attr: {href: '/filebrowser/view' + deployment_dir() }" class="btn">
-              ${ _('Upload') }
-            </a>
-            ${ _('files to deployment directory.') }
-        </label>
+          <a data-bind="attr: {href: '/filebrowser/view' + deployment_dir() }" class="btn" title="${ _('Upload additional files and libraries to the deployment directory') }" rel="tooltip" data-placement="bottom"><i class="icon-upload"></i> ${ _('Upload') }</a>
       % endif
     </div>
   </div>
@@ -292,6 +293,8 @@ ${ layout.menubar(section='workflows') }
 
 <div id="modal-window" class="modal hide fade"></div>
 
+<div id="submit-wf-modal" class="modal hide"></div>
+
 <script src="/static/ext/js/codemirror-3.0.js"></script>
 <link rel="stylesheet" href="/static/ext/css/codemirror.css">
 <script src="/static/ext/js/codemirror-xml.js"></script>
@@ -770,6 +773,20 @@ window.onresize = function () {
 
 $(document).ready(function () {
   window.setInterval(checkModelDirtiness, 500);
+  $('#clone-btn').on('click', function () {
+    var _url = $(this).data('clone-url');
+    $.post(_url, function (data) {
+      window.location = data.url;
+    });
+  });
+  $('#submit-btn').on('click', function () {
+    var _url = $(this).data('submit-url');
+    $.get(_url, function (response) {
+        $('#submit-wf-modal').html(response);
+        $('#submit-wf-modal').modal('show');
+      }
+    );
+  });
 });
 
 function checkModelDirtiness() {

+ 1 - 1
apps/oozie/src/oozie/templates/editor/list_coordinators.mako

@@ -45,7 +45,7 @@ ${ layout.menubar(section='coordinators') }
       <div class="span4">
         <button class="btn action-buttons" id="submit-btn" disabled="disabled"><i class="icon-play"></i> ${ _('Submit') }</button>
       &nbsp;&nbsp;&nbsp;&nbsp;
-      <button class="btn action-buttons" id="clone-btn" disabled="disabled"><i class="icon-retweet"></i> ${ _('Copy') }</button>
+      <button class="btn action-buttons" id="clone-btn" disabled="disabled"><i class="icon-retweet"></i> ${ _('Clone') }</button>
       <button class="btn action-buttons" id="delete-btn" disabled="disabled"><i class="icon-remove"></i> ${ _('Delete') }</button>
       </div>
     </div>

+ 2 - 2
apps/oozie/src/oozie/templates/editor/list_workflows.mako

@@ -47,9 +47,9 @@ ${ layout.menubar(section='workflows') }
       </div>
       <div class="span4">
         <button class="btn action-buttons" id="submit-btn" disabled="disabled"><i class="icon-play"></i> ${ _('Submit') }</button>
-        <button class="btn action-buttons" id="schedule-btn" disabled="disabled"><i class="icon-refresh"></i> ${ _('Schedule') }</button>
+        <button class="btn action-buttons" id="schedule-btn" disabled="disabled"><i class="icon-calendar"></i> ${ _('Schedule') }</button>
         &nbsp;&nbsp;&nbsp;&nbsp;
-        <button class="btn action-buttons" id="clone-btn" disabled="disabled"><i class="icon-retweet"></i> ${ _('Copy') }</button>
+        <button class="btn action-buttons" id="clone-btn" disabled="disabled"><i class="icon-retweet"></i> ${ _('Clone') }</button>
         <button class="btn action-buttons" id="delete-btn" disabled="disabled"><i class="icon-remove"></i> ${ _('Delete') }</button>
       </div>
     </div>

+ 2 - 0
apps/oozie/src/oozie/views/editor.py

@@ -148,12 +148,14 @@ def import_workflow(request):
 def edit_workflow(request, workflow):
   history = History.objects.filter(submitter=request.user, job=workflow).order_by('-submission_date')
   workflow_form = WorkflowForm(instance=workflow)
+  user_can_access_job = workflow.is_accessible(request.user)
   user_can_edit_job = workflow.is_editable(request.user)
 
   return render('editor/edit_workflow.mako', request, {
     'workflow_form': workflow_form,
     'workflow': workflow,
     'history': history,
+    'user_can_access_job': user_can_access_job,
     'user_can_edit_job': user_can_edit_job,
     'job_properties': extract_field_data(workflow_form['job_properties']),
     'link_form': LinkForm(),