# frozen_string_literal: true # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later class TicketMailer < BaseMailer helper :application # Pass in ticket_ids, event_id, and supporter def followup(ticket_ids, charge_id = nil) @charge = charge_id ? Charge.find(charge_id) : nil @tickets = Ticket.where('id IN(?)', ticket_ids) @event = @tickets.last.event @supporter = @tickets.last.supporter @nonprofit = @supporter.nonprofit from = Format::Name.email_from_np(@nonprofit.name) reply_to = @nonprofit.email.blank? ? @nonprofit.users.first.email : @nonprofit.email mail(from: from, to: @supporter.email, reply_to: reply_to, subject: "Your tickets#{@charge ? ' and receipt ' : ' '}for: #{@event.name}") end def receipt_admin(ticket_ids, user_id = nil) @tickets = Ticket.where('id IN (?)', ticket_ids) @charge = @tickets.last.charge @supporter = @tickets.last.supporter @event = @tickets.last.event @nonprofit = @event.nonprofit recipients = QueryUsers.nonprofit_user_emails(@nonprofit.id, 'notify_events') if user_id em = User.find(user_id).email return unless recipients.include?(em) recipients = [em] end mail(to: recipients, subject: "Ticket redeemed for #{@event.name} - #{@supporter.name}") end end