Skip to content

Commit

Permalink
fix messages controller
Browse files Browse the repository at this point in the history
  • Loading branch information
bborn committed Aug 17, 2009
1 parent c1a00dd commit 7b22662
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 35 deletions.
45 changes: 20 additions & 25 deletions app/controllers/messages_controller.rb
Expand Up @@ -26,39 +26,34 @@ def show
def new
if params[:reply_to]
in_reply_to = Message.find_by_id(params[:reply_to])
@message = Message.new_reply(@user, in_reply_to, params)
else
@message = Message.new(:to=>params[:to])
end

@message = Message.new_reply(@user, in_reply_to, params)
end

def create
messages = []
begin
if params[:message][:to].blank?
# If 'to' field is empty, call validations to catch other
# errors and raise exception to re-show form
@message = Message.new(params[:message])
@message.valid?
raise
else
# If 'to' field isn't empty then make sure each recipient
# is valid
params[:message][:to].split(',').uniq.each do |to|
@message = Message.new(params[:message])
@message.recipient = User.find_by_login(to.strip)
@message.sender = @user
raise unless @message.valid?

if params[:message][:to].blank?
# If 'to' field is empty, call validations to catch other
@message = Message.new(params[:message])
@message.valid?
render :action => :new and return
else
# If 'to' field isn't empty then make sure each recipient is valid
params[:message][:to].split(',').uniq.each do |to|
@message = Message.new(params[:message])
@message.recipient = User.find_by_login(to.strip)
@message.sender = @user
unless @message.valid?
render :action => :new and return
else
messages << @message
end
# If all messages are valid then send message
messages.each {|msg| msg.save!}
flash[:notice] = :message_sent.l
redirect_to user_messages_path(@user)
end
rescue
render :action => :new
# If all messages are valid then send messages
messages.each {|msg| msg.save!}
flash[:notice] = :message_sent.l
redirect_to user_messages_path(@user) and return
end
end

Expand Down
20 changes: 10 additions & 10 deletions test/functional/messages_controller_test.rb
Expand Up @@ -147,17 +147,17 @@ def test_should_mark_recipient_deleted
end

private
def create_message(sender,recipient)
Message.create(:sender_id => sender.id, :recipient_id => recipient.id,
:body => 'Some content', :subject => 'A subject').save!
end
def create_message(sender,recipient)
Message.create(:sender_id => sender.id, :recipient_id => recipient.id,
:body => 'Some content', :subject => 'A subject').save!
end

def should_mark_deleted(user)
@request.env['HTTP_REFERER'] = "#{user.login}/messages"
create_message(users(:leopoldo),users(:florian))
post :delete_selected, :delete => [Message.last.id], :user_id => user.id
assert_redirected_to "#{user.login}/messages"
end
def should_mark_deleted(user)
@request.env['HTTP_REFERER'] = "#{user.login}/messages"
create_message(users(:leopoldo),users(:florian))
post :delete_selected, :delete => [Message.last.id], :user_id => user.id
assert_redirected_to "#{user.login}/messages"
end


end

0 comments on commit 7b22662

Please sign in to comment.