Do not journalize blank description changes (#8712).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6147 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
ebdd9c6326
commit
d0d807caf1
|
@ -870,10 +870,13 @@ class Issue < ActiveRecord::Base
|
||||||
if @current_journal
|
if @current_journal
|
||||||
# attributes changes
|
# attributes changes
|
||||||
(Issue.column_names - %w(id root_id lft rgt lock_version created_on updated_on)).each {|c|
|
(Issue.column_names - %w(id root_id lft rgt lock_version created_on updated_on)).each {|c|
|
||||||
|
before = @issue_before_change.send(c)
|
||||||
|
after = send(c)
|
||||||
|
next if before == after || (before.blank? && after.blank?)
|
||||||
@current_journal.details << JournalDetail.new(:property => 'attr',
|
@current_journal.details << JournalDetail.new(:property => 'attr',
|
||||||
:prop_key => c,
|
:prop_key => c,
|
||||||
:old_value => @issue_before_change.send(c),
|
:old_value => @issue_before_change.send(c),
|
||||||
:value => send(c)) unless send(c)==@issue_before_change.send(c)
|
:value => send(c))
|
||||||
}
|
}
|
||||||
# custom fields changes
|
# custom fields changes
|
||||||
custom_values.each {|c|
|
custom_values.each {|c|
|
||||||
|
|
|
@ -733,6 +733,22 @@ class IssueTest < ActiveSupport::TestCase
|
||||||
assert_equal old_description, detail.old_value
|
assert_equal old_description, detail.old_value
|
||||||
assert_equal new_description, detail.value
|
assert_equal new_description, detail.value
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_blank_descriptions_should_not_be_journalized
|
||||||
|
IssueCustomField.delete_all
|
||||||
|
Issue.update_all("description = NULL", "id=1")
|
||||||
|
|
||||||
|
i = Issue.first
|
||||||
|
i.init_journal(User.find(2))
|
||||||
|
i.subject = "blank description"
|
||||||
|
i.description = "\r\n"
|
||||||
|
|
||||||
|
assert_difference 'Journal.count', 1 do
|
||||||
|
assert_difference 'JournalDetail.count', 1 do
|
||||||
|
i.save!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def test_saving_twice_should_not_duplicate_journal_details
|
def test_saving_twice_should_not_duplicate_journal_details
|
||||||
i = Issue.find(:first)
|
i = Issue.find(:first)
|
||||||
|
|
Loading…
Reference in New Issue