Files
Reem-Notas/app/controllers/admin/notificacao_envios_controller.rb

24 lines
954 B
Ruby

# app/controllers/admin/notificacao_envios_controller.rb
#
# Log de envios — responde "o contato recebeu?". Sem esta tela, a resposta só
# existia no log do Rails, porque o disparo engole a exceção de propósito (um
# SMTP fora do ar não pode travar o fechamento de um pagamento).
class Admin::NotificacaoEnviosController < ApplicationController
POR_PAGINA = 50
def index
authorize NotificacaoEnvio
escopo = policy_scope(NotificacaoEnvio).includes(:evento_notificacao, :contato, :user)
escopo = escopo.where(status: params[:status]) if NotificacaoEnvio::STATUS.include?(params[:status])
escopo = escopo.where(canal: params[:canal]) if NotificacaoEnvio::CANAIS.include?(params[:canal])
@total_falhas = escopo.falhados.count
begin
@pagy, @envios = pagy(escopo.recentes, limit: POR_PAGINA)
rescue Pagy::OverflowError
@pagy, @envios = pagy(escopo.recentes, limit: POR_PAGINA, page: 1)
end
end
end