module Contabilidade
class InssPessoasFisicasController < ApplicationController
	include ContabilidadeControllerConcern
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action do
		autoriza_usuario!(action_name, 'contabilidade/inss')
	end
	before_action :set_inss_pessoa_fisica, only: [:show, :edit, :update, :destroy]
	before_action :set_inss, only: [:new, :create]

	# GET /contabilidade/inss_pessoas_fisicas/1
	def show
	end

	# GET /contabilidade/inss_pessoas_fisicas/new
	def new
		@inss_pessoa_fisica = @inss.inss_pessoas_fisicas.new
	end

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

	# POST /contabilidade/inss_pessoas_fisicas
	def create
		@inss_pessoa_fisica = @inss.inss_pessoas_fisicas.new(inss_pessoa_fisica_params)

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

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

	# DELETE /contabilidade/inss_pessoas_fisicas/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@inss_pessoa_fisica)
		redirect_to contabilidade_inss_pessoa_fisica_url, mensagem
	end

	private
	def set_inss_pessoa_fisica
		@inss_pessoa_fisica = InssPessoaFisica.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def inss_pessoa_fisica_params
		params.require(:contabilidade_inss_pessoa_fisica).permit(:aliquota, :base_de_calculo, :descricao )
	end

	def set_inss
		@inss = Contabilidade::Inss.find(params[:inss_id])
	end
end
end
