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

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

	# GET /contabilidade/mapeamentos_manuais/1
	def show
	end

	# GET /contabilidade/mapeamentos_manuais/new
	def new
		@mapeamento_manual = MapeamentoManual.new
	end

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

	# POST /contabilidade/mapeamentos_manuais
	def create
		@mapeamento_manual = MapeamentoManual.new(mapeamento_manual_params)

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

	# PATCH/PUT /contabilidade/mapeamentos_manuais/1
	def update
		if @mapeamento_manual.update( mapeamento_manual_params )
			redirect_to @mapeamento_manual, notice: 'Mapeamento manual foi atualizado(a) com sucesso.'
		else
			render :edit
		end
	end

	# DELETE /contabilidade/mapeamentos_manuais/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@mapeamento_manual)
		redirect_to contabilidade_mapeamentos_manuais_url, mensagem
	end

	private
	def set_mapeamento_manual
		@mapeamento_manual = MapeamentoManual.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def mapeamento_manual_params
		params.require(:contabilidade_mapeamento_manual).permit(:periodo_matriz_de_saldo_contabil_id, :anexo, :linha, :coluna, :mes, :tipo, :valor)
		
	end
end
end
