From 6e4a779a89da7ceb2fba3726e87c1a9272f89df4 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Tue, 5 Jun 2012 00:13:27 -0400 Subject: Email delivery: moved email delivery code into its own private method in the BaseController. Calling it now from _both_ the MessagesController and the DiscussionsController. --- app/controllers/inboxes/base_controller.rb | 7 +++++++ app/controllers/inboxes/discussions_controller.rb | 1 + app/controllers/inboxes/messages_controller.rb | 5 +---- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/controllers/inboxes/base_controller.rb b/app/controllers/inboxes/base_controller.rb index fa14bec..ea1a9c6 100644 --- a/app/controllers/inboxes/base_controller.rb +++ b/app/controllers/inboxes/base_controller.rb @@ -4,4 +4,11 @@ class Inboxes::BaseController < ApplicationController def init_discussion @discussion = Discussion.find(params[:discussion_id]) end + + def deliver_email_notification(message) + sender_index = message.discussion.speakers.index {|speaker| speaker.user_id == current_user.id } + other_speakers = message.discussion.speakers.dup + other_speakers.delete_at(sender_index) + InboxesMailer.received_message_deliver(other_speakers, User.find(message.discussion.speakers.at(sender_index).user_id), message) + end end \ No newline at end of file diff --git a/app/controllers/inboxes/discussions_controller.rb b/app/controllers/inboxes/discussions_controller.rb index 150d960..dcc4560 100644 --- a/app/controllers/inboxes/discussions_controller.rb +++ b/app/controllers/inboxes/discussions_controller.rb @@ -35,6 +35,7 @@ class Inboxes::DiscussionsController < Inboxes::BaseController end if @discussion.save + deliver_email_notification(@discussion.messages.first.body) redirect_to @discussion, :notice => t("inboxes.discussions.started") else render :action => "new" diff --git a/app/controllers/inboxes/messages_controller.rb b/app/controllers/inboxes/messages_controller.rb index 70e35e0..3c53f34 100644 --- a/app/controllers/inboxes/messages_controller.rb +++ b/app/controllers/inboxes/messages_controller.rb @@ -7,10 +7,7 @@ class Inboxes::MessagesController < Inboxes::BaseController @message.discussion = @discussion @message.save - sender_index = @message.discussion.speakers.index {|speaker| speaker.user_id == current_user.id } - other_speakers = @message.discussion.speakers.dup - other_speakers.delete_at(sender_index) - InboxesMailer.received_message_deliver(other_speakers, User.find(@message.discussion.speakers.at(sender_index).user_id), @message) + deliver_email_notification(@message) respond_to do |format| format.html { redirect_to @message.discussion } -- cgit v1.2.3