99 lines
1.6 KiB
Ruby
99 lines
1.6 KiB
Ruby
class Admin::AdminsController < ApplicationController
|
|
layout "admin"
|
|
|
|
before_action :auth_admin
|
|
|
|
before_action :is_super_admin
|
|
|
|
before_action :admin_space
|
|
|
|
def admin_space
|
|
@admin_space = "preferences"
|
|
end
|
|
|
|
|
|
def index
|
|
|
|
@admins = Admin.all
|
|
end
|
|
|
|
|
|
def show
|
|
@admin = Admin.find(params[:id])
|
|
|
|
|
|
date_regex = /^(0[1-9]|[12][0-9]|3[01])[\/](0[1-9]|1[012])[\/](19|20)\d\d$/i
|
|
|
|
if params[:start] and params[:start] =~ date_regex
|
|
@start = Date.parse(params[:start]).beginning_of_day
|
|
params[:start]= @start.strftime('%d/%m/%Y')
|
|
else
|
|
params[:start] = ""
|
|
end
|
|
|
|
if params[:stop] and params[:stop] =~ date_regex
|
|
@stop = Date.parse(params[:stop]).end_of_day
|
|
params[:stop]= @stop.strftime('%d/%m/%Y')
|
|
else
|
|
params[:stop] = ""
|
|
end
|
|
@timer_watchers = @admin.timer_watchers
|
|
@timer_watchers = @timer_watchers.after(@start) if @start
|
|
@timer_watchers = @timer_watchers.before(@stop) if @stop
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
def new
|
|
@admin = Admin.new
|
|
|
|
end
|
|
|
|
def edit
|
|
@admin = Admin.find(params[:id])
|
|
|
|
end
|
|
|
|
def create
|
|
@admin = Admin.new(admin_params)
|
|
|
|
if @admin.save
|
|
@admins = Admin.all
|
|
|
|
else
|
|
render :action => "new"
|
|
end
|
|
end
|
|
|
|
def update
|
|
@admin = Admin.find(params[:id])
|
|
|
|
if @admin.update_attributes(admin_params)
|
|
|
|
|
|
else
|
|
render :action => "edit"
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def destroy
|
|
@admin = Admin.find(params[:id])
|
|
|
|
@admin.destroy if @admin != @current_admin
|
|
|
|
end
|
|
|
|
private
|
|
def admin_params
|
|
params.require(:admin).permit!
|
|
end
|
|
|
|
|
|
|
|
end
|