def reply
message = Message.find(params[:message_id], :conditions => ["to_user_id = ? or from_user_id = ?", @user.id, @user.id ])
- title = message.title.sub(/^Re:\s*/, "Re: ")
- redirect_to :action => 'new', :user_id => message.from_user_id, :title => title
+ @body = "\n\nOn #{message.sent_on} #{message.sender.display_name} wrote:\n #{message.body}"
+ @title = "Re: #{message.title}"
+ @user_id = message.from_user_id
+ render :action => 'new'
rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found
end
-<% display_name = User.find_by_id(params[:user_id]).display_name %>
+<% display_name = User.find_by_id(params[:user_id] || @user_id).display_name %>
<% title = params[:message] ? params[:message][:title] : params[:title] %>
<h2>Send a new message to <%= h(display_name) %></h2>
<%= error_messages_for 'message' %>
-<% form_for :message do |f| %>
+<% form_for :message, :url => {:user_id => params[:user_id] || @user_id, :action => "new" } do |f| %>
<table>
<tr valign="top">
<th>Subject</th>
- <td><%= text_field_tag 'message[title]', title, :size => 60 %></td>
+ <td><%= text_field_tag 'message[title]', title, :size => 60, :value => @title %></td>
</tr>
<tr valign="top">
<th>Body</th>
- <td><%= f.text_area :body, :cols => 80 %></td>
+ <td><%= f.text_area :body, :cols => 80, :value => @body %></td>
</tr>
<tr>
<th></th>
- <td><%= submit_tag 'Send' %></td>
+ <td><%= submit_tag 'Send', :action => 'new' %></td>
</tr>
</table>
<% end %>