Use ActiveJob to send conference date update mails
This commit is contained in:
parent
21280cd9d8
commit
e758c30292
3 changed files with 17 additions and 8 deletions
|
|
@ -85,7 +85,7 @@ module Admin
|
||||||
send_mail_on_conf_update = @conference.notify_on_dates_changed?
|
send_mail_on_conf_update = @conference.notify_on_dates_changed?
|
||||||
|
|
||||||
if @conference.update_attributes(conference_params)
|
if @conference.update_attributes(conference_params)
|
||||||
Mailbot.conference_date_update_mail(@conference).deliver_later if send_mail_on_conf_update
|
ConferenceDateUpdateMailJob.perform_later(@conference) if send_mail_on_conf_update
|
||||||
redirect_to edit_admin_conference_path(id: @conference.short_title),
|
redirect_to edit_admin_conference_path(id: @conference.short_title),
|
||||||
notice: 'Conference was successfully updated.'
|
notice: 'Conference was successfully updated.'
|
||||||
else
|
else
|
||||||
|
|
|
||||||
9
app/jobs/conference_date_update_mail_job.rb
Normal file
9
app/jobs/conference_date_update_mail_job.rb
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
class ConferenceDateUpdateMailJob < ActiveJob::Base
|
||||||
|
queue_as :default
|
||||||
|
|
||||||
|
def perform(conference)
|
||||||
|
conference.subscriptions.each do |subscription|
|
||||||
|
Mailbot.conference_date_update_mail(conference, subscription.user).deliver_now
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -35,13 +35,13 @@ class Mailbot < ActionMailer::Base
|
||||||
conference.email_settings.generate_event_mail(event, conference.email_settings.confirmed_without_registration_body))
|
conference.email_settings.generate_event_mail(event, conference.email_settings.confirmed_without_registration_body))
|
||||||
end
|
end
|
||||||
|
|
||||||
def conference_date_update_mail(conference)
|
def conference_date_update_mail(conference, user)
|
||||||
User.joins(:subscriptions).merge(conference.subscriptions).each do |user|
|
mail(to: user.email,
|
||||||
build_email(conference,
|
from: conference.contact.email,
|
||||||
user.email,
|
subject: conference.email_settings.conference_dates_updated_subject,
|
||||||
conference.email_settings.conference_dates_updated_subject,
|
body: conference.email_settings.generate_email_on_conf_updates(conference,
|
||||||
conference.email_settings.generate_email_on_conf_updates(conference, user, conference.email_settings.conference_dates_updated_body))
|
user,
|
||||||
end
|
conference.email_settings.conference_dates_updated_body))
|
||||||
end
|
end
|
||||||
|
|
||||||
def conference_registration_date_update_mail(conference)
|
def conference_registration_date_update_mail(conference)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue