aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2012-06-05 00:13:27 -0400
committerTeddy Wing2012-06-05 00:13:27 -0400
commit6e4a779a89da7ceb2fba3726e87c1a9272f89df4 (patch)
tree8eb500156cbdafc034fc90a314169a310a96e8bc
parent1a6e119ff165435fa91b65313dd4f2fa8c19a91f (diff)
downloadinboxes-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.rb7
-rw-r--r--app/controllers/inboxes/discussions_controller.rb1
-rw-r--r--app/controllers/inboxes/messages_controller.rb5
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 }