Files
aperonight/app/jobs/event_reminder_job.rb
kbe ce0752bbda feat: Complete email notifications system with comprehensive functionality
- Implement comprehensive email notification system for ticket purchases and event reminders
- Add event reminder job with configurable scheduling
- Enhance ticket mailer with QR code generation and proper formatting
- Update order model with email delivery tracking
- Add comprehensive test coverage for all email functionality
- Configure proper mailer settings and disable annotations
- Update backlog to reflect completed email features

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 20:21:01 +02:00

20 lines
706 B
Ruby

class EventReminderJob < ApplicationJob
queue_as :default
def perform(event_id, days_before)
event = Event.find(event_id)
# Find all users with active tickets for this event
users_with_tickets = User.joins(orders: { tickets: :ticket_type })
.where(ticket_types: { event: event })
.where(tickets: { status: "active" })
.distinct
users_with_tickets.find_each do |user|
TicketMailer.event_reminder(user, event, days_before).deliver_now
rescue StandardError => e
Rails.logger.error "Failed to send event reminder to user #{user.id} for event #{event.id}: #{e.message}"
end
end
end