From 2153fb6efde49f305c3f0d987f37a27d8e43ae26 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Sun, 12 Jul 2009 16:01:49 +0000 Subject: [PATCH] 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 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. --- app/controllers/message_controller.rb | 8 +++++--- app/views/message/new.html.erb | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/controllers/message_controller.rb b/app/controllers/message_controller.rb index 6c7be5e0f..e1062bc9f 100644 --- a/app/controllers/message_controller.rb +++ b/app/controllers/message_controller.rb @@ -27,8 +27,9 @@ class MessageController < ApplicationController end else if params[:title] - # ?title= is set when someone reponds to this user's diary entry - @title = params[:title] + # ?title= is set when someone reponds to this user's diary + # entry. Then we pre-fill out the subject and the <title> + @title = @subject = params[:title] else # The default /message/new/$user view @title = t 'message.new.title' @@ -44,7 +45,7 @@ class MessageController < ApplicationController def reply 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(/^/, '> ')}" - @title = "Re: #{message.title.sub(/^Re:\s*/, '')}" + @title = @subject = "Re: #{message.title.sub(/^Re:\s*/, '')}" @to_user = User.find(message.from_user_id) render :action => 'new' rescue ActiveRecord::RecordNotFound @@ -104,3 +105,4 @@ class MessageController < ApplicationController render :action => 'no_such_user', :status => :not_found end end + diff --git a/app/views/message/new.html.erb b/app/views/message/new.html.erb index f771f619b..9ae756f83 100644 --- a/app/views/message/new.html.erb +++ b/app/views/message/new.html.erb @@ -6,7 +6,7 @@ <table> <tr valign="top"> <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 valign="top"> <th><%= t'message.new.body' %></th> -- 2.43.2