Fixing emails to send them with delayed jobs

This commit is contained in:
Gopesh Tulsyan 2014-07-24 17:48:39 +05:30
parent 4aee4b045f
commit 8678b90129
4 changed files with 20 additions and 28 deletions

View file

@ -75,23 +75,19 @@ class Admin::ConferenceController < ApplicationController
@conference = Conference.find_by(short_title: params[:id])
short_title = @conference.short_title
@conference.assign_attributes(params[:conference])
if @conference.start_date_changed? || @conference.end_date_changed?
if @conference.email_settings.send_on_updated_conference_dates &&
!@conference.email_settings.updated_conference_dates_subject.blank? &&
@conference.email_settings.updated_conference_dates_template
Mailbot.conference_date_update_mail(@conference).deliver
end
end
notify_on_conf_dates_updates = (@conference.start_date_changed? || @conference.end_date_changed?)\
&& @conference.email_settings.send_on_updated_conference_dates\
&& !@conference.email_settings.updated_conference_dates_subject.blank?\
&& @conference.email_settings.updated_conference_dates_template
if @conference.registration_start_date_changed? || @conference.registration_end_date_changed?
if @conference.email_settings.send_on_updated_conference_registration_dates &&
!@conference.email_settings.updated_conference_registration_dates_subject.blank? &&
@conference.email_settings.updated_conference_registration_dates_template
Mailbot.conference_registration_date_update_mail(@conference).deliver
end
end
notify_on_conf_reg_dates_updates = (@conference.registration_start_date_changed? || @conference.registration_end_date_changed?)\
&& @conference.email_settings.send_on_updated_conference_registration_dates\
&& !@conference.email_settings.updated_conference_registration_dates_subject.blank?\
&& @conference.email_settings.updated_conference_registration_dates_template
if @conference.update_attributes(params[:conference])
Mailbot.delay.conference_date_update_mail(@conference) if notify_on_conf_dates_updates
Mailbot.delay.conference_registration_date_update_mail(@conference) if notify_on_conf_reg_dates_updates
redirect_to(edit_admin_conference_path(id: @conference.short_title),
notice: 'Conference was successfully updated.')
else

View file

@ -7,18 +7,14 @@ class Admin::VenueController < ApplicationController
def update
@venue = @conference.venue
@venue.assign_attributes(params[:venue])
unless @venue.name.blank? || @venue.address.blank? || @conference.registrations.blank?
if (@venue.name_changed? ||
@venue.address_changed?) &&
(@conference.email_settings.send_on_venue_update &&
!@conference.email_settings.venue_update_subject.blank? &&
@conference.email_settings.venue_update_template)
venue_notify = Mailbot.send_email_on_venue_update(@conference)
end
end
venue_notify = (@venue.name_changed? || @venue.address_changed?) &&
(!@venue.name.blank? && !@venue.address.blank?) &&
(@conference.email_settings.send_on_venue_update &&
!@conference.email_settings.venue_update_subject.blank? &&
@conference.email_settings.venue_update_template)
if @venue.update_attributes(params[:venue])
venue_notify.deliver unless venue_notify.blank?
Mailbot.delay.send_email_on_venue_update(@conference) if venue_notify
redirect_to(admin_conference_venue_info_path(conference_id: @conference.short_title),
notice: 'Venue was successfully updated.')
else

View file

@ -82,7 +82,7 @@ class ConferenceRegistrationController < ApplicationController
# Track ahoy event
ahoy.track 'Registered', title: 'New registration'
if conference.email_settings.send_on_registration?
Mailbot.registration_mail(conference, current_user).deliver
Mailbot.delay.registration_mail(conference, current_user)
end
end
redirect_to(register_conference_path(id: conference.short_title),

View file

@ -130,7 +130,7 @@ class Event < ActiveRecord::Base
conference.email_settings.confirmed_email_template &&
conference.email_settings.confirmed_without_registration_subject
if conference.registrations.where(user_id: submitter.id).first.nil?
Mailbot.confirm_reminder_mail(self).deliver
Mailbot.delay.confirm_reminder_mail(self)
end
end
end
@ -141,7 +141,7 @@ class Event < ActiveRecord::Base
conference.email_settings.accepted_subject &&
!options[:send_mail].blank?
Rails.logger.debug 'Sending event acceptance mail'
Mailbot.acceptance_mail(self).deliver
Mailbot.delay.acceptance_mail(self)
end
end
@ -151,7 +151,7 @@ class Event < ActiveRecord::Base
conference.email_settings.rejected_subject &&
!options[:send_mail].blank?
Rails.logger.debug 'Sending rejected mail'
Mailbot.rejection_mail(self).deliver
Mailbot.delay.rejection_mail(self)
end
end