module Contabilidade
class InssController < ApplicationController
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :set_inss, only: [:show, :edit, :update, :destroy]

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

	# GET /contabilidade/inss/1
	def show
	end

	# GET /contabilidade/inss/new
	def new
		@inss = Contabilidade::Inss.new
	end

	# GET /contabilidade/inss/1/edit
	def edit
	end

	# POST /contabilidade/inss
	def create
		@inss = Contabilidade::Inss.new(inss_params)

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

	# PATCH/PUT /contabilidade/inss/1
	def update
		if @inss.update( inss_params )
			redirect_to @inss, notice: 'Inss foi atualizado(a) com sucesso.'
		else
			render :edit
		end
	end

	# DELETE /contabilidade/inss/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@inss)
		redirect_to contabilidade_inss_index_url(contabilidade_atual), mensagem
	end

	private
	def set_inss
		@inss = Inss.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def inss_params
		params.require(:contabilidade_inss).permit(:competencia, :teto_retencao, :ano_de_referencia)

	end
end
end
