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

	# GET /contabilidade/2016/inss_pessoas_juridicas
	def index
		@q = contabilidade_atual.inss_pessoas_juridicas.order(:codigo).search(params[:q])
		@inss_pessoas_juridicas = @q.result(distinct: false).paginate(page: params[:page], per_page: 10)
	end

	# GET /contabilidade/inss_pessoas_juridicas/1
	def show
	end

	# GET /contabilidade/2016/inss_pessoas_juridicas/new
	def new
		@inss_pessoa_juridica = contabilidade_atual.inss_pessoas_juridicas.new
	end

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

	# POST /contabilidade/2016/inss_pessoas_juridicas
	def create
		@inss_pessoa_juridica = contabilidade_atual.inss_pessoas_juridicas.new(inss_pessoa_juridica_params)

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

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

	# DELETE /contabilidade/inss_pessoas_juridicas/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@inss_pessoa_juridica)
		redirect_to contabilidade_inss_pessoas_juridicas_url(contabilidade_atual), mensagem
	end

	private
	def set_inss_pessoa_juridica
		@inss_pessoa_juridica = InssPessoaJuridica.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def inss_pessoa_juridica_params
		params.require(:contabilidade_inss_pessoa_juridica).permit(:descricao, :aliquota, :percentual_base_calculo)
	end
end
end
