Page MenuHomeGRNET

hosts_controller.rb
No OneTemporary

File Metadata

Created
Mon, Jan 19, 5:38 AM

hosts_controller.rb

class HostsController < ApplicationController
before_action :fetch_host, only: [:show, :edit, :update, :destroy, :submit_config, :revoke]
# GET /hosts/new
def new
@host = Host.new
end
# POST /hosts
def create
@host = Host.new(fetch_params)
if @host.save
current_user.hosts << @host
redirect_to host_path @host
else
render :new
end
end
# GET /hosts/1
def show; end
# GET /hosts/1/edit
def edit; end
# PATCH /hosts/1
def update
updates = fetch_params.slice(:port, :password)
if updates.present? && @host.update_attributes(updates)
@host.recalculate
redirect_to host_path @host
else
render :edit
end
end
# DELETE /hosts/1
def destroy
@host.destroy
redirect_to root_path
end
# POST /hosts/1/submit_config
def submit_config
@host.dispatch_to_bacula
redirect_to host_path(@host)
end
# DELETE /hosts/1/revoke
def revoke
@host.remove_from_bacula
redirect_to root_path
end
private
def fetch_host
@host = current_user.hosts.includes(job_templates: [:fileset, :schedule]).find(params[:id])
end
def fetch_params
params.require(:host).permit(:fqdn, :port, :password)
end
end

Event Timeline