1
0
mirror of https://github.com/meineerde/redmine.git synced 2025-12-19 15:01:14 +00:00

Fix: Attachments are added even if validation fails when updating an issue via email (#28576).

Patch by Takenori TAKAKI.


git-svn-id: http://svn.redmine.org/redmine/trunk@17630 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2018-11-23 06:07:32 +00:00
parent f63d0435df
commit f743d2356f
2 changed files with 16 additions and 1 deletions

View File

@ -250,8 +250,8 @@ class MailHandler < ActionMailer::Base
# add To and Cc as watchers before saving so the watchers can reply to Redmine # add To and Cc as watchers before saving so the watchers can reply to Redmine
add_watchers(issue) add_watchers(issue)
add_attachments(issue)
issue.save! issue.save!
add_attachments(issue)
if logger if logger
logger.info "MailHandler: issue ##{issue.id} updated by #{user}" logger.info "MailHandler: issue ##{issue.id} updated by #{user}"
end end

View File

@ -890,6 +890,21 @@ class MailHandlerTest < ActiveSupport::TestCase
assert_equal 'Paella.jpg', detail.value assert_equal 'Paella.jpg', detail.value
end end
def test_update_issue_should_discard_all_changes_on_validation_failure
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 'Issue.count' do
journal = submit_email('ticket_with_attachment.eml') do |raw|
raw.gsub! /^Subject: .*$/, 'Subject: Re: [Cookbook - Feature #2] (New) Add ingredients categories'
end
end
end
end
end
end
def test_update_issue_should_send_email_notification def test_update_issue_should_send_email_notification
journal = submit_email('ticket_reply.eml') journal = submit_email('ticket_reply.eml')
assert journal.is_a?(Journal) assert journal.is_a?(Journal)