Email notification on cfp dates updates and schedule made public
This commit is contained in:
parent
8cdf48c7df
commit
f5c53f77cf
6 changed files with 69 additions and 27 deletions
|
|
@ -10,7 +10,21 @@ class Admin::CallforpapersController < ApplicationController
|
|||
|
||||
def update
|
||||
@cfp = @conference.call_for_papers
|
||||
@cfp.assign_attributes(params[:call_for_papers])
|
||||
notify_on_schedule_public = @cfp.schedule_public_changed? && @cfp.schedule_public\
|
||||
&& @conference.email_settings.send_on_call_for_papers_schedule_public\
|
||||
&& !@conference.email_settings.call_for_papers_schedule_public_subject.blank?\
|
||||
&& !@conference.email_settings.call_for_papers_schedule_public_template.blank?
|
||||
|
||||
notify_on_cfp_date_update = !@cfp.end_date.blank? && !@cfp.start_date.blank?\
|
||||
&& (@cfp.start_date_changed? || @cfp.end_date_changed?)\
|
||||
&& @conference.email_settings.send_on_call_for_papers_dates_updates\
|
||||
&& !@conference.email_settings.call_for_papers_dates_updates_subject.blank?\
|
||||
&& !@conference.email_settings.call_for_papers_dates_updates_template.blank?
|
||||
|
||||
if @cfp.update_attributes(params[:call_for_papers])
|
||||
Mailbot.delay.send_on_call_for_papers_dates_updates(@conference) if notify_on_cfp_date_update
|
||||
Mailbot.delay.send_on_schedule_public(@conference) if notify_on_schedule_public
|
||||
redirect_to(admin_conference_callforpapers_path(
|
||||
id: @conference.short_title),
|
||||
notice: 'Call for Papers was successfully updated.')
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ class Mailbot < ActionMailer::Base
|
|||
build_email(conference,
|
||||
person.email,
|
||||
conference.email_settings.registration_subject,
|
||||
conference.email_settings.generate_registration_email(conference, person))
|
||||
conference.email_settings.generate_email_on_conf_updates(conference, person, conference.email_settings.registration_email_template))
|
||||
end
|
||||
|
||||
def acceptance_mail(event)
|
||||
|
|
@ -41,7 +41,7 @@ class Mailbot < ActionMailer::Base
|
|||
build_email(conference,
|
||||
user.user.email,
|
||||
conference.email_settings.updated_conference_dates_subject,
|
||||
conference.email_settings.generate_conference_date_update_mail(conference, user))
|
||||
conference.email_settings.generate_email_on_conf_updates(conference, user, conference.email_settings.updated_conference_dates_template))
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -50,16 +50,34 @@ class Mailbot < ActionMailer::Base
|
|||
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))
|
||||
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.email,
|
||||
user.user.email,
|
||||
conference.email_settings.venue_update_subject,
|
||||
conference.email_settings.generate_send_email_on_venue_update(conference, user))
|
||||
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
|
||||
|
||||
|
|
|
|||
|
|
@ -41,12 +41,6 @@ class EmailSettings < ActiveRecord::Base
|
|||
h
|
||||
end
|
||||
|
||||
def generate_registration_email(conference, user)
|
||||
values = get_values(conference, user)
|
||||
template = registration_email_template
|
||||
parse_template(template, values)
|
||||
end
|
||||
|
||||
def generate_accepted_email(event)
|
||||
values = get_values(event.conference, event.submitter, event)
|
||||
template = accepted_email_template
|
||||
|
|
@ -65,21 +59,9 @@ class EmailSettings < ActiveRecord::Base
|
|||
parse_template(template, values)
|
||||
end
|
||||
|
||||
def generate_conference_date_update_mail(conference, user)
|
||||
def generate_email_on_conf_updates(conference, user, conf_update_template)
|
||||
values = get_values(conference, user)
|
||||
template = updated_conference_dates_template
|
||||
parse_template(template, values)
|
||||
end
|
||||
|
||||
def generate_conference_registration_date_update_mail(conference, user)
|
||||
values = get_values(conference, user)
|
||||
template = updated_conference_registration_dates_template
|
||||
parse_template(template, values)
|
||||
end
|
||||
|
||||
def generate_send_email_on_venue_update(conference, user)
|
||||
values = get_values(conference, user)
|
||||
template = venue_update_template
|
||||
template = conf_update_template
|
||||
parse_template(template, values)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -52,6 +52,20 @@
|
|||
"data-name"=>"email_settings_venue_update_template"} Load Template
|
||||
%a.btn.btn-link.control_label.template_help_link{"data-name"=>"updated_venue_help"} Show Help
|
||||
= render partial: 'help', locals: {id: 'updated_venue_help', show_event_variables: false}
|
||||
= f.input :send_on_call_for_papers_schedule_public, hint: "This will notify all participants when the dates are updated or when the schedule is made public"
|
||||
= f.input :call_for_papers_schedule_public_subject, hint: "This subject will used whenever dates are updated or when the schedule is made public"
|
||||
= f.input :call_for_papers_schedule_public_template, :input_html => { :rows => 10, :cols => 20 }
|
||||
%a.btn.btn-link.control_label.load_template{"data-template"=>"Dear {name},\n\nThe Conference Call for Papers Details of {conference} has changed.The schedule is being made public.\n Link to Schedule {schedule_link} \n\nBest wishes\n\n{conference} Team",
|
||||
"data-name"=>"email_settings_call_for_papers_schedule_public_template"} Load Template
|
||||
%a.btn.btn-link.control_label.template_help_link{"data-name"=>"updated_cfp_help"} Show Help
|
||||
= render partial: 'help', locals: {id: 'updated_cfp_help', show_event_variables: false}
|
||||
= f.input :send_on_call_for_papers_dates_updates, hint: "This will notify all participants when the dates are updated or when the schedule is made public"
|
||||
= f.input :call_for_papers_dates_updates_subject, hint: "This subject will used whenever dates are updated or when the schedule is made public"
|
||||
= f.input :call_for_papers_dates_updates_template, :input_html => { :rows => 10, :cols => 20 }
|
||||
%a.btn.btn-link.control_label.load_template{"data-template"=>"Dear {name},\n\nThe Conference Call for Papers Details of {conference} has changed.\nNew Dates : {cfp_start_date} - {cfp_end_date}.\n Link to Schedule {schedule_link} \n\nBest wishes\n\n{conference} Team",
|
||||
"data-name"=>"email_settings_call_for_papers_dates_updates_template"} Load Template
|
||||
%a.btn.btn-link.control_label.template_help_link{"data-name"=>"updated_cfp_help"} Show Help
|
||||
= render partial: 'help', locals: {id: 'updated_cfp_help', show_event_variables: false}
|
||||
.row
|
||||
.col-md-12
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue