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