diff --git a/app/controllers/conference_registration_controller.rb b/app/controllers/conference_registration_controller.rb index 5df877e2..21928fb4 100644 --- a/app/controllers/conference_registration_controller.rb +++ b/app/controllers/conference_registration_controller.rb @@ -74,7 +74,9 @@ class ConferenceRegistrationController < ApplicationController if update_registration redirect_message = "Registration updated." else - Mailbot.registration_mail(conference, current_user.person).deliver + if conference.email_settings.send_on_registration? + Mailbot.registration_mail(conference, current_user.person).deliver + end end redirect_to(register_conference_path(:id => conference.short_title), :notice => redirect_message) end diff --git a/app/models/event.rb b/app/models/event.rb index 23e903c9..f40c86b4 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -132,14 +132,17 @@ class Event < ActiveRecord::Base end def process_acceptance(options) - if options[:send_mail] == "true" - Rails.logger.debug "Sending acceptance mail" + if conference.email_settings.send_on_accepted && + options[:send_mail].blank? + Rails.logger.debug 'Sending event acceptance mail' Mailbot.acceptance_mail(self).deliver end end def process_rejection(options) - if options[:send_mail] == "true" + if conference.email_settings.send_on_rejected && + options[:send_mail].blank? + Rails.logger.debug 'Sending rejected mail' Mailbot.rejection_mail(self).deliver end end diff --git a/app/views/admin/events/index.html.haml b/app/views/admin/events/index.html.haml index 0c0d9d75..0953f934 100644 --- a/app/views/admin/events/index.html.haml +++ b/app/views/admin/events/index.html.haml @@ -106,21 +106,21 @@ %ul.dropdown-menu - if event.transition_possible? :accept - %li= link_to 'Accept event (no email)', - update_state_admin_conference_event_path(@conference.short_title, event, transition: :accept, send_mail: false), - method: :patch, hint: 'Accept this event without sending an automated email.', id: 'accept_event' - %li= link_to 'Accept event (WITH email)', - update_state_admin_conference_event_path(@conference.short_title, event, transition: :accept, send_mail: true), - method: :patch, hint: 'Accept this event and send an automated email.', id: 'accept_event_mail' + %li= link_to 'Accept event', + update_state_admin_conference_event_path(@conference.short_title, event, transition: :accept), + method: :patch, id: 'accept_event' + - if @conference.email_settings.send_on_accepted? + %li= link_to 'Accept event (without email)', + update_state_admin_conference_event_path(@conference.short_title, event, transition: :accept, send_mail: false), + method: :patch, hint: 'Accept this event without sending an automated email.', id: 'accept_event_without_mail' - if event.transition_possible? :reject - %li= link_to 'Reject event (no email)', - update_state_admin_conference_event_path(@conference.short_title, event, transition: :reject, send_mail: false), - method: :patch, confirm: 'Are you sure?', - hint: 'Reject this event without sending an automated email.', id: 'reject_event' - %li= link_to 'Reject event (WITH email)', - update_state_admin_conference_event_path(@conference.short_title, event, transition: :reject, send_mail: true), - method: :patch, confirm: 'Are you sure?', - hint: 'Reject this event and send an automated email.', id: 'reject_event_mail' + %li= link_to 'Reject event', + update_state_admin_conference_event_path(@conference.short_title, event, transition: :reject), + method: :patch, confirm: 'Are you sure?', id: 'reject_event' + - if @conference.email_settings.send_on_rejected? + %li= link_to 'Reject event (without email)', + update_state_admin_conference_event_path(@conference.short_title, event, transition: :reject, send_mail: false), + method: :patch, confirm: 'Are you sure?', id: 'reject_event_without_mail' - if event.transition_possible? :start_review %li= link_to 'Start review', update_state_admin_conference_event_path(@conference.short_title, event, transition: :start_review),