diff options
-rw-r--r-- | app/controllers/messages_controller.rb | 11 | ||||
-rw-r--r-- | app/models/message.rb | 2 | ||||
-rw-r--r-- | lib/breadcrumb.rb | 15 | ||||
-rw-r--r-- | test/functional/messages_controller_test.rb | 4 |
4 files changed, 25 insertions, 7 deletions
diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index b99e2ad..3845c8e 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -4,7 +4,7 @@ class MessagesController < ApplicationController def index @messages = current_user.top_level_messages.paginate(:page => params[:page]) - @root = Breadcrumb::ReceivedMessages.new + @root = Breadcrumb::ReceivedMessages.new(current_user) respond_to do |wants| wants.html wants.xml {render :xml => @messages} @@ -14,7 +14,7 @@ class MessagesController < ApplicationController def sent @messages = current_user.sent_messages.paginate(:all, :page => params[:page]) - @root = Breadcrumb::SentMessages.new + @root = Breadcrumb::SentMessages.new(current_user) end def read @@ -39,7 +39,10 @@ class MessagesController < ApplicationController end def create - thread_options = params[:message].merge({:recipients => params[:message][:recipients], :sender => current_user}) + thread_options = params[:message].merge({ + :recipients => params[:message][:recipients], + :sender => current_user + }) @messages = MessageThread.new(thread_options) if @messages.save flash[:notice] = "#{@messages.title} sent" @@ -51,7 +54,7 @@ class MessagesController < ApplicationController end def new - @message = Message.new + @message = current_user.sent_messages.new end # POST /messages/<id>/reply diff --git a/app/models/message.rb b/app/models/message.rb index d6c6c8e..c6bfd5a 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -68,7 +68,7 @@ class Message < ActiveRecord::Base end def breadcrumb_parent - in_reply_to || Breadcrumb::Messages.new + in_reply_to || Breadcrumb::Messages.new(sender) end def display_state_for(a_user) diff --git a/lib/breadcrumb.rb b/lib/breadcrumb.rb index 271c8c2..25297a0 100644 --- a/lib/breadcrumb.rb +++ b/lib/breadcrumb.rb @@ -199,20 +199,30 @@ module Breadcrumb end class Messages + def initialize(user) + @user = user + end + def title I18n.t("views.messages.collection_title") end + def breadcrumb_parent - nil + @user end + def breadcrumb_css_class "emails" end end class Mailbox + def initialize(user) + @user = user + end + def breadcrumb_parent - Messages.new + Messages.new(@user) end end @@ -230,6 +240,7 @@ module Breadcrumb def title I18n.t("views.messages.sent_messages") end + def breadcrumb_css_class "sent_emails" end diff --git a/test/functional/messages_controller_test.rb b/test/functional/messages_controller_test.rb index 605ff1d..b07b8a1 100644 --- a/test/functional/messages_controller_test.rb +++ b/test/functional/messages_controller_test.rb @@ -186,6 +186,10 @@ class MessagesControllerTest < ActionController::TestCase should_assign_to :message should_respond_with :success should_render_template :new + + should "set the sender" do + assert_equal users(:johan), assigns(:message).sender + end end context 'On POST to auto_complete_for_message_recipients' do |