Defect #33610 ยป fix-33610.patch
app/models/issue.rb | ||
---|---|---|
1853 | 1853 |
# Make sure updated_on is updated when adding a note and set updated_on now |
1854 | 1854 |
# so we can set closed_on with the same value on closing |
1855 | 1855 |
def force_updated_on_change |
1856 |
if @current_journal || changed?
|
|
1856 |
if changed? || (@current_journal && !@current_journal.notes_and_details_empty?)
|
|
1857 | 1857 |
self.updated_on = current_time_from_proper_timezone |
1858 | 1858 |
if new_record? |
1859 | 1859 |
self.created_on = updated_on |
app/models/journal.rb | ||
---|---|---|
82 | 82 |
def save(*args) |
83 | 83 |
journalize_changes |
84 | 84 |
# Do not save an empty journal |
85 |
(details.empty? && notes.blank?) ? false : super |
|
85 |
notes_and_details_empty? ? false : super |
|
86 |
end |
|
87 | ||
88 |
def notes_and_details_empty? |
|
89 |
notes.blank? && details.empty? |
|
86 | 90 |
end |
87 | 91 | |
88 | 92 |
# Returns journal details that are visible to user |
test/unit/issue_test.rb | ||
---|---|---|
1508 | 1508 |
assert_not_equal updated_on_was, issue.updated_on |
1509 | 1509 |
end |
1510 | 1510 | |
1511 |
def test_adding_journal_with_notes_and_details_empty_should_not_update_timestamp |
|
1512 |
issue = Issue.find(1) |
|
1513 |
updated_on_was = issue.updated_on |
|
1514 | ||
1515 |
issue.init_journal(User.first) |
|
1516 |
assert_no_difference 'Journal.count' do |
|
1517 |
assert issue.save |
|
1518 |
end |
|
1519 |
issue.reload |
|
1520 | ||
1521 |
assert_equal updated_on_was, issue.updated_on |
|
1522 |
end |
|
1523 | ||
1511 | 1524 |
def test_should_close_duplicates |
1512 | 1525 |
# Create 3 issues |
1513 | 1526 |
issue1 = Issue.generate! |