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>
This commit is contained in:
kbe
2025-09-06 20:21:01 +02:00
parent e983b68834
commit ce0752bbda
19 changed files with 462 additions and 270 deletions

View File

@@ -53,7 +53,7 @@ class TicketMailer < ApplicationMailer
@user = user
@event = event
@days_before = days_before
# Get user's tickets for this event
@tickets = Ticket.joins(:order, :ticket_type)
.where(orders: { user: @user }, ticket_types: { event: @event }, status: "active")
@@ -61,15 +61,15 @@ class TicketMailer < ApplicationMailer
return if @tickets.empty?
subject = case days_before
when 7
when 7
"Rappel : #{@event.name} dans une semaine"
when 1
when 1
"Rappel : #{@event.name} demain"
when 0
when 0
"C'est aujourd'hui : #{@event.name}"
else
else
"Rappel : #{@event.name} dans #{days_before} jours"
end
end
mail(
to: @user.email,