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