Implements "Add template" button for email settings
close #16 Subjects now mandatory if send mail enabled
This commit is contained in:
parent
7192e2fe49
commit
6f3426b6a2
10 changed files with 275 additions and 111 deletions
|
|
@ -14,6 +14,12 @@ class EmailSettings < ActiveRecord::Base
|
|||
'email' => user.email,
|
||||
'name' => user.name,
|
||||
'conference' => conference.title,
|
||||
'conference_start_date' => conference.start_date,
|
||||
'conference_end_date' => conference.end_date,
|
||||
'registration_start_date' => conference.registration_start_date,
|
||||
'registration_end_date' => conference.registration_end_date,
|
||||
'venue' => conference.venue.name,
|
||||
'venue_adress' => conference.venue.address,
|
||||
'registrationlink' => Rails.application.routes.url_helpers.register_conference_url(
|
||||
conference.short_title, host: CONFIG['url_for_emails'])
|
||||
}
|
||||
|
|
@ -50,9 +56,31 @@ class EmailSettings < ActiveRecord::Base
|
|||
parse_template(template, values)
|
||||
end
|
||||
|
||||
def generate_conference_date_update_mail(conference, user)
|
||||
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
|
||||
parse_template(template, values)
|
||||
end
|
||||
|
||||
def parse_template(text, values)
|
||||
values.each do |key, value|
|
||||
text = text.gsub "{#{key}}", value unless text.blank?
|
||||
if value.kind_of?(Date)
|
||||
text = text.gsub "{#{key}}", value.strftime('%Y-%m-%d') unless text.blank?
|
||||
else
|
||||
text = text.gsub "{#{key}}", value unless text.blank? || value.blank?
|
||||
end
|
||||
end
|
||||
text
|
||||
end
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ class Event < ActiveRecord::Base
|
|||
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'
|
||||
Mailbot.acceptance_mail(self).deliver
|
||||
end
|
||||
|
|
@ -148,7 +148,7 @@ class Event < ActiveRecord::Base
|
|||
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'
|
||||
Mailbot.rejection_mail(self).deliver
|
||||
end
|
||||
|
|
@ -186,6 +186,25 @@ class Event < ActiveRecord::Base
|
|||
result
|
||||
end
|
||||
|
||||
def update_state(transition, mail = false, subject = false, send_mail = false, send_mail_param)
|
||||
alert = ''
|
||||
if mail && send_mail_param && subject && send_mail
|
||||
alert = 'Update Email Subject before Sending Mails'
|
||||
end
|
||||
begin
|
||||
if mail
|
||||
self.send(transition,
|
||||
send_mail: send_mail_param)
|
||||
else
|
||||
self.send(transition)
|
||||
end
|
||||
self.save
|
||||
rescue Transitions::InvalidTransition => e
|
||||
alert = "Update state failed. #{e.message}"
|
||||
end
|
||||
alert
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def abstract_limit
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue