diff --git a/app/jobs/ticket_create_job.rb b/app/jobs/ticket_create_job.rb index 01fd101b..bcc0f415 100644 --- a/app/jobs/ticket_create_job.rb +++ b/app/jobs/ticket_create_job.rb @@ -1,7 +1,8 @@ class TicketCreateJob < ApplicationJob queue_as :default - def perform(ticket_ids, charge) - TicketMailer.followup(ticket_ids, charge_id).deliver_now + def perform(ticket_ids, charge, user=nil) + TicketMailer.followup(ticket_ids, charge_id).deliver_later + TicketMailer.receipt_admin(ticket_ids, user.id).deliver_later end end diff --git a/app/mailers/payment_mailer.rb b/app/mailers/payment_mailer.rb index e44879ee..398477bf 100644 --- a/app/mailers/payment_mailer.rb +++ b/app/mailers/payment_mailer.rb @@ -9,7 +9,7 @@ class PaymentMailer < BaseMailer if payment.kind == 'Donation' || payment.kind == 'RecurringDonation' PaymentNotificationEmailNonprofitJob.perform_later(payment.donation, User.find(user_id)) elsif payment.kind == 'Ticket' - return TicketMailer.receipt_admin(payment.donation.id, user_id).deliver + return TicketMailer.receipt_admin(payment.donation.id, user_id).deliver_later end end @@ -20,7 +20,7 @@ class PaymentMailer < BaseMailer if payment.kind == 'Donation' || payment.kind == 'RecurringDonation' PaymentNotificationEmailDonorJob.perform_later payment.donation elsif payment.kind == 'Ticket' - return TicketMailer.followup(payment.tickets.pluck(:id), payment.charge.id).deliver + return TicketMailer.followup(payment.tickets.pluck(:id), payment.charge).deliver_later end end end diff --git a/lib/insert/insert_tickets.rb b/lib/insert/insert_tickets.rb index b6d01c1c..8d40a1a8 100644 --- a/lib/insert/insert_tickets.rb +++ b/lib/insert/insert_tickets.rb @@ -101,7 +101,6 @@ module InsertTickets charge_id = result['charge'] ? result['charge'].id : nil TicketCreateJob.perform_later(ticket_ids, charge_id && Charge.find(result['charge']&.id)) - EmailJobQueue.queue(JobTypes::TicketMailerReceiptAdminJob, ticket_ids) result end diff --git a/lib/job_types/ticket_mailer_receipt_admin_job.rb b/lib/job_types/ticket_mailer_receipt_admin_job.rb deleted file mode 100644 index ba0f2911..00000000 --- a/lib/job_types/ticket_mailer_receipt_admin_job.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -module JobTypes - class TicketMailerReceiptAdminJob < EmailJob - attr_reader :ticket_ids - - def initialize(ticket_ids, user_id = nil) - @ticket_ids = ticket_ids - @user_id = user_id - end - - def perform - TicketMailer.receipt_admin(@ticket_ids, @user_id).deliver - end - end -end diff --git a/spec/lib/insert/insert_tickets_spec.rb b/spec/lib/insert/insert_tickets_spec.rb index 62eb01db..df29eaa3 100644 --- a/spec/lib/insert/insert_tickets_spec.rb +++ b/spec/lib/insert/insert_tickets_spec.rb @@ -105,7 +105,6 @@ describe InsertTickets do tickets = m.call(*args) ticket_ids = tickets.map(&:id) expect(InsertActivities).to receive(:for_tickets).with(ticket_ids) - expect_email_queued.with(JobTypes::TicketMailerReceiptAdminJob, ticket_ids).once tickets } end diff --git a/spec/lib/job_types/ticket_mailer_receipt_admin_job_spec.rb b/spec/lib/job_types/ticket_mailer_receipt_admin_job_spec.rb deleted file mode 100644 index 7790aa73..00000000 --- a/spec/lib/job_types/ticket_mailer_receipt_admin_job_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -require 'rails_helper.rb' - -describe JobTypes::TicketMailerReceiptAdminJob do - describe '.perform' do - it 'calls the correct active mailer' do - expect(TicketMailer).to receive(:receipt_admin).with(1, 2).and_wrap_original { |_m, *_args| mailer = double('object'); expect(mailer).to receive(:deliver).and_return(nil); mailer } - - job = JobTypes::TicketMailerReceiptAdminJob.new(1, 2) - job.perform - end - end -end