osem-fcy/app/mailers/mailbot.rb
Chrisbr 6f3426b6a2 Implements "Add template" button for email settings
close #16
Subjects now mandatory if send mail enabled
2014-07-23 13:42:18 +02:00

73 lines
2.5 KiB
Ruby

class Mailbot < ActionMailer::Base
default from: "no-reply@example.com"
def registration_mail(conference, person)
build_email(conference,
person.email,
conference.email_settings.registration_subject,
conference.email_settings.generate_registration_email(conference, person))
end
def acceptance_mail(event)
conference = event.conference
person = event.submitter
build_email(conference,
person.email,
conference.email_settings.accepted_subject,
conference.email_settings.generate_accepted_email(event))
end
def rejection_mail(event)
conference = event.conference
person = event.submitter
build_email(conference,
person.email,
conference.email_settings.rejected_subject,
conference.email_settings.generate_rejected_email(event))
end
def confirm_reminder_mail(event)
conference = event.conference
person = event.submitter
build_email(conference,
person.email,
conference.email_settings.confirmed_without_registration_subject,
conference.email_settings.confirmed_but_not_registered_email(event))
end
def conference_date_update_mail(conference)
conference.registrations.each do |user|
build_email(conference,
user.user.email,
conference.email_settings.updated_conference_dates_subject,
conference.email_settings.generate_conference_date_update_mail(conference, user))
end
end
def conference_registration_date_update_mail(conference)
conference.registrations.each do |user|
build_email(conference,
user.user.email,
conference.email_settings.updated_conference_registration_dates_subject,
conference.email_settings.generate_conference_registration_date_update_mail(conference, user))
end
end
def send_email_on_venue_update(conference)
conference.registrations.each do |user|
build_email(conference,
user.email,
conference.email_settings.venue_update_subject,
conference.email_settings.generate_send_email_on_venue_update(conference, user))
end
end
def build_email(conference, to, subject, body)
mail(to: to,
from: conference.contact_email,
reply_to: conference.contact_email,
subject: subject,
body: body)
end
end