Correção da pagina de variaveis

This commit is contained in:
2026-08-26 23:43:36 -03:00
parent ed44d5fd85
commit a0aafe62fc
3 changed files with 169 additions and 2 deletions

View File

@@ -0,0 +1,40 @@
# Garante que o perfil "Administrador" tenha TODAS as permissões do catálogo.
#
# Por que existe: 20260826000003 é idempotente — se o perfil já foi criado, ela
# não volta a mexer nele. Isso é o certo para não desfazer ajuste do ADM, mas
# significa que uma permissão acrescentada ao catálogo DEPOIS daquele deploy
# (foi o caso de `notificacao.variaveis`) nunca chega ao perfil: o item some do
# menu e a URL responde "sem permissão", sem nada indicando o porquê.
#
# Mexe SÓ no perfil Administrador, e SÓ acrescentando: ele é, por definição,
# "acesso total ao sistema". Perfis criados pelo ADM e os demais de sistema
# ficam como estão.
class SincronizarPermissoesDoPerfilAdministrador < ActiveRecord::Migration[7.1]
TODAS = %w[
dashboard.ver dashboard.financeiro dashboard.operacoes dashboard.exportar dashboard.metricas
consolidacao.ver consolidacao.criar consolidacao.editar consolidacao.editar_finalizada
consolidacao.finalizar consolidacao.arquivar consolidacao.excluir
consolidacao.registrar_pagamento consolidacao.cancelar_pagamento
consolidacao.gerir_motoristas consolidacao.exportar_pdf
notificacao.contatos notificacao.contatos_gerenciar notificacao.contatos_excluir
notificacao.eventos notificacao.eventos_gerenciar notificacao.disparar_manual
notificacao.variaveis notificacao.envios notificacao.credenciais notificacao.whatsapp_sessao
admin.usuarios admin.usuarios_gerenciar admin.perfis
admin.configuracoes admin.configuracoes_editar admin.auditoria
admin.edicao_lancamento admin.planilha_simpli_route
].freeze
def up
return unless table_exists?(:perfis_acesso)
execute(<<~SQL.squish)
UPDATE perfis_acesso
SET permissoes = #{quote(TODAS.to_json)}::jsonb, updated_at = NOW()
WHERE sistema = true AND LOWER(nome) = 'administrador'
SQL
end
# Sem volta: reduzir as permissões do administrador só criaria o problema que
# esta migration conserta.
def down; end
end