class JobLogsController < ApplicationController before_action :set_job_log, only: [ :show ] def index @job_logs = if params[:server_id] server = current_user.servers.find(params[:server_id]) server.job_logs.recent else JobLog.where(server_id: current_user.servers.pluck(:id)) .or(JobLog.where(server_id: nil)) .recent end @job_logs = @job_logs.page(params[:page]).per(20) if defined?(Kaminari) end def show end private def set_job_log @job_log = JobLog.find(params[:id]) # Authorize: user must own the server or job must be global (no server) unless @job_log.server_id.nil? || current_user.servers.exists?(id: @job_log.server_id) redirect_to job_logs_path, alert: "Not authorized" end end def authorize_user! redirect_to root_path, alert: "Please log in" unless current_user end end