67 lines
1.8 KiB
Ruby
67 lines
1.8 KiB
Ruby
class Admin::HealthCheckMonitorsController < OrbitAdminController
|
|
before_action ->(module_app = @app_title) { set_variables module_app }
|
|
before_action :set_monitor, only: [:show, :edit, :update, :destroy, :manual_check, :logs, :clean_logs]
|
|
|
|
def index
|
|
@monitors = HealthCheckMonitor.all.desc(:created_at).page(params[:page]).per(10)
|
|
render :partial => "index" if request.xhr?
|
|
end
|
|
|
|
def show
|
|
redirect_to logs_admin_health_check_monitor_path(@monitor)
|
|
end
|
|
|
|
def new
|
|
session[:return_to] = request.referer
|
|
@monitor = HealthCheckMonitor.new
|
|
end
|
|
|
|
def create
|
|
@monitor = HealthCheckMonitor.new(monitor_params)
|
|
@monitor.create_user_id = current_user.id
|
|
@monitor.update_user_id = current_user.id
|
|
@monitor.save
|
|
redirect_to session.delete(:return_to) || admin_health_check_monitors_path
|
|
end
|
|
|
|
def edit
|
|
session[:return_to] = request.referer
|
|
end
|
|
|
|
def update
|
|
@monitor.update_attributes(monitor_params)
|
|
@monitor.update_user_id = current_user.id
|
|
@monitor.save
|
|
redirect_to session.delete(:return_to) || admin_health_check_monitors_path
|
|
end
|
|
|
|
def destroy
|
|
@monitor.destroy
|
|
redirect_to admin_health_check_monitors_path
|
|
end
|
|
|
|
def manual_check
|
|
@monitor.update_attributes(:check_now => true)
|
|
redirect_to logs_admin_health_check_monitor_path(@monitor)
|
|
end
|
|
|
|
def logs
|
|
@logs = HealthCheckLog.where(:health_check_monitor_id => @monitor.id).desc(:created_at).page(params[:page]).per(20)
|
|
end
|
|
|
|
def clean_logs
|
|
HealthCheckLog.where(:health_check_monitor_id => @monitor.id).destroy_all
|
|
redirect_to logs_admin_health_check_monitor_path(@monitor)
|
|
end
|
|
|
|
private
|
|
|
|
def set_monitor
|
|
@monitor = HealthCheckMonitor.find(params[:id])
|
|
end
|
|
|
|
def monitor_params
|
|
params.require(:health_check_monitor).permit!
|
|
end
|
|
end
|