Implandação da customização das permissões dos usuarios e das notificaçoes
This commit is contained in:
@@ -3,11 +3,16 @@ class DashboardController < ApplicationController
|
||||
MAX_DIAS_GRAFICO = 92 # limita a granularidade diária do gráfico (≈ 1 trimestre)
|
||||
|
||||
def index
|
||||
skip_authorization
|
||||
|
||||
# Motorista tem painel próprio — não enxerga o dashboard administrativo
|
||||
return redirect_to(motorista_dashboard_path) if current_user.motorista?
|
||||
|
||||
authorize :dashboard, :ver?
|
||||
|
||||
# Custo, pagamento e ticket médio são permissão à parte: um perfil de
|
||||
# acompanhamento vê a operação sem ver quanto ela custa. Antes o controller
|
||||
# usava skip_authorization e o papel `externo` enxergava tudo.
|
||||
@ver_financeiro = current_user.pode?('dashboard.financeiro')
|
||||
|
||||
@periodo_inicio, @periodo_fim = periodo_selecionado
|
||||
carregar_dados_dashboard
|
||||
end
|
||||
@@ -15,9 +20,11 @@ class DashboardController < ApplicationController
|
||||
# GET /dashboard/relatorio_financeiro?inicio=&fim=&operacoes[]=
|
||||
# Relatório financeiro do período (PDF) — mesmos números da tela.
|
||||
def relatorio_financeiro
|
||||
skip_authorization
|
||||
return redirect_to(motorista_dashboard_path) if current_user.motorista?
|
||||
|
||||
authorize :dashboard, :financeiro?
|
||||
@ver_financeiro = true
|
||||
|
||||
@periodo_inicio, @periodo_fim = periodo_selecionado
|
||||
carregar_dados_dashboard
|
||||
|
||||
@@ -58,9 +65,10 @@ class DashboardController < ApplicationController
|
||||
# PLANEJADA: é o único recorte sem checkout, então planned_date é o eixo
|
||||
# possível. Mesmo recorte do card, para o total bater.
|
||||
def pendentes
|
||||
skip_authorization
|
||||
return redirect_to(motorista_dashboard_path) if current_user.motorista?
|
||||
|
||||
authorize :dashboard, :pendentes?
|
||||
|
||||
@periodo_inicio, @periodo_fim = periodo_selecionado
|
||||
@operacoes_agrupadas = Operacao.agrupadas_por_mes
|
||||
@operacao_filtro = Operacao.sanitizar(params[:operacoes])
|
||||
@@ -179,12 +187,13 @@ class DashboardController < ApplicationController
|
||||
@consolidacoes_abertas = @consolidacoes_mes.where(status: :rascunho).count
|
||||
@consolidacoes_fechadas = @consolidacoes_mes.where(status: :finalizada).count
|
||||
|
||||
# Pagamentos: pago vs pendente entre as consolidações FINALIZADAS do período
|
||||
# (medido por motorista — fonte: consolidacao_motoristas).
|
||||
carregar_dados_pagamentos
|
||||
|
||||
# Visão financeira por operação (KPIs + gráficos)
|
||||
carregar_dados_financeiro
|
||||
# Pagamentos e visão financeira só são consultados por quem pode vê-los: sem a
|
||||
# permissão, o dado não chega à página (a view esconde os blocos, mas o certo
|
||||
# é nem carregar — é consulta cara e é informação de custo).
|
||||
if @ver_financeiro
|
||||
carregar_dados_pagamentos
|
||||
carregar_dados_financeiro
|
||||
end
|
||||
|
||||
# Histórico estimado mais recente
|
||||
@historico_recente = HistoricoEstimado.order(created_at: :desc).limit(5)
|
||||
|
||||
Reference in New Issue
Block a user