diff options
| author | Teddy Wing | 2012-06-05 00:13:27 -0400 |
|---|---|---|
| committer | Teddy Wing | 2012-06-05 00:13:27 -0400 |
| commit | 6e4a779a89da7ceb2fba3726e87c1a9272f89df4 (patch) | |
| tree | 8eb500156cbdafc034fc90a314169a310a96e8bc | |
| parent | 1a6e119ff165435fa91b65313dd4f2fa8c19a91f (diff) | |
| download | inboxes-6e4a779a89da7ceb2fba3726e87c1a9272f89df4.tar.bz2 | |
Email delivery: moved email delivery code into its own private method in the BaseController. Calling it now from _both_ the MessagesController and the DiscussionsController.
| -rw-r--r-- | app/controllers/inboxes/base_controller.rb | 7 | ||||
| -rw-r--r-- | app/controllers/inboxes/discussions_controller.rb | 1 | ||||
| -rw-r--r-- | 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 } |
