mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Use ActiveJob to send venue update mails
This commit is contained in:
parent
4dd15dc62c
commit
2ea7bda639
3 changed files with 18 additions and 9 deletions
9
app/jobs/conference_venue_update_mail_job.rb
Normal file
9
app/jobs/conference_venue_update_mail_job.rb
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
class ConferenceVenueUpdateMailJob < ActiveJob::Base
|
||||
queue_as :default
|
||||
|
||||
def perform(conference)
|
||||
conference.subscriptions.each do |subscription|
|
||||
Mailbot.conference_venue_update_mail(conference, subscription.user).deliver_now
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -53,13 +53,13 @@ class Mailbot < ActionMailer::Base
|
|||
conference.email_settings.conference_registration_dates_updated_body))
|
||||
end
|
||||
|
||||
def send_email_on_venue_updated(conference)
|
||||
User.joins(:subscriptions).merge(conference.subscriptions).each do |user|
|
||||
build_email(conference,
|
||||
user.email,
|
||||
conference.email_settings.venue_updated_subject,
|
||||
conference.email_settings.generate_email_on_conf_updates(conference, user, conference.email_settings.venue_updated_body))
|
||||
end
|
||||
def conference_venue_update_mail(conference, user)
|
||||
mail(to: user.email,
|
||||
from: conference.contact.email,
|
||||
subject: conference.email_settings.venue_updated_subject,
|
||||
body: conference.email_settings.generate_email_on_conf_updates(conference,
|
||||
user,
|
||||
conference.email_settings.venue_updated_body))
|
||||
end
|
||||
|
||||
def send_on_schedule_public(conference)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class Venue < ActiveRecord::Base
|
|||
content_type: [/jpg/, /jpeg/, /png/, /gif/],
|
||||
size: { in: 0..500.kilobytes }
|
||||
|
||||
after_update :send_mail_notification
|
||||
before_save :send_mail_notification
|
||||
|
||||
def address
|
||||
"#{street}, #{city}, #{country_name}"
|
||||
|
|
@ -30,7 +30,7 @@ class Venue < ActiveRecord::Base
|
|||
private
|
||||
|
||||
def send_mail_notification
|
||||
Mailbot.send_email_on_venue_updated(conference).deliver_later if notify_on_venue_changed?
|
||||
ConferenceVenueUpdateMailJob.perform_later(conference) if notify_on_venue_changed?
|
||||
end
|
||||
|
||||
def notify_on_venue_changed?
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue