module Contabilidade::LiquidacaoHelper
	include Contabilidade::NotasFiscaisHelper

	def rota_liquidacoes
		if contabilidade_atual
		#verifica a rota de contabilidade
			if logado_no_financeiro? && (@liquidacao.try(:recebido_pelo_financeiro?) || params[:recebidos_pelo_financeiro])
				recebidos_pelo_financeiro_contabilidade_liquidacoes_path
			elsif logado_no_financeiro? && (@liquidacao.try(:enviado_para_o_financeiro?) || params[:enviados_para_o_financeiro])
				enviados_para_o_financeiro_contabilidade_liquidacoes_path
			elsif logado_no_financeiro? && (@liquidacao.try(:autorizado?) || params[:autorizados])
				autorizados_contabilidade_liquidacoes_path
			elsif logado_na_contabilidade? && (@liquidacao.try(:restos_a_pagar) || params[:restos_a_pagar])
				restos_a_pagar_contabilidade_liquidacoes_path
			elsif logado_na_contabilidade? && (@liquidacao.try(:recebido?) || params[:recebidos])
				recebidos_contabilidade_liquidacoes_path
			elsif logado_na_contabilidade? && (@liquidacao.try(:solicitado?) || params[:em_analise])
				em_analise_contabilidade_liquidacoes_path
			elsif logado_na_contabilidade? && (@liquidacao.try(:enviado_para_contabilidade?) || params[:enviados_para_contabilidade])
				enviados_para_contabilidade_contabilidade_liquidacoes_path
			else
				confirmados_contabilidade_liquidacoes_path
			end
		elsif logado_na_controladoria?
		#verifica a rota de controladoria
			if  @liquidacao.try(:enviado_para_controladoria?) || params[:pendentes]
				pendentes_controladoria_liquidacoes_path
			else
				controladoria_liquidacoes_path
			end
		else
			#verifica a rota do admistrativo
			if @liquidacao.try(:restos_a_pagar) || params[:restos_a_pagar]
				administrativo_liquidacao_restos_a_pagar_path
			elsif params[:confirmados] || @liquidacao.try(:data_da_liquidacao)
				administrativo_liquidacao_confirmadas_path
			else
				administrativo_liquidacoes_path
			end
		end

	end

	def breadcrumb_de_liquidacoes
		if params[:restos_a_pagar] || (@liquidacao.present? && @liquidacao.restos_a_pagar?)
			"Liquidações de Restos a Pagar"
		elsif params[:recebidos_pelo_financeiro]
			"Liquidações Recebidas No Financeiro"
		elsif params[:enviados_para_o_financeiro]
			"Liquidações Enviadas Para O Financeiro"
		elsif params[:autorizados]
			"Liquidações Autorizadas"
		elsif params[:recebidos]
			"Liquidações Recebidas"
		elsif params[:em_analise]
			"Liquidações A Liquidar"
		elsif params[:enviados_para_contabilidade]
			"Liquidações Enviadas Para A Contabilidade"
		elsif params[:pendentes]
			"Liquidações Pendentes"
		elsif params[:anulacao_liquidacao]
			"Liquidações Anuladas"
		elsif params[:confirmados]
			if logado_na_controladoria?
				"Outras Liquidações"
			else
				"Liquidações Confirmadas"
			end
		elsif logado_no_administrativo?
			if params[:confirmados] || @liquidacao.try(:data_da_liquidacao)
				"Liquidações Confirmadas"
			else
				"Liquidações Solicitadas"
			end
		else
			"Liquidações"
		end
	end

	def rota_liquidacao liquidacao=@liquidacao
		if logado_na_contabilidade? || logado_no_financeiro?
			contabilidade_liquidacao_path(liquidacao)
		elsif logado_na_controladoria?
			controladoria_liquidacoes_path(liquidacao)
		else
			administrativo_liquidacao_path(liquidacao)
		end
	end

	def status_label (status,enum)
		if enum == "confirmado"
			style = "success"
		elsif enum == "solicitado"
			style = "warning"
		elsif enum == "recebido_pelo_financeiro"
			style = "default"
		elsif enum == "recebido"
			style = "default"
		elsif enum == "autorizado"
			style = "primary"
		else
			style = "info"
		end
		text = status
		bs_label(text, style)
	end
end
