2013-01-14 08:49:49 +01:00
class Mailbot < ActionMailer :: Base
default from : " no-reply@example.com "
2014-07-16 01:11:33 +02:00
def registration_mail ( conference , user )
# Send default template if subject or template is blank
if conference . email_settings . registration_subject . blank? ||
conference . email_settings . registration_email_template . blank?
subject = " Registration for #{ conference . title } "
template = 'registration_default_template'
send_default_mail ( template ,
subject ,
conference ,
user )
else
build_email ( conference ,
user . email ,
conference . email_settings . registration_subject ,
conference . email_settings . generate_registration_email ( conference , user ) )
end
2013-01-14 08:49:49 +01:00
end
2013-01-17 13:56:05 +01:00
def acceptance_mail ( event )
conference = event . conference
2014-07-16 01:11:33 +02:00
user = event . submitter
2013-01-17 13:56:05 +01:00
2014-07-16 01:11:33 +02:00
# Send default template if subject or template is blank
if conference . email_settings . accepted_subject . blank? ||
conference . email_settings . accepted_email_template . blank?
subject = 'Your proposal has been accepted'
template = 'accepted_default_template'
send_default_mail ( template ,
subject ,
conference ,
user ,
event )
else
build_email ( conference ,
user . email ,
conference . email_settings . accepted_subject ,
conference . email_settings . generate_accepted_email ( event ) )
end
2013-01-14 08:49:49 +01:00
end
2013-01-17 13:56:05 +01:00
def rejection_mail ( event )
conference = event . conference
2014-07-16 01:11:33 +02:00
user = event . submitter
# Send default template if subject or template is blank
if conference . email_settings . rejected_subject . blank? ||
conference . email_settings . rejected_email_template . blank?
subject = 'Your proposal has been rejected'
template = 'rejected_default_template'
send_default_mail ( template ,
subject ,
conference ,
user ,
event )
else
2013-01-17 13:56:05 +01:00
build_email ( conference ,
2014-07-16 01:11:33 +02:00
user . email ,
2013-01-17 13:56:05 +01:00
conference . email_settings . rejected_subject ,
conference . email_settings . generate_rejected_email ( event ) )
2014-07-16 01:11:33 +02:00
end
2013-01-17 13:56:05 +01:00
end
def confirm_reminder_mail ( event )
conference = event . conference
2014-07-16 01:11:33 +02:00
user = event . submitter
2013-01-17 13:56:05 +01:00
2014-07-16 01:11:33 +02:00
# Send default template if subject or template is blank
if conference . email_settings . confirmed_without_registration_subject . blank? ||
conference . email_settings . confirmed_email_template . blank?
subject = " Your are not registered for #{ conference . title } "
template = 'confirmed_default_template'
send_default_mail ( template ,
subject ,
conference ,
user ,
event )
else
build_email ( conference ,
user . email ,
conference . email_settings . confirmed_without_registration_subject ,
conference . email_settings . confirmed_but_not_registered_email ( event ) )
end
2013-01-14 08:49:49 +01:00
end
2014-07-08 15:42:35 +05:30
def conference_date_update_mail ( conference , dates )
2014-07-10 22:11:27 +05:30
subject = conference . email_settings . updated_conference_dates_subject . blank? ? " #{ conference . title } Dates Updated " : conference . email_settings . updated_conference_dates_subject
2014-07-08 15:42:35 +05:30
partial = " #{ conference . title } \n New Dates : #{ dates } \n For more information visit #{ Rails . application . routes . url_helpers . conference_path ( conference . short_title , host : CONFIG [ 'url_for_emails' ] ) } "
body = conference . email_settings . updated_conference_dates_template . blank? ? " #{ partial } " : " #{ conference . email_settings . updated_conference_dates_template } \n #{ partial } "
conference . registrations . each do | u |
build_email ( conference , u . user . email , subject , body )
end
end
2014-07-10 22:11:27 +05:30
def conference_registration_date_update_mail ( conference , dates )
subject = conference . email_settings . updated_conference_registration_dates_subject . blank? ? " #{ conference . title } Registration Dates Updated " : conference . email_settings . updated_conference_registration_dates_subject
partial = " #{ conference . title } \n New Registration Dates : #{ dates } \n For more information visit #{ Rails . application . routes . url_helpers . conference_path ( conference . short_title , host : CONFIG [ 'url_for_emails' ] ) } "
body = conference . email_settings . updated_conference_registration_dates_template . blank? ? " #{ partial } " : " #{ conference . email_settings . updated_conference_dates_template } \n #{ partial } "
conference . registrations . each do | u |
build_email ( conference , u . user . email , subject , body )
end
end
2013-01-17 13:56:05 +01:00
def build_email ( conference , to , subject , body )
mail ( :to = > to ,
2013-01-14 08:49:49 +01:00
:from = > conference . contact_email ,
:reply_to = > conference . contact_email ,
2013-01-17 13:56:05 +01:00
:subject = > subject ,
:body = > body )
2013-01-14 08:49:49 +01:00
end
2014-07-16 01:11:33 +02:00
def send_default_mail ( template , subject , conference , user , event = nil )
@name = user . name
@conference = conference
if event
@event = event
end
mail ( to : user . email ,
from : conference . contact_email ,
reply_to : conference . contact_email ,
subject : subject ,
template_name : template ,
)
end
2013-01-14 08:49:49 +01:00
end