# NESSA PARTE CONSTARÃO APENAS A CRIAÇÃO DAS PERMISSÕES DOS CONTROLLERS PRINCIPAIS DE ACESSO AOS MÓDULOS

# ADMINISTRATIVO
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'administrativo', nome_de_exibicao: "Administrativo").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'administrativo/inicio', "Administrativo", nil, true
end

# CONTROLADORIA
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'controladoria', nome_de_exibicao: "Controladoria").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'controladoria/inicio', "Controladoria", nil, true
end

# CONTÁBIL
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'contabilidade', nome_de_exibicao: "Contabilidade").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'contabilidade/inicio', "Contabilidade", nil, true
end

# GESTÃO DE ESTOQUE
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'gestaodeestoque', nome_de_exibicao: "Gestão de Estoque").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'gestaodeestoque/inicio', "Gestão de Estoque", nil, true
end

#GESTÃO DE OBRAS
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'obra', nome_de_exibicao: "Obra").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'obra/inicio', "Obra", nil, true
end

#LICITAÇÃO
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'licitacao', nome_de_exibicao: "Licitação").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'licitacao/inicio', "Licitação", nil, true
end

# PATRIMÔNIO
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'patrimonio', nome_de_exibicao: "Patrimônio").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'patrimonio/inicio', "Patrimônio", nil, true
end

# PLANEJAMENTO
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'loa', nome_de_exibicao: "Orçamento").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'loa/orcamentos', "Orçamento", nil, true
end
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'ppa', nome_de_exibicao: "PPA").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'ppa/ppas', "PPA", nil, true
end

# PORTAL DA TRANSPARÊNCIA
Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'gestaodoportaldatransparencia', nome_de_exibicao: "Portal da Transparência").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'gestaodoportaldatransparencia/inicio', "Portal da Transparência", nil, true
end

# ADMINISTRAÇÃO
Acesso::Modulo.find_or_create_by!(nome_do_modulo: 'administracao', nome_de_exibicao: "Administração").tap do |modulo|
	modulo.definir_permissao_crud_para_controle 'administracao', "Administração", nil, true
	
	# AUDITORIA
	#modulo.definir_permissao_crud_para_controle 'auditoria', "Auditoria", nil, false

	# CONFIGURAÇÕES
	#modulo.definir_permissao_crud_para_controle 'configuracoes', "Configurações", nil, false
end


# # MÓDULO ADMINISTRAÇÃO
# Acesso::Modulo.find_or_create_by!(nome_do_modulo: 'administração', nome_de_exibicao: "Administração").tap do |modulo|

# 	# AUDITORIA
# 	modulo.definir_permissao_crud_para_controle 'auditoria',  "Auditoria", only: ["read"]

# 	# Controle Usuários
# 	modulo.definir_permissao_crud_para_controle 'usuarios', "Usuários", acoes_extra: [
# 		{nome_da_acao: "aprovar", nome_de_exibicao: "Aprovar Usuários"},
# 		{nome_da_acao: "update_password", nome_de_exibicao: "Editar Senha"},
# 		{nome_da_acao: "editar_unidades_orcamentarias", nome_de_exibicao: "Editar Unidades"}
# 	]

# 	# Controle Perfis
# 	modulo.definir_permissao_crud_para_controle 'perfis',  "Perfis", acoes_extra: [
# 		{nome_da_acao: "atualiza_permissoes", nome_de_exibicao: "Definir permissões"}
# 	]

# 	# Controle Configurações
# 	modulo.definir_permissao_crud_para_controle 'configuracoes', "Configurações", only: ["update"]

# 	# UNIDADES DE MEDIDA
# 	modulo.definir_permissao_crud_para_controle 'unidades_de_medida', "Unidades de Medida"

# 	# FOLGAS
# 	modulo.definir_permissao_crud_para_controle 'folgas', "Feriados"

# end

# # MODULO BASE
# Acesso::Modulo.find_or_create_by( nome_do_modulo: 'base', nome_de_exibicao:  "Geral" ).tap do |modulo|

# 	# LEGISLAÇÃO
# 	modulo.definir_permissao_crud_para_controle 'base/legislacoes', "Legislações"

# 	# NATUREZA DA RECEITA
# 	modulo.definir_permissao_crud_para_controle 'base/naturezas_da_receita',  "Classificação da Receita", acoes_extra: [
# 		{ nome_da_acao: "configurar_natureza_da_receita", nome_de_exibicao: "Configurar Natureza da Receita" }
# 	]

# 	# IMPORTAR STN
# 	modulo.definir_permissao_crud_para_controle 'base/receitas_stn',  "Receitas STN", only: ["read"], acoes_extra: [
# 		nome_da_acao: "importar_receita_stn", nome_de_exibicao: "Importar Receita"
# 	]

# 	# FUNÇÕES
# 	modulo.definir_permissao_crud_para_controle 'base/funcoes',  "Funções", only: ["read"]

# 	# SUBFUNÇÕES
# 	modulo.definir_permissao_crud_para_controle 'base/subfuncoes', "Sub Funções", only: ["read"]

# 	# ELEMENTO DE DESPESA
# 	modulo.definir_permissao_crud_para_controle 'base/elementos_de_despesa', "Elementos de Despesa", except: ["delete"],  acoes_extra: [
# 		{ nome_da_acao: "configurar_elemento_de_despesa", nome_de_exibicao: "Configurar Elementos de Despesa" },
# 		{ nome_da_acao: "lista_de_elementos", nome_de_exibicao: "Listar Elementos de Despesa para Seleção" }
# 	]

# 	# FONTE DE RECURSOS
# 	modulo.definir_permissao_crud_para_controle 'base/fontes_de_recursos', "Fontes/Destinações de Recursos", only: ["read", "update"]

# 	# CATEGORIAS
# 	modulo.definir_permissao_crud_para_controle 'base/categorias', "Categorias"

# 	# ITENS
# 	modulo.definir_permissao_crud_para_controle 'base/itens', "Itens"

# 	# PESSOAS
# 	modulo.definir_permissao_crud_para_controle 'base/pessoas', "Pessoas", acoes_extra: [
# 		{ nome_da_acao: "editar_cnaes", nome_de_exibicao: "Editar CNAEs" },
# 	]

# 	# RESPONSÁVEIS
# 	modulo.definir_permissao_crud_para_controle 'base/responsaveis', "Responsáveis", except: ["read"]

# 	#AGENTES PUBLICOS MUNICIPAIS
# 	modulo.definir_permissao_crud_para_controle 'base/agentes_publicos_municipais',   "Agentes publicos"

# 	# AGÊNCIA BANCÁRIA
# 	modulo.definir_permissao_crud_para_controle 'base/agencias',  "Agências Bancárias"

# 	# CONTAS BANCARIAS
# 	modulo.definir_permissao_crud_para_controle 'base/contas_bancarias',  "Contas Bancárias", acoes_extra: [
# 		{nome_da_acao: "registros_bancarios", nome_de_exibicao: "Registros Bancários"}
# 	]

# 	# DOCUMENTOS
# 	modulo.definir_permissao_crud_para_controle 'base/documentos',  "Documentos"

# 	# ALERTAS
# 	modulo.definir_permissao_crud_para_controle 'base/alertas', "Alertas", except: ["update", "destroy", "create"], acoes_extra: [
# 		{nome_da_acao: "index", nome_de_exibicao: "Visualizar Alertas"}
# 	]

# 	# PESQUISAS
# 	modulo.definir_permissao_crud_para_controle 'pesquisas', "Pesquisas", acoes_extra: [
# 		{nome_da_acao: "agencias_por_banco", nome_de_exibicao: "Consulta agências"}
# 	]
# end


# # Modulo PPA
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'ppa', nome_de_exibicao:  "PPA" ).tap do |modulo|

# 	# Controle PPAs
# 	modulo.definir_permissao_crud_para_controle 'ppa/ppas', "PPAs", exclude: ["delete"], acoes_extra: [
# 		{ nome_da_acao: "finalizar_ppa",              nome_de_exibicao: "Finalizar" },
# 		{ nome_da_acao: "configuracoes",              nome_de_exibicao: "Configurações" },
# 		{ nome_da_acao: "ativa_ppa_participativo",    nome_de_exibicao: "Ativa Ppa Participativo" },
# 		{ nome_da_acao: "desativa_ppa_participativo", nome_de_exibicao: "Desativa Ppa Participativo" },
# 		{ nome_da_acao: "libera_votacao",             nome_de_exibicao: "Liberar Votação do PPA Participativo" },
# 		{ nome_da_acao: "bloqueia_votacao",           nome_de_exibicao: "Bloquear Votação do PPA Participativo" },
# 		{ nome_da_acao: "libera_propostas",           nome_de_exibicao: "Liberar Envio de Propostas do PPA Participativo" },
# 		{ nome_da_acao: "bloqueia_propostas",         nome_de_exibicao: "Bloquear Envio de Propostas do PPA Participativo" }
# 	]

# 	# Controle Áreas Temáticas
# 	modulo.definir_permissao_crud_para_controle 'ppa/areas_tematicas',   "Áreas Temáticas"

# 	# Controle Eixos
# 	modulo.definir_permissao_crud_para_controle 'ppa/eixos',   "Eixos"

# 	# Controle Funções
# 	modulo.definir_permissao_crud_para_controle 'ppa/funcoes',   "Funções e subfunções", only: ["read"]

# 	# Controle Indicadores
# 	modulo.definir_permissao_crud_para_controle 'ppa/indicadores', "Indicadores"

# 	# Controle Iniciativas
# 	modulo.definir_permissao_crud_para_controle 'ppa/iniciativas', "Iniciativas"

# 	# Controle Metas
# 	modulo.definir_permissao_crud_para_controle 'ppa/metas', "Metas", except: ["read"]

# 	# Controle Micro Regiões
# 	modulo.definir_permissao_crud_para_controle 'ppa/micro_regioes', "Micro Regiões", except: ["read"]

# 	# Controle Objetivos
# 	modulo.definir_permissao_crud_para_controle 'ppa/objetivos', "Objetivos"

# 	# Controle Orgãos
# 	modulo.definir_permissao_crud_para_controle 'ppa/orgaos', "Orgãos"

# 	# Controle Programas
# 	modulo.definir_permissao_crud_para_controle 'ppa/programas', "Programas", acoes_extra: [
# 		{ nome_da_acao: "resumo_financeiro_dos_programas", nome_de_exibicao: "Relatório de Resumo Financeiro Dos Programas"},
# 		{ nome_da_acao: "resumo_financeiro_por_programa", nome_de_exibicao: "Relatório de Resumo Financeiro por Programa"}
# 	]

# 	# controle projeções de despesa
# 	modulo.definir_permissao_crud_para_controle 'ppa/projecoes_de_despesa', "Projeção de Despesas", only: ["update"]

# 	# Controle Quantitativos
# 	modulo.definir_permissao_crud_para_controle 'ppa/quantitativos', "Quantitativos", only: ["update"]

# 	# Controle Regiões
# 	modulo.definir_permissao_crud_para_controle 'ppa/regioes', "Regiões"

# 	# Controle Subáreas Temáticas
# 	modulo.definir_permissao_crud_para_controle 'ppa/sub_areas_tematicas', "Subáreas Temáticas", except: ["read"]

# 	# Controle Tecnicos
# 	modulo.definir_permissao_crud_para_controle 'ppa/tecnicos', "Equipe Técnica"

# 	# Controle Unidade Orçamentária
# 	modulo.definir_permissao_crud_para_controle 'ppa/unidades_orcamentarias', "Unidades Orçamentárias", except: ["read"]

# 	# Controle Páginas do PPA Participativo
# 	modulo.definir_permissao_crud_para_controle 'ppa/paginas', "Páginas do PPA Participativo"

# 	# Controle PROPOSTAS
# 	modulo.definir_permissao_crud_para_controle 'ppa/propostas', "Propostas(Participativo)"

# 	# Controle CIDADÃOS
# 	modulo.definir_permissao_crud_para_controle 'ppa/cidadaos', "Cidadãos(Participativo)"

# 	modulo.definir_permissao_crud_para_controle 'ppa/convenios', "Convênios", acoes_extra: [
# 		{ nome_da_acao: "imprimir_relatorio_status", nome_de_exibicao: "Relatório por status" },
# 		{ nome_da_acao: "imprimir_por_unidade_orcamentaria",nome_de_exibicao: "Relatório por unidade orçamentaria" },
# 		{ nome_da_acao: "relatorio_unico_convenio",nome_de_exibicao: "Imprimir convênio" },
# 		{ nome_da_acao: "imprimir_todos_os_convenios", nome_de_exibicao: "Relatório de Todos os Convênio" },
# 		{ nome_da_acao: "relatorio_por_subarea_e_ano",nome_de_exibicao: "Relatório por SubArea e Ano" },
# 		{ nome_da_acao: "relatorio_por_subarea_tematica_status_ano",nome_de_exibicao: "Relatório por Subarea Temática, Status e Ano" },
# 		{ nome_da_acao: "relatorio_por_subarea_tematica_classificacao_ano",nome_de_exibicao: "Relatório por Subarea Temática, Classificação e Ano" }
# 	]

# 	# PPA - RELATORIOS
# 	modulo.definir_permissao_crud_para_controle 'ppa/relatorios/impressao_de_ppa', "Impressão de PPA", exclui_crud: true, acoes_extra: [
# 		{ nome_da_acao: "opcoes", nome_de_exibicao: "Imprimir PPA" },
# 		{ nome_da_acao: "graficos", nome_de_exibicao: "Imprimir Gráficos" },
# 		{ nome_da_acao: "prioridades_e_metas", nome_de_exibicao: "Imprimir Relatório de Prioridades e Metas" },
# 		{ nome_da_acao: "prepara_impressao_graficos", nome_de_exibicao: "Imprimir Gráficos" }
# 	]
# end


# # MÓDULO LOA
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'loa', nome_de_exibicao: "Orçamento" ).tap do |modulo|
# 	# LOA - RELATORIOS
# 	modulo.definir_permissao_crud_para_controle 'loa/relatorios/impressao_de_loa', "Impressão de LOA", exclui_crud: true, acoes_extra: [{ nome_da_acao: "gerar_relatorio", nome_de_exibicao: "Gerar LOA" }]

# 	# Controle ORÇAMENTO
# 	modulo.definir_permissao_crud_para_controle 'orcamentos', "Orçamentos", acoes_extra: [
# 		{ nome_da_acao: "finalizar", nome_de_exibicao: "Finalizar" },
# 		{ nome_da_acao: "configuracoes_eventos_contabeis", nome_de_exibicao: "Configurar Eventos Contábeis Padrões" }
# 	]

# 	# ORGÃOS
# 	modulo.definir_permissao_crud_para_controle 'loa/orgaos', "Orgãos", acoes_extra: [
# 		{ nome_da_acao: "importar", nome_de_exibicao: "Importar do PPA" }
# 	]

# 	# TRANSFERÊNCIAS DE RECURSOS
# 	modulo.definir_permissao_crud_para_controle 'loa/transferencias_de_recursos', "Transferências de Recursos"

# 	# ORDENADOR DE DESPESAS
# 	modulo.definir_permissao_crud_para_controle 'loa/ordenadores_de_despesa', "Ordenador de despesas"

# 	# UNIDADES ORÇAMENTÁRIAS
# 	modulo.definir_permissao_crud_para_controle 'loa/unidades_orcamentarias', "Unidades Orçamentárias"

# 	# PROGRAMAS DE GOVERNO
# 	modulo.definir_permissao_crud_para_controle 'loa/programas_de_governo', "Programas", acoes_extra: [
# 		{ nome_da_acao: "importar", nome_de_exibicao: "Importar do PPA" }
# 	]

# 	# AÇÕES
# 	modulo.definir_permissao_crud_para_controle 'loa/acoes',"Ações/Iniciativas", acoes_extra: [
# 		{ nome_da_acao: "importar", nome_de_exibicao: "Importar do PPA" }
# 	]

# 	# SUBAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'loa/subacoes', "Subações"

# 	# SUBAÇÕES > METAS FÍSICAS
# 	modulo.definir_permissao_crud_para_controle 'loa/metas_fisicas', "Metas Físicas das Subações", acoes_extra: [
# 		{ nome_da_acao: "importar", nome_de_exibicao: "Importar do PPA" }
# 	]

# 	# UNIDADES GESTORAS
# 	modulo.definir_permissao_crud_para_controle 'loa/unidades_gestoras', "Unidades Gestoras"

# 	# GESTORES
# 	modulo.definir_permissao_crud_para_controle 'loa/gestores', "Gestores", except: ['index', 'show']

# 	# ORÇAMENTO DA RECEITA
# 	modulo.definir_permissao_crud_para_controle 'loa/orcamentos_da_receita',"Orçamento da Receita", only: ["update"]

# 	# ORÇAMENTOS TEMÁTICOS
# 	modulo.definir_permissao_crud_para_controle 'loa/orcamentos_tematicos', "Orçamentos Temáticos"

# 	# ORÇAMENTO DA DESPESA
# 	modulo.definir_permissao_crud_para_controle 'loa/orcamentos_da_despesa', "Orçamento da Despesa", only: ["update"]

# 	# TIPOS DE DEDUÇÃO
# 	modulo.definir_permissao_crud_para_controle 'loa/tipos_de_deducao', "Tipos de Dedução"
# end


# # MODULO CONTABILIDADE
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'contabilidade', nome_de_exibicao: "Contabilidade" ).tap do |modulo|

# 	#INÍCIO
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/inicio', "Contabilidade", only: ["read"]
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/alteracao_orcamentaria_inicio', "Alteração Orçamentária", only: ["read"]
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/financeiro_inicio', "Financeiro", only: ["read"]

# 	# TRANSFERENCIA DE CONTAS ENTRE UNIDADES ORCAMENTARIAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/transferencias_financeiras', "Transferência Financeiras"

# 	# TRANSFERENCIA NÃO FINANCEIRAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/transferencias_nao_financeiras', "Transferência Não Financeiras"

# 	# LANÇAMENTOS MANUAIS EM UNIDADES ORCAMENTÁRIAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/lancamentos_manuais_em_unidades_orcamentarias', "Realizar lançamentos de valores manuais", only: ["update"]

# 	#CANCELAMENTOS DE RESTO A PAGAR
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/cancelamentos_de_restos_a_pagar', "Cancelamentos de restos a pagar"

# 	#CONTROLE DE PAGAMENTOS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/controle_de_pagamentos', "Controle de pagamentos"

# 	#AlOCAÇÃO DE RECURSOS DO RPPS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/alocacoes_de_recurso_de_rpps', "Alocações de recurso de RPPS"

# 	#INVESTIMENTOS DO RPPS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/investimentos_do_rpps', "Investimentos do RPPS"

# 	#DEMONSTRATIVO DE INFORMAÇÕES PREVIDENCIÁRIAS E REPASSES (DIPR)
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/demonstrativos_de_informacoes_previdenciarias', "DIPR"

# 	#COMITE DE INVESTIMENTO
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/comites_de_investimento', "Comitê de investimento do RPPS"

# 	modulo.definir_permissao_crud_para_controle 'contabilidade/conselhos_de_rpps', "Conselho de RPPS"

# 	modulo.definir_permissao_crud_para_controle 'contabilidade/aportes_despesas', "Aportes e Despesas"

# 	# CONVENIOS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/convenios', "Convênios", acoes_extra: [
# 		{ nome_da_acao: "importar", nome_de_exibicao: "Importar" }
# 	]

# 	# ALTERAÇÕES ORÇAMENTÁRIAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/solicitacao_de_alteracao_orcamentarias', "Alterações Orçamentárias", acoes_extra: [
# 		{ nome_da_acao: "confirmar_alteracao", nome_de_exibicao: "Confirmar" },
# 		{ nome_da_acao: "editar_dotacoes", nome_de_exibicao: "Editar Dotações" },
# 		{ nome_da_acao: "enviar_para_contabilidade", nome_de_exibicao: "Editar Para Setor Orçamentário" },
# 		{ nome_da_acao: "indeferir_alteracao", nome_de_exibicao: "Indeferir Alteração" },
# 		{ nome_da_acao: "editar_dotacoes_administrativo", nome_de_exibicao: "Editar Dotações Administrativo"}
# 	]

# 	# DECRETOS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/decretos', "Decretos", acoes_extra: [
# 		{ nome_da_acao: "fechar", nome_de_exibicao: "Fechar Decreto" },
# 		{ nome_da_acao: "revogar_decreto", nome_de_exibicao: "Revogar Decreto" }
# 	]

# 	# Documentos do Decreto do Contingenciamento
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/documentos_do_decreto', "Documentos do Decreto"

# 	# Bloqueio de Dotações
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/bloqueio_de_dotacoes', "Bloqueio de Dotações"

# 	# Contigenciamento
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/contigenciamentos', "Contigenciamentos"

# 	# Documentos do Contigenciamento - Doc de Decreto
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/documentos_do_contigenciamento', "Documento do Contingenciamento"

# 	# ISS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/imposto_sobre_servicos', "Imposto Sobre Serviços"

# 	# IRRF - PESSOAS JURÍDICAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/irrfs_pessoas_juridicas', "IRRF - Pessoas Jurídicas"

# 	# IMPOSTO DE RENDA > IRRFS - PESSOAS FÍSICAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/impostos_de_renda', "IRRF - Pessoas Físicas"

# 	# INSS > INSS - PESSOAS FÍSICAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/inss', "INSS - Pessoas Físicas"

# 	# INSS - PESSOAS JURÍDICAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/inss_pessoas_juridicas', "INSS - Pessoas Jurídicas"

# 	# DESPESAS EXTRA ORÇAMENTÁRIAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/despesas_extra_orcamentarias', "Despesas Extra Orçamentárias"

# 	# PESSOAS CONTAS BANCÁRIAS
# 	modulo.definir_permissao_crud_para_controle 'base/pessoas_contas_bancarias', "Contas Bancárias das Pessoas", except: ["destroy"]

# 	# CONVENIOS CONTAS BANCÁRIAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/convenios_contas_bancarias', "Contas Bancárias dos Convênios", only: ["create", "destroy"]

# 	# CONTAS BANCARIAS DAS UNIDADES GESTORAS
# 	modulo.definir_permissao_crud_para_controle 'base/contas_bancarias_por_unidade_orcamentaria', "Contas Bancárias das Unidades Gestoras", except: ["update"], acoes_extra: [
# 		{ nome_da_acao: "movimentacoes", nome_de_exibicao: "Movimentações" },
# 		{ nome_da_acao: "definir_como_principal", nome_de_exibicao: "Definir unidade gestora como principal da conta" }
# 	]

# 	# TALÕES DE RECEITA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/taloes_de_receita',  "Talões de Receita"

# 	# ANULACAO DE TALÕES DE RECEITA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/anulacoes_dos_taloes_de_receita',  "Anulação dos Talões de Receita", except: ["read"]

# 	# DIARIAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/diarias', 'Diárias'

# 	# DOCUMENTOS DA DIARIA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/documentos_da_diaria', 'Documentos da Diária'

# 	# PASSAGENS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/passagens', "Passagens"

# 	# LOTES DE RECEITAS (DO TRIBUTÁRIO)
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/lotes_de_receitas', "Tributário", acoes_extra: [
# 		{nome_da_acao: "aprovar", nome_de_exibicao: "Aprovar"}
# 	]

# 	#PARCELAMENTO DO RPPS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/parcelamentos_do_rpps', 'Parcelamentos do RPPS'

# 	# ITENS DO EMPENHO
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/itens_do_empenho', "Itens do Empenho"

# 	# LIQUIDAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/liquidacoes', "Liquidações", acoes_extra: [
# 		{nome_da_acao: "nao_enviar_para_sim", nome_de_exibicao: "Enviar ou Não para o SIM"},
# 		{nome_da_acao: "confirmar_liquidacao", nome_de_exibicao: "Confirmar"},
# 		{nome_da_acao: "receber", nome_de_exibicao: "Receber na Contabilidade"},
# 		{nome_da_acao: "receber_pelo_financeiro", nome_de_exibicao: "Receber no financeiro"}
# 	]

# 	# DOCUMENTOS DA LIQUIDAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/documentos_da_liquidacao', 'Documentos da Liquidação'

# 	# NOTAS FISCAIS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/notas_fiscais', "Notas Fiscais"

# 	# PAGAMENTOS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/pagamentos', "Pagamentos", acoes_extra: [
# 		{nome_da_acao: "enviar_para_controladoria", nome_de_exibicao: "Enviar para Controladoria"},
# 		{nome_da_acao: "confirmar_pagamento", nome_de_exibicao: "Confirmar Pagamento"},
# 		{nome_da_acao: "retornar_para_administrativo", nome_de_exibicao: "Retornar para Administração"},
# 		{nome_da_acao: "enviar_para_contabilidade", nome_de_exibicao: "Enviar para Contabilidade"}
# 	]

# 	# SUPLEMENTAÇÕES DO EMPENHO
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/suplementacoes_do_empenho', "Suplementações do Empenho", only: ["create", "destroy"]

# 	# ANULACAO DE EMPENHOS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/anulacoes_do_empenho', "Anulação do Empenho",  acoes_extra: [
# 		{ nome_da_acao: "enviar_para_controladoria", nome_de_exibicao: "Enviar Para Controladoria" },
# 		{ nome_da_acao: "retornar_para_administrativo", nome_de_exibicao: "Retonar Para Administrativo" },
# 		{ nome_da_acao: "confirmar_anulacao", nome_de_exibicao: "Confirmar" },
# 		{ nome_da_acao: "retornar_para_solicitado", nome_de_exibicao: "Voltar após confirmar" },
# 		{ nome_da_acao: "enviar_para_contabilidade", nome_de_exibicao: "Enviar Para Contabilidade" },
# 		{ nome_da_acao: "receber_varios_itens", nome_de_exibicao: "Receber várias Anulações de Empenho" },
# 		{ nome_da_acao: "confirmar_varios_itens", nome_de_exibicao: "Confirmar várias Anulações de Empenho" },
# 		{ nome_da_acao: "receber_anulacao", nome_de_exibicao: "Receber" }
# 	]

# 	# ANULACAO DE CONTA EXTRA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/anulacoes_da_conta_extra', "Cancelamentos da Conta Extra"

# 	# ESTORNO DE LIQUIDAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/estornos_de_liquidacao', "Estorno de Liquidação", only: ["create","destroy","read", "index"], acoes_extra: [
# 		{ nome_da_acao: "retornar_para_solicitado", nome_de_exibicao: "Retornar para Administrativo" },
# 		{ nome_da_acao: "confirmar_estorno_de_liquidacao", nome_de_exibicao: "Confirmar" },
# 		{ nome_da_acao: "receber_estorno_de_liquidacao", nome_de_exibicao: "Receber" },
# 		{ nome_da_acao: "update", nome_de_exibicao: "Atualizar" },
# 		{ nome_da_acao: "enviar_para_contabilidade", nome_de_exibicao: "Enviar para Contabilidade" },
# 		{ nome_da_acao: "receber_varios_itens", nome_de_exibicao: "Receber vários Estornos de Liquidação" },
# 		{ nome_da_acao: "confirmar_varios_itens", nome_de_exibicao: "Confirmar vários Estornos de Liquidação" }
# 	]

# 	# ESTORNO DE PAGAMENTOS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/estornos_de_pagamento', "Estorno de Pagamento", only: ["create"]

# 	# ESTORNO DE DESPESAS EXTRAS ORCAMENTARIAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/estornos_de_despesa_extra_orcamentaria', "Estorno de Despesa Extra Orcamentária", only: ["create"]

# 	# EVENTOS CONTÁBEIS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/eventos_contabeis', "Eventos Contábeis"

# 	# PLANO DE CONTAS > CONTAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/contas', "Contas do Plano de Contas"

# 	# PLANO DE CONTAS > MOVIMENTAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/movimentacoes_do_plano_de_contas', "Movimentações do Plano de Contas", only: ["read"]

# 	# PLANO DE CONTAS > BALANCETES DE VERIFICAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/consulta_balancetes_de_verificacoes', "Consultas - Balancete de Verificação", only: ["read"]

# 	# PLANO DE CONTAS > BALANCETES DE VERIFICAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/balancetes_de_verificacoes', "Balancete de Verificação"

# 	# CONTAS EXTRA-ORÇAMENTÁRIOS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/contas_extra_orcamentarias', "Contas Extra-Orçamentárias"

# 	# SUBELEMENTOS DE DESPESA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/sub_elementos_de_despesa', "Subelementos de Despesa", only: ["read", "create", "update", "destroy"]

# 	# Convênios Bancarios
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/convenios_bancarios', "Convênios Bancarios"

# 	# LOTES BANCÁRIOS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/lotes_bancarios', "Lotes Bancários", acoes_extra: [
# 		{nome_da_acao: "gerar_lotes", nome_de_exibicao: "Gerar Lotes"},
# 		{nome_da_acao: "gera_lotes", nome_de_exibicao: "Salvar Lotes"}
# 	]

#   # ARQUIVOS MATRIZ DE SALDO CONTABIL
#   modulo.definir_permissao_crud_para_controle 'contabilidade/peirodos_matriz_de_saldos_contabeis', "Arquivos Matriz de Saldos Contabéis", except: ["update"]

# 	#SUB CONTAS PCASP
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/sub_contas_pcasp', "Sub Contas do PCASP"
# end


# #MÓDULO OBRAS
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'obra', nome_de_exibicao: "Obra" ).tap do |modulo|

# 	#INÍCIO
# 	modulo.definir_permissao_crud_para_controle 'obra/inicio', "Obras", only: ["read"]

# 	# OBRAS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/obras', "Cadastro de Obras", acoes_extra: [
# 		{nome_da_acao: "nao_enviar_para_sim", nome_de_exibicao: "Enviar ou Não para o SIM"}
# 	]

# 	# ENGENHEIROS DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/engenheiros_da_obra', "Engenheiros Responsáveis"

# 	# EMPRESAS DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/empresas_da_obra', "Empresas Responsáveis"

# 	# SITUAÇÕES DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/situacoes_da_obra', "Situação da Obra"

# 	# MEDIÇÕES DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/medicoes_da_obra', "Medições da Obra"

# 	# RETORNOS BANCÁRIOS
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/retornos_bancarios', "Retornos Bancários"

# 	# CONCILIAÇÃO BANCÁRIA
# 	modulo.definir_permissao_crud_para_controle 'contabilidade/conciliacoes_bancarias', "Conciliações Bancárias"

# 	# DOCUMENTOS DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/documentos_da_obra', 'Documentos da Obra'

# 	# CONTRATOS DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/contratos_da_obra', 'Contratos da Obra'

# 	# ORDENS DE SERVIÇO
# 	modulo.definir_permissao_crud_para_controle 'obra/ordens_de_servico', 'Ordens de Serviço'

# 	# FISCALIZAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'obra/fiscalizacoes', 'Fiscalização'

# 	# PROVIDÊNCIA DA FISCALIZAÇÃO
# 	modulo.definir_permissao_crud_para_controle 'obra/providencias_da_fiscalizacao', 'Providência da Fiscalização'

# 	# VERIFICAÇÃO DA FISCALIZAÇÃO
# 	modulo.definir_permissao_crud_para_controle 'obra/verificacoes_da_fiscalizacao', 'Verificação da Fiscalização'

# 	# GARANTIA DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/garantias_da_obra', 'Garantia da Obra', acoes_extra: [
# 		{nome_da_acao: "devolver", nome_de_exibicao: "Devolvida"},
# 		{nome_da_acao: "retornar_para_aberta", nome_de_exibicao: "Retornar Para Em Aberta"}
# 	]

# 	# TRANSFERÊNCIAS/CONVÊNIOS
# 	modulo.definir_permissao_crud_para_controle 'obra/transferencias', 'Transferência/Convênio'

# 	# PRÉ-CONVÊNIOS
# 	modulo.definir_permissao_crud_para_controle 'obra/pre_convenios', 'Pré-Convênio'

# 	# OPERAÇÃO DE CRÉDITO
# 	modulo.definir_permissao_crud_para_controle 'obra/operacoes_de_credito', 'Operação de Crédito'

# 	# FOTO DA FISCALIZAÇÃO
# 	modulo.definir_permissao_crud_para_controle 'obra/fotos_da_fiscalizacao', 'Fotos da Fiscalização', except: ["read"]

# 	# ACOMPANHAMENTO DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/acompanhamentos_das_obras', 'Acompanhamento da Obra', only: ["read"]

# 	# CRONOGRAMA DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/servicos_da_obra', 'Serviço da Obra', only: ["create", "update"]

# 	#Componentes da Operação de Crédito
# 	modulo.definir_permissao_crud_para_controle 'obra/componentes_da_operacao_de_credito', 'Componente da Oper. de Créd.', only: ["create", "update"]

# 	# MEDIÇÕES DA CAIXA DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/medicoes_da_caixa_da_obra', 'Medições da Caixa da Obra', except: ["read"]

# 	# MEDIÇÕES DA CAIXA DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/aditivos_do_convenio', 'Aditivos do Convênio'

# 	# DOCUMENTOS DA MEDIÇÃO DA OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/documentos_da_medicao_da_obra', 'Documentos da Medição da Obra', except: ["read"]

# 	#MÃOS DE OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/maos_de_obra', 'Mãos de Obra'

# 	#EQUIPAMENTOS
# 	modulo.definir_permissao_crud_para_controle 'obra/equipamentos', 'Equipamentos'

# 	#DIÁRIOS DE OBRA
# 	modulo.definir_permissao_crud_para_controle 'obra/diarios_de_obra', 'Diários de Obra'

# end

# #MÓDULO PROJEÇÃO
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'projecao', nome_de_exibicao: "Projeção de Receitas" ).tap do |modulo|

# 	# PROJEÇÕES DE RECEITA
# 	modulo.definir_permissao_crud_para_controle 'projecao/projecoes_de_receitas', "Projeções", acoes_extra: [
# 		{ nome_da_acao: "importar_receitas_para_projecao", 	nome_de_exibicao: "Importar Receitas da Base de Cálculo" },
# 		{ nome_da_acao: "update_notas_explicativas", 	nome_de_exibicao: "Cadastar notas explicativas" }
# 	]

# 	# RECEITAS
# 	modulo.definir_permissao_crud_para_controle 'projecao/receitas', "Receitas", acoes_extra: [
# 		{ nome_da_acao: "atualizar_calculos_por_exercicio_projecao", nome_de_exibicao: "Atualizar Cálculos por Exercício" }
# 	]

# 	# INDICES
# 	modulo.definir_permissao_crud_para_controle 'projecao/indices', "Índices"

# 	# TIPOS DE INDICE
# 	modulo.definir_permissao_crud_para_controle 'projecao/tipos_de_indice',  "Tipos de Índice", except: ["read"]

# 	# CALCULO DE PROJEÇÃO
# 	modulo.definir_permissao_crud_para_controle 'projecao/calculo_de_projecoes',  "Cálculo de Projeção"

# 	# CALCULO DE PROJEÇÃO
# 	modulo.definir_permissao_crud_para_controle 'projecao/receitas_dos_calculos_de_projecao', "Receitas dos Cálculo de Projeção"

# 	# TIPOS DE ÍNDICES POR CALCULO DE PROJEÇÕES
# 	modulo.definir_permissao_crud_para_controle 'projecao/tipos_de_indice_por_calculo_de_projecoes', "Tipos de Índice para Cálculo de Projeção", except: ["read"]
# end

# #MÓDULO TCM
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'tcm', nome_de_exibicao:  "TCM" ).tap do |modulo|

# 	modulo.definir_permissao_crud_para_controle 'tcm/arquivos', "Arquivos", only: ["read"], acoes_extra: [
# 		nome_da_acao: "download",    nome_de_exibicao: "Download"
# 	]

# 	modulo.definir_permissao_crud_para_controle 'tcm/lotes', "Lotes", except: ["update"]

# 	modulo.definir_permissao_crud_para_controle 'tcm/erros_dos_lotes', "Erros da Geração dos Lotes - SIM", except: ["update"]
# end

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

# 	#INÍCIO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/inicio', "Licitação", only: ["read"]

# 	# PEDIDOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/pedidos', 'Pedido', acoes_extra: [
# 		{nome_da_acao: "cancelar",  nome_de_exibicao: "Cancelar"},
# 		{nome_da_acao: "anular_cotacao",  nome_de_exibicao: "Anular Cotação"},
# 		{nome_da_acao: "anular_item",  nome_de_exibicao: "Anular Item"},
# 		{nome_da_acao: "editar_quantidades",  nome_de_exibicao: "Editar Quantidades"},
# 		{nome_da_acao: "editar_itens",  nome_de_exibicao: "Editar Itens"},
# 		{nome_da_acao: "editar_unidades_orcamentarias",  nome_de_exibicao: "Editar Unidades Orçamentária"},
# 		{nome_da_acao: "editar_pessoas",  nome_de_exibicao: "Editar Pessoas"},
# 		{nome_da_acao: "coletar_precos",  nome_de_exibicao: "Iniciar Cotação"},
# 		{nome_da_acao: "editar_justificativa_da_cotacao",  nome_de_exibicao: "Justificar Cotação"},
# 		{nome_da_acao: "adicionar_responsavel_setor_de_compras",  nome_de_exibicao: "Adicionar Responsável pelo Setor de Compras"},
# 		{nome_da_acao: "cadastrar_responsavel_da_unidade", nome_de_exibicao: "Cadastrar Responsável do Pedido"}
# 	]

# 	# PROJETOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/projetos', 'Projetos', acoes_extra: [
# 		{nome_da_acao: "cancelar", nome_de_exibicao: "Cancelar"},
# 		{nome_da_acao: "adicionar_dotacao", nome_de_exibicao: "Gerenciar Dotações"},
# 		{nome_da_acao: "encaminhar_para_comissao", nome_de_exibicao: "Encaminhar para Comissão"},
# 		{nome_da_acao: "encaminhar_para_controladoria", nome_de_exibicao: "Encaminhar para Controladoria"},
# 		{nome_da_acao: "encaminhar_para_autorizacao", nome_de_exibicao: "Encaminhar para Autorização"},
# 		{nome_da_acao: "autorizar", nome_de_exibicao: "Autorizar"}
# 	]

# 	# LOTES
# 	modulo.definir_permissao_crud_para_controle 'licitacao/lotes', 'Lotes', acoes_extra: [
# 			{nome_da_acao: "listar_itens", nome_de_exibicao: "Listar Itens"},
# 			{nome_da_acao: "criar_lotes", nome_de_exibicao: "Criar Lotes"},
# 			{nome_da_acao: "anular_item", nome_de_exibicao: "Anular Item do Lote"},
# 			{nome_da_acao: "alternar_cadastro_de_lances", nome_de_exibicao: "Abrir/fechar cadastro de lances"}
# 	]

# 	# PROCESSOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/processos', 'Processos Licitatórios', acoes_extra: [
# 		{nome_da_acao: "editar_licitantes", nome_de_exibicao: "Editar Licitantes "},
# 		{nome_da_acao: "iniciar_processo", nome_de_exibicao: "Iniciar Processo "},
# 		{nome_da_acao: "enviar_para_parecer", nome_de_exibicao: "Enviar para Parecer "},
# 		{nome_da_acao: "ir_para_sessao", nome_de_exibicao: "Enviar para Sessão "},
# 		{nome_da_acao: "desertar", nome_de_exibicao: "Desertar Processo "},
# 		{nome_da_acao: "fracassar_processo", nome_de_exibicao: "Fracassar Processo "},
# 		{nome_da_acao: "concluir_sessao", nome_de_exibicao: "Concluir Sessão "},
# 		{nome_da_acao: "adjudicar", nome_de_exibicao: "Adjudicar Processo"},
# 		{nome_da_acao: "encaminhar_parecer_final", nome_de_exibicao: "Encaminhar Parecer Final"},
# 		{nome_da_acao: "enviar_para_homologacao", nome_de_exibicao: "Enviar para Homologacao"},
# 		{nome_da_acao: "homologar", nome_de_exibicao: "Homologar Processo "},
# 		{nome_da_acao: "cancelar", nome_de_exibicao: "Cancelar"},
# 		{nome_da_acao: "nao_enviar_para_sim", nome_de_exibicao: "Enviar ou Não para o SIM"}
# 	]

# 	# DOCUMENTOS DO PROCESSO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/documentos_do_processo', 'Documentos do Processo', acoes_extra: [
# 		{nome_da_acao: "cria_parecer", nome_de_exibicao: "Salvar Parecer"},
# 		{nome_da_acao: "edita_parecer", nome_de_exibicao: "Editar Parecer"},
# 		{nome_da_acao: "atualiza_parecer", nome_de_exibicao: "Atualizar Parecer"},
# 		{nome_da_acao: "parecer", nome_de_exibicao: "Ver Parecer"},
# 		{nome_da_acao: "retorna_modelo", nome_de_exibicao: "Modelos de documento"},
# 		{nome_da_acao: "conclui_parecer", nome_de_exibicao: "Concluir Parecer"},
# 		{nome_da_acao: "show", nome_de_exibicao: "Visualizar Parecer"}
# 	]

# 	# DOCUMENTOS DO PEDIDO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/documentos_do_pedido', 'Documentos do Pedido', acoes_extra: [
# 		{nome_da_acao: "retorna_modelo", nome_de_exibicao: "Modelos de documento"}
# 	]

# 	# DOCUMENTOS DA COTAÇÃO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/documentos_da_cotacao_do_pedido', 'Documentos da Cotação'

# 	# DOCUMENTOS DA ATA
# 	modulo.definir_permissao_crud_para_controle 'licitacao/documentos_da_ata', 'Documentos da Ata'

# 	# DOCUMENTOS DO CONTRATO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/documentos_do_contrato', 'Documentos do Contrato'

# 	# DOCUMENTOS DO ADITIVO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/documentos_do_aditivo', 'Documentos do Aditivo'

# 	# DOCUMENTOS DO APOSTILAMENTO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/documentos_do_apostilamento', 'Documentos do Apostilamento'

# 	# PUBLICAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'licitacao/publicacoes', 'Publicações', except: ["read"]

# 	#  ORDEM DE COMPRA
# 	modulo.definir_permissao_crud_para_controle 'licitacao/ordens_de_compra', 'Ordens de Compra', acoes_extra: [
# 		{nome_da_acao: "retornar_para_aberto", nome_de_exibicao: "Voltar etapa pós fechamento"},
# 		{nome_da_acao: "enviar_para_almoxarifado", nome_de_exibicao: "Enviar para o almoxarifado"},
# 		{nome_da_acao: "confirmar_recebimento_almoxarifado", nome_de_exibicao: "Recebimento no almoxarifado"},
# 		{nome_da_acao: "fechar", nome_de_exibicao: "Fechar"},
# 		{nome_da_acao: "cancelar", nome_de_exibicao: "Cancelar"},
# 		{nome_da_acao: "atualiza_itens", nome_de_exibicao: "Atualizar itens"},
# 		{nome_da_acao: "confirmar_cancelamento", nome_de_exibicao: "Confirmar Cancelamento"},
# 		{nome_da_acao: "cadastro_por_index", nome_de_exibicao: "Cadastro avulso"}
# 	]

# 	# COMISSÕES
# 	modulo.definir_permissao_crud_para_controle 'licitacao/comissoes', 'Comissões', acoes_extra: [{nome_da_acao: "extinguir_comissao",  nome_de_exibicao: "Extinguir"}]

# 	#MEMBROS DA COMISSÃO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/membros_da_comissao', 'Membros da Comissão', acoes_extra: [{nome_da_acao: "extinguir_membro",  nome_de_exibicao: "Extinguir"}]

# 	# IMPUGNAÇÕES
# 	modulo.definir_permissao_crud_para_controle 'licitacao/impugnacoes', 'Impugnações'

# 	# RECURSOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/recursos', 'Recursos', except: ["index"]

# 	# OCORRÊNCIAS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/ocorrencias', 'Ocorrências', except: ["index"]

# 	# CONTRATOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/contratos', 'Contratos', acoes_extra: [
# 		{nome_da_acao: "cancelar", nome_de_exibicao: "Cancelar"},
# 		{nome_da_acao: "finalizar", nome_de_exibicao: "Finalizar"},
# 		{nome_da_acao: "atualiza_itens", nome_de_exibicao: "Atualizar itens"},
# 		{nome_da_acao: "atualiza_dotacoes", nome_de_exibicao: "Atualizar dotações"},
# 		{nome_da_acao: "enviar_para_controladoria", nome_de_exibicao: "Enviar Projeto Básico Para Controladoria"},
# 		{nome_da_acao: "enviar_para_copfin", nome_de_exibicao: "Enviar Projeto Básico  Para COPFIN"},
# 		{nome_da_acao: "confirmar", nome_de_exibicao: "Confirmar Projeto Básico"},
# 		{nome_da_acao: "nao_enviar_para_sim", nome_de_exibicao: "Enviar ou Não para o SIM"},
# 		{nome_da_acao: "retornar_para_aberto", nome_de_exibicao: "Voltar após confirmar"}
# 	]

# 	# ADITIVOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/aditivos', 'Aditivos', acoes_extra: [
# 		{nome_da_acao: "atualiza_itens", nome_de_exibicao: "Atualizar itens"},
# 		{nome_da_acao: "nao_enviar_para_sim", nome_de_exibicao: "Enviar ou Não para o SIM"},
# 		{nome_da_acao: "atualiza_dotacoes", nome_de_exibicao: "Atualizar dotações"},
# 		{nome_da_acao: "atualiza_unidade_orcamentaria", nome_de_exibicao: "Atualizar Unidade Orçamentária"},
# 		{nome_da_acao: "confirmar", nome_de_exibicao: "Confirmar Aditivo"}
# 	]

# 	# APOSTILAMENTOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/apostilamentos', 'Apostilamentos', acoes_extra: [
# 		{nome_da_acao: "atualiza_dotacoes", nome_de_exibicao: "Atualizar dotações"},
# 	]

# 	# ATA DE REGISTRO DE PREÇOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/atas_de_registro_de_precos', 'Atas de registro de preços', except: ["destroy"]

# 	# ATA DE REGISTRO DE PREÇOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/aditivos_da_ata', 'Aditivos das Atas de registro de preços'

# 	# PESSOAS DO PEDIDO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/pessoas_do_pedido', 'Licitantes', acoes_extra: [
# 		{nome_da_acao: "cotar",  nome_de_exibicao: "Cotar"},
# 		{nome_da_acao: "enviar_cotacao",  nome_de_exibicao: "Enviar Cotacão"}
# 	]

# 	# PESSOAS DO PROJETO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/pessoas_do_projeto', 'Fornecedores', only: ["update", "read"], acoes_extra: [
# 		{nome_da_acao: "descredenciar", nome_de_exibicao: "Descredenciar"},
# 		{nome_da_acao: "desclassificar", nome_de_exibicao: "Desclassificar"}
# 	]

# 	# PESSOAS DO PROJETO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/documentos_do_licitante', 'Documentos dos Licitantes', only: ["update"]

# 	# LANCES
# 	modulo.definir_permissao_crud_para_controle 'licitacao/lances', 'Lances', only: ["read", "update"]

# 	# MODELOS DE EDITAL
# 	modulo.definir_permissao_crud_para_controle 'licitacao/modelos_de_documento', 'Modelos de Documento'

# 	# PESSOAS DO PROJETO DO LOTE
# 	modulo.definir_permissao_crud_para_controle 'licitacao/pessoas_do_projeto_do_lote', 'Pessoas do Projeto do Lote', only: ["update"], acoes_extra: [
# 		{nome_da_acao: "edita_pessoas_do_projeto_do_lote", nome_de_exibicao: "Dar Nota Técnica"},
# 		{nome_da_acao: "edita_justificativa", nome_de_exibicao: "Inabilitar Ganhador"},
# 		{nome_da_acao: "inabilita", nome_de_exibicao: "Performa inabilitação"}
# 	]

# 	# TCM - IMPORTAÇÃO DE PROCESSOS
# 	modulo.definir_permissao_crud_para_controle 'licitacao/importacoes_tcm_processos', 'Importações de Processo'

# 	# TCM - VISTOS DO PARECER JURÍDICO DO PROCESSO
# 	modulo.definir_permissao_crud_para_controle 'licitacao/vistos_de_documentos_do_processo', 'Vistos do Parecer Jurídico - Processo'
# 	modulo.definir_permissao_crud_para_controle 'licitacao/gestores_do_contrato', 'Gestores do Contrato'
# end

# #MÓDULO ADMINISTRATIVO
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'administrativo', nome_de_exibicao:  "Administrativo" ).tap do |modulo|

# 	#INÍCIO
# 	modulo.definir_permissao_crud_para_controle 'administrativo/inicio', "administrativo", only: ["read"]

# 	#EMPENHOS
# 	modulo.definir_permissao_crud_para_controle 'empenhos', "Empenhos", acoes_extra: [
# 		{nome_da_acao: "atualiza_itens", nome_de_exibicao: "Editar Itens"},
# 		{nome_da_acao: "enviar_para_controladoria", nome_de_exibicao: "Enviar Para Controladoria"},
# 		{nome_da_acao: "enviar_para_copfin", nome_de_exibicao: "Enviar Para Copfin"},
# 		{nome_da_acao: "confirmar_empenho", nome_de_exibicao: "Confirmar Empenho"},
# 		{nome_da_acao: "enviar_para_contabilidade", nome_de_exibicao: "Enviar Para Contabilidade"},
# 		{nome_da_acao: "retornar_para_administrativo", nome_de_exibicao: "Retornar Para administrativo"},
# 		{nome_da_acao: "nao_enviar_para_sim", nome_de_exibicao: "Enviar ou Não para o SIM"},
# 		{nome_da_acao: "receber", nome_de_exibicao: "Receber" },
# 		{nome_da_acao: "restos_a_pagar", nome_de_exibicao: "Restos a Pagar" }
# 	]

# 	modulo.definir_permissao_crud_para_controle 'administrativo/liquidacoes', "Liquidacoes", acoes_extra: [
# 		{nome_da_acao: "enviar_para_controladoria", nome_de_exibicao: "Enviar para controladoria"},
# 		{nome_da_acao: "enviar_para_contabilidade", nome_de_exibicao: "Enviar para Contabilidade"},
# 		{nome_da_acao: "confirmar_liquidacao", nome_de_exibicao: "Confirmar"},
# 		{nome_da_acao: "retornar_para_solicitado", nome_de_exibicao: "Voltar após confirmar"}
# 	]

# 	#REQUISIÇÕES DE MATERIAIS
# 	modulo.definir_permissao_crud_para_controle 'administrativo/requisicoes_de_materiais', "Requisições de Materiais", acoes_extra: [
# 		{nome_da_acao: "enviar_requisicao_ao_almoxarifado", nome_de_exibicao: "Enviar Requisição ao Almoxarifado"}
# 	]

# 	# CONSUMOS
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/consumos', "Consumos"
# end

# #MÓDULO CONTROLADORIA
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'controladoria', nome_de_exibicao:  "Controladoria" ).tap do |modulo|

# 	#INÍCIO
# 	modulo.definir_permissao_crud_para_controle 'controladoria/inicio', "controladoria", only: ["read"]

# 	#VISTOS
# 	modulo.definir_permissao_crud_para_controle 'controladoria/vistos', "Vistos"

# 	#PROJETOS
# 	modulo.definir_permissao_crud_para_controle 'controladoria/projetos', "Projetos", acoes_extra: [
# 		{nome_da_acao: "enviar_para_copfin", nome_de_exibicao: "Enviar para Copfin"},
# 		{nome_da_acao: "enviar_para_confirmar_projeto", nome_de_exibicao: "Enviar para Confirmação"},
# 		{nome_da_acao: "retornar_para_licitacao", nome_de_exibicao: "Retornar para Licitação"},
# 	]

# 	modulo.definir_permissao_crud_para_controle 'controladoria/contratos', "Contratos", only: ["read"], acoes_extra: [
# 		{nome_da_acao: "enviar_para_copfin", nome_de_exibicao: "Enviar Projeto Bpasico para Copfin"},
# 		{nome_da_acao: "enviar_para_licitacao", nome_de_exibicao: "Enviar Projeto Bpasico para Confirmação"},
# 		{nome_da_acao: "retornar_para_licitacao", nome_de_exibicao: "Retornar Projeto Bpasico para Licitação"},
# 	]

# 	#LIQUIDAÇÃO
# 	modulo.definir_permissao_crud_para_controle 'controladoria/liquidacoes', "Liquidações", only: ["read"], acoes_extra: [
# 		{nome_da_acao: "enviar_para_contabilidade", nome_de_exibicao: "Enviar Para Contabilidade"},
# 		{nome_da_acao: "retornar_para_administrativo", nome_de_exibicao: "Retornar para administrativo"},
# 	]

# 	# DOCUMENTOS DO PROCESSO
# 	modulo.definir_permissao_crud_para_controle 'controladoria/documentos_do_processo', 'Documentos do Processo'

# 	#Centro De Custos
# 	modulo.definir_permissao_crud_para_controle 'controladoria/centro_de_custos', 'Centro de Custos', acoes_extra: [
# 		{nome_da_acao: "editar_responsaveis_do_centro_de_custos", nome_de_exibicao: "Editar Responsáveis do Centro de Custos"}
# 	]

# 	modulo.definir_permissao_crud_para_controle 'controladoria/responsaveis_do_centro_de_custos', 'Responsáveis do Centro de Custos'
# end

# #MÓDULO GESTÃO DE ESTOQUE
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'gestao_de_estoque', nome_de_exibicao:  "Gestão de Estoque" ).tap do |modulo|
# 	#INÍCIO
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/inicio', "Gestão de Estoque", only: ["read"]

# 	#ALMOXARIFADO
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/almoxarifados', "Almoxarifados"

# 	#RECEBIMENTO DE MATERIAIS
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/recebimento_de_materiais', "Recebimento de Materiais", acoes_extra: [
# 		{nome_da_acao: "enviar_ao_patrimonio", nome_de_exibicao: "Enviar ao Patrimônio"}
# 	]

# 	#ESTOQUES
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/estoques', "Estoques"

# 	#COMISSÃO
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/comissoes', "Comissões"

# 	#MEMBROS DA COMISSÃO
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/membros_da_comissao', 'Membros da Comissão'

# 	#CONTROLE DE EXTINTORES
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/controle_de_extintores', 'Controle de Extintor'

# 	#CONTROLE DE PRAGAS
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/controle_de_pragas', 'Controle de Pragas'

# 	#
# 	modulo.definir_permissao_crud_para_controle 'gestao_de_estoque/devolucoes_de_materiais', 'Devolução de Materiais', acoes_extra: [
# 		{nome_da_acao: "atualiza_itens_das_devolucoes_de_materiais", nome_de_exibicao: "Atualiza Itens das Devoluções"},
# 		{nome_da_acao: "editar_itens_das_devolucoes_de_materiais", nome_de_exibicao: "Editar Itens das Devoluções"},
# 		{nome_da_acao: "confirmar_recusa", nome_de_exibicao: "Confirmar Recusa"},
# 		{nome_da_acao: "recusar_devolucao", nome_de_exibicao: "Recusar Devolução"},
# 		{nome_da_acao: "cancelar_devolucao", nome_de_exibicao: "Cancelar Devolução"},
# 		{nome_da_acao: "enviar_devolucao_ao_almoxarifado", nome_de_exibicao: "Enviar Devolução ao Almoxarifado"}
# 	]
# end

# #MÓDULO PATRIMÔNIO
# Acesso::Modulo.find_or_create_by!( nome_do_modulo: 'patrimonio', nome_de_exibicao:  "Patrimônio" ).tap do |modulo|
# 	#INÍCIO
# 	modulo.definir_permissao_crud_para_controle 'patrimonio/inicio', "Patrimônio", only: ["read"]

# 	# RECEBIMENTOS DE BENS
# 	modulo.definir_permissao_crud_para_controle 'patrimonio/recebimentos_de_bens', 'Recebimento de Bens', acoes_extra: [
# 		{nome_da_acao: "editar_itens_do_recebimento_de_bem", nome_de_exibicao: "Editar itens do Receimento de Bem"},
# 		{nome_da_acao: "confirmar_recebimento_de_bem", nome_de_exibicao: "Confirmar Recebimento de Bem"},
# 		{nome_da_acao: "insere_dados_extras_do_bem", nome_de_exibicao: "Gerar Bens Patrimoniais"}
# 	]

# 	# BENS PATRIMONIAIS
# 	modulo.definir_permissao_crud_para_controle 'patrimonio/bens_patrimoniais', 'Bens Patrimoniais'

# 	# LOCALIZAÇÕES DOS BENS PATRIMONIAIS
# 	modulo.definir_permissao_crud_para_controle 'patrimonio/localizacoes_dos_bens', 'Localização dos Bens'
# end
