module GestaoDeEstoque
class EscolasController < ApplicationController
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :set_escola, only: [:show, :edit, :update, :destroy]

	# GET /gestao_de_estoque/escolas
	def index
		@q = Escola.order(:id).search(params[:q])
		@escolas = @q.result(distinct: false).paginate(page: params[:page], per_page: 10)

		respond_to do |format|
			format.html
			format.json
		end
	end

	# GET /gestao_de_estoque/escolas/1
	def show
		respond_to do |format|
			format.html
			format.json
		end
	end

	# GET /gestao_de_estoque/escolas/new
	def new
		@escola = Escola.new
	end

	# GET /gestao_de_estoque/escolas/1/edit
	def edit
	end

	# POST /gestao_de_estoque/escolas
	def create
		@escola = Escola.new(escola_params)

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

	# PATCH/PUT /gestao_de_estoque/escolas/1
	def update
		if @escola.update( escola_params )
			redirect_to @escola, notice: 'Escola foi atualizado(a) com sucesso.'
		else
			render :edit
		end
	end

	# DELETE /gestao_de_estoque/escolas/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@escola)
		redirect_to gestao_de_estoque_escolas_url, mensagem
	end

	private
	def set_escola
		@escola = Escola.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def escola_params
		params.require(:gestao_de_estoque_escola).permit(:data_inicial, :data_final, :status, :nome, :diretor, :dependencia_administrativa)
		
	end
end
end
