Page MenuHomeGRNET

No OneTemporary

File Metadata

Created
Fri, Aug 8, 8:44 PM
diff --git a/app/assets/javascripts/jobs.js b/app/assets/javascripts/jobs.js
index 4647e6e..5d42966 100644
--- a/app/assets/javascripts/jobs.js
+++ b/app/assets/javascripts/jobs.js
@@ -1,28 +1,29 @@
$(document).ready(function() {
$("#job_template_schedule_id").change(function() {
showSchedule();
});
$("#job_template_fileset_id").change(function() {
showFileset();
});
if ($('a#toggle-advanced').size() > 0) {
$('a#toggle-advanced').click(function() {
$('#advanced').toggleClass('hidden');
});
};
});
function showSchedule() {
var scheduleId = $("#job_template_schedule_id").val();
$.ajax({
url: "/hosts/" + hostId + "/schedules/" + scheduleId,
data: jobIdParam
});
}
function showFileset() {
var filesetId = $("#job_template_fileset_id").val();
$.ajax({
- url: "/hosts/" + hostId + "/filesets/" + filesetId
+ url: "/hosts/" + hostId + "/filesets/" + filesetId,
+ data: jobIdParam
});
}
diff --git a/app/controllers/filesets_controller.rb b/app/controllers/filesets_controller.rb
index 438f879..261bf6d 100644
--- a/app/controllers/filesets_controller.rb
+++ b/app/controllers/filesets_controller.rb
@@ -1,94 +1,94 @@
class FilesetsController < ApplicationController
before_action :require_logged_in
before_action :fetch_host, only: [:new, :create, :show, :edit, :update]
- before_action :fetch_job_id, only: [:new, :create, :edit, :update]
+ before_action :fetch_job_id, only: [:new, :create, :edit, :update, :show]
before_action :fetch_fileset, only: [:show, :edit, :update]
# GET /hosts/:host_id/filesets/new
def new
@fileset = @host.filesets.new
@fileset.include_directions = { 'file' => [nil] }
@fileset.exclude_directions = ['']
end
# GET /hosts/:host_id/filesets/:id
def show
@fileset = @host.filesets.find(params[:id])
respond_to do |format|
format.js {}
end
end
# GET /hosts/:host_id/filesets/:id/edit
def edit
@fileset.include_files = @fileset.include_directions['file']
@fileset.exclude_directions = [''] if @fileset.exclude_directions.empty?
end
# PATCH /hosts/:host_id/filesets/:id/
def update
fileset_params = fetch_params
if fileset_params[:exclude_directions].nil?
fileset_params[:exclude_directions] = []
end
if @fileset.update(fileset_params)
flash[:success] = 'Fileset updated successfully'
participating_hosts = @fileset.participating_hosts
if participating_hosts.size.nonzero?
participating_hosts.each(&:recalculate)
flash[:alert] = 'You will need to redeploy the afffected clients: ' +
participating_hosts.map(&:name).join(', ')
end
if @job_id
redirect_to edit_host_job_path(@host, @job_id, fileset_id: @fileset.id)
else
redirect_to new_host_job_path(@host, fileset_id: @fileset.id)
end
else
render :edit
end
end
# POST /hosts/:host_id/filesets
def create
@fileset = @host.filesets.new(fetch_params)
if @fileset.save
flash[:success] = 'Fileset created'
if @job_id.present?
redirect_to edit_host_job_path(@host, @job_id, fileset_id: @fileset.id)
else
redirect_to new_host_job_path(@host, fileset_id: @fileset.id)
end
else
@fileset.include_files = nil
@fileset.exclude_directions = ['']
@fileset.include_directions = { 'file' => [nil] }
render :new
end
end
# DELETE /hosts/:host_id/filesets/:id
def destroy
end
private
def fetch_host
@host = current_user.hosts.find(params[:host_id])
end
def fetch_job_id
@job_id = @host.job_templates.find(params[:job_id]).id if params[:job_id].present?
end
def fetch_fileset
@fileset = @host.filesets.find(params[:id])
end
def fetch_params
params.require(:fileset).permit(:name, exclude_directions: [], include_files: [])
end
end

Event Timeline