class Contabilidade::ConveniosContasBancariasController < ApplicationController
	include ContabilidadeControllerConcern
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :disponibiliza_dependencias, only: [:new]
	before_action :set_convenio_conta_bancaria, only: [:destroy]
	before_action :set_convenio, only: [:new, :create]

	def new
		@convenio_conta_bancaria = @convenio.convenios_contas_bancarias.new
	end

	def create
		@convenio_conta_bancaria = @convenio.convenios_contas_bancarias.new( convenio_conta_bancaria_params )

		if @convenio_conta_bancaria.save
			redirect_to contabilidade_convenio_path(@convenio_conta_bancaria.convenio) + "?tab=convenios_contas_bancarias", notice: 'Conta Bancária adicionada com sucesso.'
		else
			disponibiliza_dependencias
			render :new
		end
	end

	def destroy
		mensagem = apaga_e_retorna_mensagem(@convenio_conta_bancaria)
		redirect_to contabilidade_convenio_path(@convenio_conta_bancaria.convenio) + "?tab=convenios_contas_bancarias", mensagem
	end

	private
	def convenio_conta_bancaria_params
		params.require(:contabilidade_convenio_conta_bancaria).permit(:convenio_id, :conta_bancaria_id)
	end

	def set_convenio_conta_bancaria
		@convenio_conta_bancaria = Contabilidade::ConvenioContaBancaria.find( params[:id] )
	end

	def set_convenio
		@convenio = Contabilidade::Convenio.find( params[:convenio_id] )
	end

	def disponibiliza_dependencias
		@contas_bancarias = Base::ContaBancaria.all
	end
end
