Fixed a bug in how fields in /message/new were being pre-filled out.
When someone went to /message/new/:user the "Subject" are would be pre-filled out with t('message.new.title'). The problem was that the @title template variable was being used for two purposes, to set the HTML <title> AND to pre-fill out the subject. We don't always want these two to be the same, but sometimes we do. E.g. when someone replies to a diary entry and visits /message/new/:user?title=Foo we want Foo in the <title> and in the pre-filled out Subject, and the same goes for replying to a message. So I've split up the @title variable into @title and @subject.
This commit is contained in:
parent
866e982488
commit
2153fb6efd
2 changed files with 6 additions and 4 deletions
|
@ -27,8 +27,9 @@ class MessageController < ApplicationController
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if params[:title]
|
if params[:title]
|
||||||
# ?title= is set when someone reponds to this user's diary entry
|
# ?title= is set when someone reponds to this user's diary
|
||||||
@title = params[:title]
|
# entry. Then we pre-fill out the subject and the <title>
|
||||||
|
@title = @subject = params[:title]
|
||||||
else
|
else
|
||||||
# The default /message/new/$user view
|
# The default /message/new/$user view
|
||||||
@title = t 'message.new.title'
|
@title = t 'message.new.title'
|
||||||
|
@ -44,7 +45,7 @@ class MessageController < ApplicationController
|
||||||
def reply
|
def reply
|
||||||
message = Message.find(params[:message_id], :conditions => ["to_user_id = ? or from_user_id = ?", @user.id, @user.id ])
|
message = Message.find(params[:message_id], :conditions => ["to_user_id = ? or from_user_id = ?", @user.id, @user.id ])
|
||||||
@body = "On #{message.sent_on} #{message.sender.display_name} wrote:\n\n#{message.body.gsub(/^/, '> ')}"
|
@body = "On #{message.sent_on} #{message.sender.display_name} wrote:\n\n#{message.body.gsub(/^/, '> ')}"
|
||||||
@title = "Re: #{message.title.sub(/^Re:\s*/, '')}"
|
@title = @subject = "Re: #{message.title.sub(/^Re:\s*/, '')}"
|
||||||
@to_user = User.find(message.from_user_id)
|
@to_user = User.find(message.from_user_id)
|
||||||
render :action => 'new'
|
render :action => 'new'
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
|
@ -104,3 +105,4 @@ class MessageController < ApplicationController
|
||||||
render :action => 'no_such_user', :status => :not_found
|
render :action => 'no_such_user', :status => :not_found
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<table>
|
<table>
|
||||||
<tr valign="top">
|
<tr valign="top">
|
||||||
<th><%= t'message.new.subject' %></th>
|
<th><%= t'message.new.subject' %></th>
|
||||||
<td><%= f.text_field :title, :size => 60, :value => @title %></td>
|
<td><%= f.text_field :title, :size => 60, :value => @subject %></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr valign="top">
|
<tr valign="top">
|
||||||
<th><%= t'message.new.body' %></th>
|
<th><%= t'message.new.body' %></th>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue