mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
91 lines
3.5 KiB
Ruby
91 lines
3.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_email_on_conf_updates(conference, person, conference.email_settings.registration_email_template))
|
|
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_email_on_conf_updates(conference, user, conference.email_settings.updated_conference_dates_template))
|
|
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_email_on_conf_updates(conference, user, conference.email_settings.updated_conference_registration_dates_template))
|
|
end
|
|
end
|
|
|
|
def send_email_on_venue_update(conference)
|
|
conference.registrations.each do |user|
|
|
build_email(conference,
|
|
user.user.email,
|
|
conference.email_settings.venue_update_subject,
|
|
conference.email_settings.generate_email_on_conf_updates(conference, user, conference.email_settings.venue_update_template))
|
|
end
|
|
end
|
|
|
|
def send_on_schedule_public(conference)
|
|
conference.registrations.each do |user|
|
|
build_email(conference,
|
|
user.user.email,
|
|
conference.email_settings.call_for_papers_schedule_public_subject,
|
|
conference.email_settings.generate_email_on_conf_updates(conference, user, conference.email_settings.call_for_papers_schedule_public_template))
|
|
end
|
|
end
|
|
|
|
def send_on_call_for_papers_dates_updates(conference)
|
|
conference.registrations.each do |user|
|
|
build_email(conference,
|
|
user.user.email,
|
|
conference.email_settings.call_for_papers_dates_updates_subject,
|
|
conference.email_settings.generate_email_on_conf_updates(conference, user, conference.email_settings.call_for_papers_dates_updates_template))
|
|
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
|