diff --git a/app/controllers/admin/conference_controller.rb b/app/controllers/admin/conference_controller.rb index 7b1867e5..30ce6559 100644 --- a/app/controllers/admin/conference_controller.rb +++ b/app/controllers/admin/conference_controller.rb @@ -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 diff --git a/app/controllers/admin/venue_controller.rb b/app/controllers/admin/venue_controller.rb index 5f511971..583e3c5f 100644 --- a/app/controllers/admin/venue_controller.rb +++ b/app/controllers/admin/venue_controller.rb @@ -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 diff --git a/app/controllers/conference_registration_controller.rb b/app/controllers/conference_registration_controller.rb index 3d9f0513..025e09d3 100644 --- a/app/controllers/conference_registration_controller.rb +++ b/app/controllers/conference_registration_controller.rb @@ -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), diff --git a/app/models/event.rb b/app/models/event.rb index 5020bfb9..70306615 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -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