diff --git a/app/models/mail_handler.rb b/app/models/mail_handler.rb index 4259eacb2..25eaf02a0 100644 --- a/app/models/mail_handler.rb +++ b/app/models/mail_handler.rb @@ -209,8 +209,8 @@ class MailHandler < ActionMailer::Base # add To and Cc as watchers before saving so the watchers can reply to Redmine add_watchers(issue) - issue.save! add_attachments(issue) + issue.save! logger&.info "MailHandler: issue ##{issue.id} created by #{user}" issue end @@ -245,8 +245,8 @@ class MailHandler < ActionMailer::Base # add To and Cc as watchers before saving so the watchers can reply to Redmine add_watchers(issue) - issue.save! add_attachments(issue) + issue.save! logger&.info "MailHandler: issue ##{issue.id} updated by #{user}" journal end @@ -284,8 +284,8 @@ class MailHandler < ActionMailer::Base :content => cleaned_up_text_body) reply.author = user reply.board = message.board - message.children << reply add_attachments(reply) + message.children << reply reply else logger&.info "MailHandler: ignoring reply from [#{email.from.first}] to a locked topic" @@ -297,7 +297,7 @@ class MailHandler < ActionMailer::Base email.attachments.each do |attachment| next unless accept_attachment?(attachment) next unless attachment.body.decoded.size > 0 - obj.attachments << Attachment.create(:container => obj, + obj.saved_attachments << Attachment.create( :file => attachment.body.decoded, :filename => attachment.filename, :author => user, diff --git a/test/unit/mail_handler_test.rb b/test/unit/mail_handler_test.rb index 07532d82e..8b339e6dc 100644 --- a/test/unit/mail_handler_test.rb +++ b/test/unit/mail_handler_test.rb @@ -906,7 +906,7 @@ class MailHandlerTest < ActiveSupport::TestCase def test_update_issue_with_attachment assert_difference 'Journal.count' do assert_difference 'JournalDetail.count' do - assert_difference 'Attachment.count' do + assert_difference ->{Attachment.where(:container_type => 'Issue', :container_id => 2).count} do assert_no_difference 'Issue.count' do journal = submit_email('ticket_with_attachment.eml') do |raw| raw.gsub! /^Subject: .*$/, 'Subject: Re: [Cookbook - Feature #2] (New) Add ingredients categories' @@ -928,7 +928,7 @@ class MailHandlerTest < ActiveSupport::TestCase Issue.any_instance.stubs(:valid?).returns(false) assert_no_difference 'Journal.count' do assert_no_difference 'JournalDetail.count' do - assert_no_difference 'Attachment.count' do + assert_no_difference ->{Attachment.where(:container_type => 'Issue', :container_id => 2).count} do assert_no_difference 'Issue.count' do journal = submit_email('ticket_with_attachment.eml') do |raw| raw.gsub! /^Subject: .*$/, 'Subject: Re: [Cookbook - Feature #2] (New) Add ingredients categories'