class AddPermissoes < ActiveRecord::Migration[4.2]
  def change

		#MÓDULO LICITAÇÃO
		modulo_licitacao = Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'licitacao', nome_de_exibicao:  "Licitação" )

		#Inicio
		controle = Acesso::Controle.find_or_create_by( nome_do_controle: 'licitacao/inicio', nome_de_exibicao: "Licitacao", modulo_id: modulo_licitacao.id)
		if Acesso::Controle.exists? id: controle.id
			Acesso::Acao.find_or_create_by!( nome_da_acao: "read",    nome_de_exibicao: "Visualizar", controle_id: controle.id)
		end

		modulo_contabilidade = Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'contabilidade', nome_de_exibicao:  "Contabilidade" )

		#Convenios - Contabilidade
		controle = Acesso::Controle.find_or_create_by!( nome_do_controle: 'contabilidade/convenios', nome_de_exibicao:  "Convênios", modulo_id: modulo_contabilidade.id)
		if Acesso::Controle.exists? id: controle.id
			Acesso::Acao.find_or_create_by!( nome_da_acao: "create", 	nome_de_exibicao: "Cadastrar", controle_id: controle.id)
			Acesso::Acao.find_or_create_by!( nome_da_acao: "read", 		nome_de_exibicao: "Visualizar", controle_id: controle.id)
			Acesso::Acao.find_or_create_by!( nome_da_acao: "update", 	nome_de_exibicao: "Editar", controle_id: controle.id)
			Acesso::Acao.find_or_create_by!( nome_da_acao: "destroy", nome_de_exibicao: "Remover", controle_id: controle.id)
			Acesso::Acao.find_or_create_by!( nome_da_acao: "importar", nome_de_exibicao: "Importar", controle_id: controle.id)
		end

		modulo_loa = Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'loa', nome_de_exibicao:  "Orçamento" )

		#Orgão - Loa
		controle = Acesso::Controle.find_or_create_by!( nome_do_controle: 'loa/orgaos', nome_de_exibicao:  "Orgãos", modulo_id: modulo_loa.id)
			if Acesso::Controle.exists? id: controle.id
				Acesso::Acao.find_or_create_by!( nome_da_acao: "importar", nome_de_exibicao: "Importar", 		controle_id: controle.id)
			end

		# TIPOS DE DEDUÇÃO
			controle = Acesso::Controle.find_or_create_by!( nome_do_controle: 'loa/tipos_de_deducao', nome_de_exibicao:  "Tipos de Dedução", modulo_id: modulo_loa.id)
			if Acesso::Controle.exists? id: controle.id
				Acesso::Acao.find_or_create_by!( nome_da_acao: "create", 	nome_de_exibicao: "Cadastrar", 	controle_id: controle.id)
				Acesso::Acao.find_or_create_by!( nome_da_acao: "read", 		nome_de_exibicao: "Visualizar", controle_id: controle.id)
				Acesso::Acao.find_or_create_by!( nome_da_acao: "update", 	nome_de_exibicao: "Editar", controle_id: controle.id)
				Acesso::Acao.find_or_create_by!( nome_da_acao: "destroy", nome_de_exibicao: "Remover", controle_id: controle.id)
			end

			modulo_projecao = Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'projecao', nome_de_exibicao:  "Projeção de Receitas" )

			#Receitas dos Cálculo de Projeção
			controle = Acesso::Controle.find_or_create_by( nome_do_controle: 'projecao/receitas_dos_calculos_de_projecao', nome_de_exibicao: "Receitas dos Cálculo de Projeção", modulo_id: modulo_projecao.id)
			if Acesso::Controle.exists? id: controle.id
				Acesso::Acao.find_or_create_by!( nome_da_acao: "create", nome_de_exibicao: "Cadastrar", controle_id: controle.id)
				Acesso::Acao.find_or_create_by!( nome_da_acao: "read", nome_de_exibicao: "Visualizar", controle_id: controle.id)
				Acesso::Acao.find_or_create_by!( nome_da_acao: "update", nome_de_exibicao: "Editar", controle_id: controle.id)
				Acesso::Acao.find_or_create_by!( nome_da_acao: "destroy", nome_de_exibicao: "Remover", controle_id: controle.id)
			end
  end
end
