Patch by Yuichi HARADA. git-svn-id: http://svn.redmine.org/redmine/trunk@19506 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/4.2.0
@@ -77,10 +77,10 @@ class MessagesController < ApplicationController | |||
@reply.author = User.current | |||
@reply.board = @board | |||
@reply.safe_attributes = params[:reply] | |||
@reply.save_attachments(params[:attachments]) | |||
@topic.children << @reply | |||
if !@reply.new_record? | |||
call_hook(:controller_messages_reply_after_save, { :params => params, :message => @reply}) | |||
attachments = Attachment.attach_files(@reply, params[:attachments]) | |||
render_attachment_warning_if_needed(@reply) | |||
end | |||
flash[:notice] = l(:notice_successful_update) | |||
@@ -91,12 +91,14 @@ class MessagesController < ApplicationController | |||
def edit | |||
(render_403; return false) unless @message.editable_by?(User.current) | |||
@message.safe_attributes = params[:message] | |||
if request.post? && @message.save | |||
attachments = Attachment.attach_files(@message, params[:attachments]) | |||
render_attachment_warning_if_needed(@message) | |||
flash[:notice] = l(:notice_successful_update) | |||
@message.reload | |||
redirect_to board_message_path(@message.board, @message.root, :r => (@message.parent_id && @message.id)) | |||
if request.post? | |||
@message.save_attachments(params[:attachments]) | |||
if @message.save | |||
render_attachment_warning_if_needed(@message) | |||
flash[:notice] = l(:notice_successful_update) | |||
@message.reload | |||
redirect_to board_message_path(@message.board, @message.root, :r => (@message.parent_id && @message.id)) | |||
end | |||
end | |||
end | |||
@@ -2,3 +2,11 @@ | |||
<em><%= @message.author %></em> | |||
<%= textilizable(@message, :content, :only_path => false) %> | |||
<% if @message.attachments.any? -%> | |||
<fieldset class="attachments"><legend><%= l(:label_attachment_plural) %></legend> | |||
<% @message.attachments.each do |attachment| -%> | |||
<%= link_to_attachment attachment, :download => true, :only_path => false %> (<%= number_to_human_size(attachment.filesize) %>)<br /> | |||
<% end -%> | |||
</fieldset> | |||
<% end -%> |
@@ -2,3 +2,10 @@ | |||
<%= @message.author %> | |||
<%= @message.content %> | |||
<% if @message.attachments.any? -%> | |||
---<%= l(:label_attachment_plural).ljust(37, '-') %> | |||
<% @message.attachments.each do |attachment| -%> | |||
<%= attachment.filename %> (<%= number_to_human_size(attachment.filesize) %>) | |||
<% end -%> | |||
<% end -%> |
@@ -334,6 +334,7 @@ class MailerTest < ActiveSupport::TestCase | |||
def test_message_posted_message_id | |||
message = Message.find(1) | |||
attachment = message.attachments.first | |||
Mailer.deliver_message_posted(message) | |||
mail = last_email | |||
uid = destination_user(mail).id | |||
@@ -344,11 +345,22 @@ class MailerTest < ActiveSupport::TestCase | |||
assert_select "a[href=?]", | |||
"http://localhost:3000/boards/#{message.board.id}/topics/#{message.id}", | |||
:text => message.subject | |||
# link to the attachments download | |||
assert_select 'fieldset.attachments' do | |||
assert_select 'a[href=?]', | |||
"http://localhost:3000/attachments/download/#{attachment.id}/#{attachment.filename}", | |||
:text => attachment.filename | |||
end | |||
end | |||
end | |||
def test_reply_posted_message_id | |||
set_tmp_attachments_directory | |||
message = Message.find(3) | |||
attachment = Attachment.generate!( | |||
:container => message, | |||
:file => uploaded_test_file('testfile.txt', 'text/plain') | |||
) | |||
Mailer.deliver_message_posted(message) | |||
mail = last_email | |||
uid = destination_user(mail).id | |||
@@ -359,6 +371,12 @@ class MailerTest < ActiveSupport::TestCase | |||
assert_select "a[href=?]", | |||
"http://localhost:3000/boards/#{message.board.id}/topics/#{message.root.id}?r=#{message.id}#message-#{message.id}", | |||
:text => message.subject | |||
# link to the attachments download | |||
assert_select 'fieldset.attachments' do | |||
assert_select 'a[href=?]', | |||
"http://localhost:3000/attachments/download/#{attachment.id}/testfile.txt", | |||
:text => 'testfile.txt' | |||
end | |||
end | |||
end | |||