% layout 'job';
% title 'Edit Job';
<h2>Edit <%= $job->name %></h2>

<form action="/project/<%= $project->directory %>/job/<%= $job->directory %>/edit" method="post">

  <div class="panel panel-default">

    <div class="panel-heading">Basic Settings</div>
    <div class="panel-body">

      <div class="form-group">
        <label for="job_name">Job Name</label>
        <input type="text" class="form-control" id="job_name" name="job_name" placeholder="My new job" value="<%= $job->name %>" required>
      </div>

      <div class="form-group">
        <label for="job_description">Job Description</label>
        <textarea class="form-control" id="job_description" name="job_description"><%= $job->description %></textarea>
      </div>


    </div>
  </div>

  <div class="panel panel-default">
    <div class="panel-heading">Options</div>
    <div class="panel-body">
      <div>
        <div class="col-xs-2">
          Environment
        </div>
        <div class="col-xs-10">
          <div class="checkbox" style="display: inline;">
            <select name="environment" id="environment">
              <option value="">default</option>
% for my $rexfile (@{ $project->rexfiles }) {
  % for my $env (@{ $rexfile->environments }) {
  <option value="" <% if($env eq $job->environment) { %>selected="selected"<% } %>><%= $env %></option>
  % }
% }
            </select>
          </div>
        </div>
      </div>

    </div>
  </div>


  <div class="panel panel-default">
    <div class="panel-heading">Workflow</div>
    <div class="panel-body">

      <div>
        <div class="col-xs-2">
          If a step fails
        </div>
        <div class="col-xs-10">
          <div class="checkbox" style="display: inline;">
            <label>
              <input type="radio" name="fail_strategy" value="terminate" <% if($job->fail_strategy eq "terminate") { %>checked="checked"<% } %>> Terminate execution
            </label>
          </div>

          <div class="checkbox" style="display: inline;">
            <label>
              <input type="radio" name="fail_strategy" value="continue" <% if($job->fail_strategy eq "continue") { %>checked="checked"<% } %>> Continue execution
            </label>
          </div>
        </div>
      </div>

      <div>
        <div class="col-xs-2">
          Execute strategy
        </div>
        <div class="col-xs-10">
          <div class="checkbox" style="display: inline;">
            <label>
              <input type="radio" name="execute_strategy" value="node" <% if($job->execute_strategy eq "node") { %>checked="checked"<% } %>> Node
            </label>
          </div>

          <div class="checkbox" style="display: inline;">
            <label>
              <input type="radio" name="execute_strategy" value="step" <% if($job->execute_strategy eq "step") { %>checked="checked"<% } %>> Step
            </label>
          </div>
        </div>
      </div>

    </div>
  </div>
 
  <div class="panel panel-default">
    <div class="panel-heading">Steps</div>
    <div class="panel-body">

      <div class="col-xs-3">
        <ul id="workflow_steps" class="connectedSortable">
% for my $step (@{ $job->steps }) {
% my ($rexfile, $task) = split(/\//, $step);
          <li class="sortable-target-item" rexfile="<%= $rexfile %>" task="<%= $task %>"><%= $rexfile %> / <%= $task %></li>
% }
 
        </ul>
      </div>

      <div class="col-xs-3">
        <ul id="available_steps" class="connectedSortable">
% for my $rexfile (@{ $project->rexfiles }) {
  % for my $task (@{ $rexfile->tasks }) {
          <li class="sortable-source-item" rexfile="<%= $rexfile->directory %>" task="<%= $task %>"><%= $rexfile->name %> / <%= $task %></li>
  % }
% }
        </ul>
      </div>

    </div>
  </div>

  <script>
    $(function() {
      $( "#workflow_steps, #available_steps" ).sortable({
        connectWith: ".connectedSortable",
        update: function(event, ui) {
          var x = new Array();
          $("#workflow_steps").find("li").each(function(idx, itm) {
            x.push($(itm).attr("rexfile") + "/" + $(itm).attr("task"));
          });

          $("#hdn_workflow_steps").val(x.join(","));
        }
      }).disableSelection();
    });
  </script>

  <input type="hidden" id="hdn_workflow_steps" name="hdn_workflow_steps" value="<%= join(",", @{ $job->steps }) %>" />

  <button type="submit" class="btn btn-warning">Save Job</button>
</form>