parent
2343db254d
commit
3f45416d48
8 changed files with 163 additions and 36 deletions
|
|
@ -168,13 +168,7 @@ module Admin
|
|||
private
|
||||
|
||||
def update_state(id, transition, notice, mail = false)
|
||||
event = Event.find(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
|
||||
event = Event.find_by_id(id)
|
||||
if event
|
||||
begin
|
||||
if mail
|
||||
|
|
@ -185,13 +179,18 @@ module Admin
|
|||
end
|
||||
event.save
|
||||
rescue Transitions::InvalidTransition => e
|
||||
notice = "Update state failed. #{e.message}"
|
||||
error = "Update state failed. #{e.message}"
|
||||
end
|
||||
else
|
||||
notice = 'Error! Could not find event!'
|
||||
error = 'Error! Could not find event!'
|
||||
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),
|
||||
notice: notice) && return
|
||||
end
|
||||
redirect_to(admin_conference_events_path(conference_id: @conference.short_title),
|
||||
notice: notice) && return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,41 +1,88 @@
|
|||
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))
|
||||
|
||||
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
|
||||
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))
|
||||
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,
|
||||
user.email,
|
||||
conference.email_settings.accepted_subject,
|
||||
conference.email_settings.generate_accepted_email(event))
|
||||
end
|
||||
end
|
||||
|
||||
def rejection_mail(event)
|
||||
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,
|
||||
person.email,
|
||||
user.email,
|
||||
conference.email_settings.rejected_subject,
|
||||
conference.email_settings.generate_rejected_email(event))
|
||||
end
|
||||
end
|
||||
|
||||
def confirm_reminder_mail(event)
|
||||
conference = event.conference
|
||||
person = event.submitter
|
||||
user = event.submitter
|
||||
|
||||
build_email(conference,
|
||||
person.email,
|
||||
conference.email_settings.confirmed_without_registration_subject,
|
||||
conference.email_settings.confirmed_but_not_registered_email(event))
|
||||
# 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
|
||||
end
|
||||
|
||||
def conference_date_update_mail(conference,dates)
|
||||
|
|
@ -64,4 +111,19 @@ class Mailbot < ActionMailer::Base
|
|||
:body => body)
|
||||
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
|
||||
|
|
|
|||
|
|
@ -49,6 +49,8 @@ class EmailSettings < ActiveRecord::Base
|
|||
parse_template(template, values)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def parse_template(text, values)
|
||||
values.each do |key, value|
|
||||
text = text.gsub "{#{key}}", value unless text.blank?
|
||||
|
|
|
|||
|
|
@ -123,9 +123,7 @@ class Event < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def process_confirmation
|
||||
if conference.email_settings.send_on_confirmed_without_registration? &&
|
||||
conference.email_settings.confirmed_email_template &&
|
||||
conference.email_settings.confirmed_without_registration_subject
|
||||
if conference.email_settings.send_on_confirmed_without_registration?
|
||||
if conference.registrations.where(user_id: submitter.id).first.nil?
|
||||
Mailbot.confirm_reminder_mail(self).deliver
|
||||
end
|
||||
|
|
@ -134,8 +132,6 @@ class Event < ActiveRecord::Base
|
|||
|
||||
def process_acceptance(options)
|
||||
if conference.email_settings.send_on_accepted &&
|
||||
conference.email_settings.accepted_email_template &&
|
||||
conference.email_settings.accepted_subject &&
|
||||
options[:send_mail].blank?
|
||||
Rails.logger.debug 'Sending event acceptance mail'
|
||||
Mailbot.acceptance_mail(self).deliver
|
||||
|
|
@ -144,8 +140,6 @@ class Event < ActiveRecord::Base
|
|||
|
||||
def process_rejection(options)
|
||||
if conference.email_settings.send_on_rejected &&
|
||||
conference.email_settings.rejected_email_template &&
|
||||
conference.email_settings.rejected_subject &&
|
||||
options[:send_mail].blank?
|
||||
Rails.logger.debug 'Sending rejected mail'
|
||||
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