Acesso::Permissao.delete_all

##########Controllers
controller_pedidos = Acesso::Controle.find_by!(nome_do_controle: 'licitacao/pedidos')
controller_pessoas_do_pedido = Acesso::Controle.find_by!(nome_do_controle: 'licitacao/pessoas_do_pedido')
controller_projeto = Acesso::Controle.find_by!(nome_do_controle: 'licitacao/projetos')
controller_processo =  Acesso::Controle.find_by!(nome_do_controle: 'licitacao/processos')
controller_documentos_do_processo =  Acesso::Controle.find_by!(nome_do_controle: 'licitacao/documentos_do_processo')
controller_contrato =  Acesso::Controle.find_by!(nome_do_controle: 'licitacao/contratos')
controller_publicacao =  Acesso::Controle.find_by!(nome_do_controle: 'licitacao/publicacoes')
contoller_licitacao =  Acesso::Controle.find_by!(nome_do_controle: 'licitacao/inicio')
controller_pessoas_do_projeto = Acesso::Controle.find_by!(nome_do_controle: 'licitacao/pessoas_do_projeto')
controller_impugnacao =  Acesso::Controle.find_by!(nome_do_controle: 'licitacao/impugnacoes')
controller_ata_de_registro_de_precos =  Acesso::Controle.find_by!(nome_do_controle: 'licitacao/atas_de_registro_de_precos')
controller_pessoas_do_projeto_do_lote = Acesso::Controle.find_by!(nome_do_controle: 'licitacao/pessoas_do_projeto_do_lote')
controller_lotes = Acesso::Controle.find_by!(nome_do_controle: 'licitacao/lotes')
controller_lances = Acesso::Controle.find_by!(nome_do_controle: 'licitacao/lances')
controller_obras = Acesso::Controle.find_by!(nome_do_controle: 'contabilidade/obras')
controller_situacoes_da_obra = Acesso::Controle.find_by!(nome_do_controle: 'contabilidade/situacoes_da_obra')
controller_medicoes_da_obra = Acesso::Controle.find_by!(nome_do_controle: 'contabilidade/medicoes_da_obra')
controller_empresas_da_obra = Acesso::Controle.find_by!(nome_do_controle: 'contabilidade/empresas_da_obra')
controller_recebimento_de_materiais = Acesso::Controle.find_by!(nome_do_controle: 'gestao_de_estoque/recebimento_de_materiais')


########## Permissões Secretário
secretario = Perfil.find_by( nome: "Secretário" )
[
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_lotes.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_lotes.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_lotes.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_lotes.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "listar_itens", controle_id: controller_lotes.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "criar_lotes", controle_id: controller_lotes.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "alternar_cadastro_de_lances", controle_id: controller_lotes.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "anular_item", controle_id: controller_lotes.id ).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "retorna_modelo", controle_id: controller_documentos_do_processo.id).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: contoller_licitacao.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_pedidos.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_pedidos.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_pedidos.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_pedidos.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "cancelar", controle_id: controller_pedidos.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "editar_itens", controle_id: controller_pedidos.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "coletar_precos", controle_id: controller_pedidos.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "editar_unidades_orcamentarias", controle_id: controller_pedidos.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "enviar_cotacao", controle_id: controller_pessoas_do_pedido.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_projeto.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_projeto.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_projeto.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "encaminhar_para_comissao", controle_id: controller_projeto.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_processo.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "adicionar_dotacao", controle_id: controller_projeto.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "cancelar", controle_id: controller_projeto.id ).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_projeto.id ).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_ata_de_registro_de_precos.id).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_ata_de_registro_de_precos.id).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_ata_de_registro_de_precos.id).id},
	{ perfil_id: secretario.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "editar_quantidades", controle_id: controller_pedidos.id ).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_pessoas_do_pedido.id ).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_contrato.id ).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_contrato.id ).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_contrato.id ).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_contrato.id).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "cancelar", controle_id: controller_contrato.id).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "atualiza_itens", controle_id: controller_contrato.id).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "atualiza_dotacoes", controle_id: controller_contrato.id).id},
	{ perfil_id: secretario.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "finalizar", controle_id: controller_contrato.id).id},
].each { |acesso_permissao| Acesso::Permissao.find_or_create_by!( acesso_permissao ) }


############Setor de Compras
setor_de_compras = Perfil.find_by(nome:"Setor de Compras")
[
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: contoller_licitacao.id ).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_pedidos.id).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "anular_cotacao", controle_id: controller_pedidos.id).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "editar_pessoas", controle_id: controller_pedidos.id).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "cotar", controle_id: controller_pessoas_do_pedido.id).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "enviar_cotacao", controle_id: controller_pessoas_do_pedido.id).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_pessoas_do_pedido.id ).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_pessoas_do_pedido.id ).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_pessoas_do_pedido.id ).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_pessoas_do_pedido.id ).id},
	{ perfil_id: setor_de_compras.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_pessoas_do_pedido.id).id},
].each{ |acesso_permissao| Acesso::Permissao.find_or_create_by!(acesso_permissao)}

##########Comissão de Licitação

comissao = Perfil.find_by(nome: "Comissão de Licitação")
[
	{ perfil_id: comissao.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "anular_item", controle_id: controller_lotes.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_lances.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_lances.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_ata_de_registro_de_precos.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_ata_de_registro_de_precos.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_ata_de_registro_de_precos.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: contoller_licitacao.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_processo.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_processo.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_processo.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_processo.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "homologar", controle_id: controller_processo.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "enviar_para_parecer", controle_id: controller_processo.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "ir_para_sessao", controle_id: controller_processo.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "concluir_sessao", controle_id: controller_processo.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "iniciar_processo", controle_id: controller_processo.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "editar_licitantes", controle_id: controller_processo.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_documentos_do_processo.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "retorna_modelo", controle_id: controller_documentos_do_processo.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_publicacao.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_publicacao.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_publicacao.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_contrato.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_contrato.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_contrato.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_contrato.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "cancelar", controle_id: controller_contrato.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "atualiza_itens", controle_id: controller_contrato.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "finalizar", controle_id: controller_contrato.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_pessoas_do_projeto.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_pessoas_do_projeto.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_impugnacao.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_impugnacao.id ).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_impugnacao.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "edita_pessoas_do_projeto_do_lote", controle_id: controller_pessoas_do_projeto_do_lote.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_pessoas_do_projeto_do_lote.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "edita_justificativa", controle_id: controller_pessoas_do_projeto_do_lote.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "inabilita", controle_id: controller_pessoas_do_projeto_do_lote.id).id},
	{ perfil_id: comissao.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "alternar_cadastro_de_lances", controle_id: controller_lotes.id).id},
].each{ |acesso_permissao| Acesso::Permissao.find_or_create_by!(acesso_permissao)}

############Procuradoria
procuradoria = Perfil.find_by(nome: "Procuradoria")
[
	{ perfil_id: procuradoria.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: procuradoria.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: procuradoria.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: procuradoria.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_documentos_do_processo.id).id},
	{ perfil_id: procuradoria.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "retorna_modelo", controle_id: controller_documentos_do_processo.id).id},
	{ perfil_id: procuradoria.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: contoller_licitacao.id ).id},
	{ perfil_id: procuradoria.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_processo.id ).id},
	{ perfil_id: procuradoria.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "cria_parecer", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: procuradoria.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "edita_parecer", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: procuradoria.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "atualiza_parecer", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: procuradoria.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "conclui_parecer", controle_id: controller_documentos_do_processo.id ).id},
	{ perfil_id: procuradoria.id ,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "parecer", controle_id: controller_documentos_do_processo.id ).id},
].each{ |acesso_permissao| Acesso::Permissao.find_or_create_by!(acesso_permissao)}


############Obras
obra = Perfil.find_by(nome: "Setor de Obras")
[
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_obras.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_obras.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_obras.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_obras.id).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_situacoes_da_obra.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_situacoes_da_obra.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_situacoes_da_obra.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_situacoes_da_obra.id).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_medicoes_da_obra.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_medicoes_da_obra.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_medicoes_da_obra.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_medicoes_da_obra.id).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_empresas_da_obra.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_empresas_da_obra.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_empresas_da_obra.id ).id},
	{ perfil_id: obra.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_empresas_da_obra.id).id}
].each{ |acesso_permissao| Acesso::Permissao.find_or_create_by!(acesso_permissao)}

gestao_de_estoque = Perfil.find_by(nome: "Gestão de Estoque")
[
	{ perfil_id: gestao_de_estoque.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "create", controle_id: controller_recebimento_de_materiais.id ).id},
	{ perfil_id: gestao_de_estoque.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "update", controle_id: controller_recebimento_de_materiais.id ).id},
	{ perfil_id: gestao_de_estoque.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "read", controle_id: controller_recebimento_de_materiais.id ).id},
	{ perfil_id: gestao_de_estoque.id,
		acao_id: Acesso::Acao.find_by(nome_da_acao: "destroy", controle_id: controller_recebimento_de_materiais.id ).id},
].each{ |acesso_permissao| Acesso::Permissao.find_or_create_by!(acesso_permissao)}
