瀏覽代碼

Include attachments in forum post notifications (#16006).

Patch by Yuichi HARADA.


git-svn-id: http://svn.redmine.org/redmine/trunk@19506 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/4.2.0
Go MAEDA 4 年之前
父節點
當前提交
dec5f98112

+ 9
- 7
app/controllers/messages_controller.rb 查看文件

@@ -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


+ 8
- 0
app/views/mailer/message_posted.html.erb 查看文件

@@ -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 -%>

+ 7
- 0
app/views/mailer/message_posted.text.erb 查看文件

@@ -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 -%>

+ 18
- 0
test/unit/mailer_test.rb 查看文件

@@ -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


Loading…
取消
儲存