parent
2343db254d
commit
3f45416d48
8 changed files with 163 additions and 36 deletions
|
|
@ -168,13 +168,7 @@ module Admin
|
||||||
private
|
private
|
||||||
|
|
||||||
def update_state(id, transition, notice, mail = false)
|
def update_state(id, transition, notice, mail = false)
|
||||||
event = Event.find(id)
|
event = Event.find_by_id(id)
|
||||||
if mail && params[:send_mail].blank? && event &&
|
|
||||||
(event.conference.email_settings.rejected_email_template.nil? ||
|
|
||||||
event.conference.email_settings.accepted_email_template.nil?)
|
|
||||||
return redirect_to(admin_conference_events_path(conference_id: @conference.short_title),
|
|
||||||
notice: 'Update Email Template before Sending Mails') && return
|
|
||||||
end
|
|
||||||
if event
|
if event
|
||||||
begin
|
begin
|
||||||
if mail
|
if mail
|
||||||
|
|
@ -185,13 +179,18 @@ module Admin
|
||||||
end
|
end
|
||||||
event.save
|
event.save
|
||||||
rescue Transitions::InvalidTransition => e
|
rescue Transitions::InvalidTransition => e
|
||||||
notice = "Update state failed. #{e.message}"
|
error = "Update state failed. #{e.message}"
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
notice = 'Error! Could not find event!'
|
error = 'Error! Could not find event!'
|
||||||
end
|
end
|
||||||
|
if error
|
||||||
|
redirect_to(admin_conference_events_path(conference_id: @conference.short_title),
|
||||||
|
alert: error) && return
|
||||||
|
else
|
||||||
redirect_to(admin_conference_events_path(conference_id: @conference.short_title),
|
redirect_to(admin_conference_events_path(conference_id: @conference.short_title),
|
||||||
notice: notice) && return
|
notice: notice) && return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,42 +1,89 @@
|
||||||
class Mailbot < ActionMailer::Base
|
class Mailbot < ActionMailer::Base
|
||||||
default from: "no-reply@example.com"
|
default from: "no-reply@example.com"
|
||||||
|
|
||||||
def registration_mail(conference, person)
|
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,
|
build_email(conference,
|
||||||
person.email,
|
user.email,
|
||||||
conference.email_settings.registration_subject,
|
conference.email_settings.registration_subject,
|
||||||
conference.email_settings.generate_registration_email(conference, person))
|
conference.email_settings.generate_registration_email(conference, user))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def acceptance_mail(event)
|
def acceptance_mail(event)
|
||||||
conference = event.conference
|
conference = event.conference
|
||||||
person = event.submitter
|
user = event.submitter
|
||||||
|
|
||||||
|
# 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,
|
build_email(conference,
|
||||||
person.email,
|
user.email,
|
||||||
conference.email_settings.accepted_subject,
|
conference.email_settings.accepted_subject,
|
||||||
conference.email_settings.generate_accepted_email(event))
|
conference.email_settings.generate_accepted_email(event))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def rejection_mail(event)
|
def rejection_mail(event)
|
||||||
conference = event.conference
|
conference = event.conference
|
||||||
person = event.submitter
|
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
|
||||||
build_email(conference,
|
build_email(conference,
|
||||||
person.email,
|
user.email,
|
||||||
conference.email_settings.rejected_subject,
|
conference.email_settings.rejected_subject,
|
||||||
conference.email_settings.generate_rejected_email(event))
|
conference.email_settings.generate_rejected_email(event))
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def confirm_reminder_mail(event)
|
def confirm_reminder_mail(event)
|
||||||
conference = event.conference
|
conference = event.conference
|
||||||
person = event.submitter
|
user = event.submitter
|
||||||
|
|
||||||
|
# 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,
|
build_email(conference,
|
||||||
person.email,
|
user.email,
|
||||||
conference.email_settings.confirmed_without_registration_subject,
|
conference.email_settings.confirmed_without_registration_subject,
|
||||||
conference.email_settings.confirmed_but_not_registered_email(event))
|
conference.email_settings.confirmed_but_not_registered_email(event))
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def conference_date_update_mail(conference,dates)
|
def conference_date_update_mail(conference,dates)
|
||||||
subject = conference.email_settings.updated_conference_dates_subject.blank? ? "#{conference.title} Dates Updated" : conference.email_settings.updated_conference_dates_subject
|
subject = conference.email_settings.updated_conference_dates_subject.blank? ? "#{conference.title} Dates Updated" : conference.email_settings.updated_conference_dates_subject
|
||||||
|
|
@ -64,4 +111,19 @@ class Mailbot < ActionMailer::Base
|
||||||
:body => body)
|
:body => body)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,8 @@ class EmailSettings < ActiveRecord::Base
|
||||||
parse_template(template, values)
|
parse_template(template, values)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
def parse_template(text, values)
|
def parse_template(text, values)
|
||||||
values.each do |key, value|
|
values.each do |key, value|
|
||||||
text = text.gsub "{#{key}}", value unless text.blank?
|
text = text.gsub "{#{key}}", value unless text.blank?
|
||||||
|
|
|
||||||
|
|
@ -123,9 +123,7 @@ class Event < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def process_confirmation
|
def process_confirmation
|
||||||
if conference.email_settings.send_on_confirmed_without_registration? &&
|
if conference.email_settings.send_on_confirmed_without_registration?
|
||||||
conference.email_settings.confirmed_email_template &&
|
|
||||||
conference.email_settings.confirmed_without_registration_subject
|
|
||||||
if conference.registrations.where(user_id: submitter.id).first.nil?
|
if conference.registrations.where(user_id: submitter.id).first.nil?
|
||||||
Mailbot.confirm_reminder_mail(self).deliver
|
Mailbot.confirm_reminder_mail(self).deliver
|
||||||
end
|
end
|
||||||
|
|
@ -134,8 +132,6 @@ class Event < ActiveRecord::Base
|
||||||
|
|
||||||
def process_acceptance(options)
|
def process_acceptance(options)
|
||||||
if conference.email_settings.send_on_accepted &&
|
if conference.email_settings.send_on_accepted &&
|
||||||
conference.email_settings.accepted_email_template &&
|
|
||||||
conference.email_settings.accepted_subject &&
|
|
||||||
options[:send_mail].blank?
|
options[:send_mail].blank?
|
||||||
Rails.logger.debug 'Sending event acceptance mail'
|
Rails.logger.debug 'Sending event acceptance mail'
|
||||||
Mailbot.acceptance_mail(self).deliver
|
Mailbot.acceptance_mail(self).deliver
|
||||||
|
|
@ -144,8 +140,6 @@ class Event < ActiveRecord::Base
|
||||||
|
|
||||||
def process_rejection(options)
|
def process_rejection(options)
|
||||||
if conference.email_settings.send_on_rejected &&
|
if conference.email_settings.send_on_rejected &&
|
||||||
conference.email_settings.rejected_email_template &&
|
|
||||||
conference.email_settings.rejected_subject &&
|
|
||||||
options[:send_mail].blank?
|
options[:send_mail].blank?
|
||||||
Rails.logger.debug 'Sending rejected mail'
|
Rails.logger.debug 'Sending rejected mail'
|
||||||
Mailbot.rejection_mail(self).deliver
|
Mailbot.rejection_mail(self).deliver
|
||||||
|
|
|
||||||
21
app/views/mailbot/accepted_default_template.html.erb
Normal file
21
app/views/mailbot/accepted_default_template.html.erb
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<p>Dear <%= @name %>,</p>
|
||||||
|
|
||||||
|
<p>We are very pleased to inform you that your submission <%= @event.title %> has been
|
||||||
|
accepted for the conference <%= @conference.title %>.</p>
|
||||||
|
|
||||||
|
<p>The public page of your submission can be found at:</p>
|
||||||
|
<p><%= link_to "#{@event.title}", register_conference_path(@conference.short_title) %></p>
|
||||||
|
<p>If you haven´t already registered for <%= @conference.title %>, please do as soon as possible:</p>
|
||||||
|
<p><%= link_to "Register for #{@conference.title}", register_conference_path(@conference.short_title) %></p>
|
||||||
|
|
||||||
|
<p>Feel free to contact us with any questions or concerns.</p>
|
||||||
|
|
||||||
|
<p>We look forward to seeing you there.</p>
|
||||||
|
|
||||||
|
<p>Best wishes</p>
|
||||||
|
|
||||||
|
<p><%= @conference.title %> Team</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
18
app/views/mailbot/confirmed_default_template.html.erb
Normal file
18
app/views/mailbot/confirmed_default_template.html.erb
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<p>Dear <%= @name %>,</p>
|
||||||
|
|
||||||
|
<p>Thank you for the confirmation of <%= @event.title %>. Unfortunately you are
|
||||||
|
not registered for the conference <%= @conference.title %>. Please register as soon as possible:</p>
|
||||||
|
|
||||||
|
<p><%= link_to "Register for #{@conference.title}", register_conference_path(@conference.short_title) %></p>
|
||||||
|
|
||||||
|
<p>Feel free to contact us with any questions or concerns.</p>
|
||||||
|
|
||||||
|
<p>We look forward to seeing you there.</p>
|
||||||
|
|
||||||
|
<p>Best wishes</p>
|
||||||
|
|
||||||
|
<p><%= @conference.title %> Team</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
17
app/views/mailbot/registration_default_template.html.erb
Normal file
17
app/views/mailbot/registration_default_template.html.erb
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<p>Dear <%= @name %>,</p>
|
||||||
|
|
||||||
|
<p>Thank you for Registering for the conference <%= @conference.title %>.
|
||||||
|
Please complete your registration by filling out your travel information.
|
||||||
|
If you are unable to attend please unregister online:</p>
|
||||||
|
<p><%= link_to "Unregister for #{@conference.title}", register_conference_path(@conference.short_title) %></p>
|
||||||
|
|
||||||
|
<p>Feel free to contact us with any questions or concerns.
|
||||||
|
We look forward to see you there.</p>
|
||||||
|
|
||||||
|
<p>Best wishes</p>
|
||||||
|
|
||||||
|
<p><%= @conference.title %> Team</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
14
app/views/mailbot/rejected_default_template.html.erb
Normal file
14
app/views/mailbot/rejected_default_template.html.erb
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<p>Dear <%= @name %>,</p>
|
||||||
|
|
||||||
|
<p>Thank you for your submission <%= @event.title %> for the conference <%= @conference.title %>.
|
||||||
|
After careful consideration we are sorry to inform you that your submission
|
||||||
|
has been rejected.</p>
|
||||||
|
|
||||||
|
<p>Best wishes</p>
|
||||||
|
|
||||||
|
<p><%= @conference.title %> Team</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue