class FolgasController < ApplicationController
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :set_folga, only: [:show, :edit, :update, :destroy]

	# GET /folgas
	def index
		@q = Folga.order("data_da_folga desc").search(params[:q])
		@folgas = @q.result(distinct: false).paginate(page: params[:page], per_page: 10)
	end

	# GET /folgas/new
	def new
		@folga = Folga.new
	end

	# GET /folgas/1/edit
	def edit
	end

	# POST /folgas
	def create
		@folga = Folga.new(folga_params)

		if @folga.save
			redirect_to folgas_path, notice: 'Folga foi criado(a) com sucesso.'
		else
			render :new
		end
	end

	# PATCH/PUT /folgas/1
	def update
		if @folga.update( folga_params )
			redirect_to folgas_path, notice: 'Folga foi atualizado(a) com sucesso.'
		else
			render :edit
		end
	end

	# DELETE /folgas/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@folga)
		redirect_to folgas_path, mensagem
	end

	private
	def set_folga
		@folga = Folga.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def folga_params
		params.require(:folga).permit(:descricao, :data_da_folga, :tipo)

	end
end
