module Base
class DocumentosController < ApplicationController
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :set_documento, only: [:show, :edit, :update, :destroy]

	# GET /base/documentos
	def index
		@q = Documento.order(:id).search(params[:q])
		@documentos = @q.result(distinct: false).paginate(page: params[:page], per_page: 10)
	end

	# GET /base/documentos/new
	def new
		@documento = Documento.new
	end

	# GET /base/documentos/1/edit
	def edit
	end

	# POST /base/documentos
	def create
		@documento = Documento.new(documento_params)

		if @documento.save
			redirect_to base_documentos_url, notice: 'Documento foi criado com sucesso.'
		else
			render :new
		end
	end

	# PATCH/PUT /base/documentos/1
	def update
		if @documento.update( documento_params )
			redirect_to base_documentos_url, notice: 'Documento foi atualizado com sucesso.'
		else
			render :edit
		end
	end

	# DELETE /base/documentos/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@documento)
		redirect_to base_documentos_url, mensagem
	end

	private
	def set_documento
		@documento = Documento.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def documento_params
		params.require(:base_documento).permit(:titulo)

	end
end
end
