mirror of
https://github.com/redmine/redmine.git
synced 2025-11-13 16:56:00 +01:00
Fix: updated_by_id in Journal points to a deleted user instead of an anonymous user (#41572).
Patch by Go MAEDA (user:maeda). git-svn-id: https://svn.redmine.org/redmine/trunk@23169 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -945,6 +945,7 @@ class User < Principal
|
|||||||
Issue.where(['author_id = ?', id]).update_all(['author_id = ?', substitute.id])
|
Issue.where(['author_id = ?', id]).update_all(['author_id = ?', substitute.id])
|
||||||
Issue.where(['assigned_to_id = ?', id]).update_all('assigned_to_id = NULL')
|
Issue.where(['assigned_to_id = ?', id]).update_all('assigned_to_id = NULL')
|
||||||
Journal.where(['user_id = ?', id]).update_all(['user_id = ?', substitute.id])
|
Journal.where(['user_id = ?', id]).update_all(['user_id = ?', substitute.id])
|
||||||
|
Journal.where(['updated_by_id = ?', id]).update_all(['updated_by_id = ?', substitute.id])
|
||||||
JournalDetail.
|
JournalDetail.
|
||||||
where(["property = 'attr' AND prop_key = 'assigned_to_id' AND old_value = ?", id.to_s]).
|
where(["property = 'attr' AND prop_key = 'assigned_to_id' AND old_value = ?", id.to_s]).
|
||||||
update_all(['old_value = ?', substitute.id.to_s])
|
update_all(['old_value = ?', substitute.id.to_s])
|
||||||
|
|||||||
@@ -308,12 +308,17 @@ class UserTest < ActiveSupport::TestCase
|
|||||||
def test_destroy_should_update_journals
|
def test_destroy_should_update_journals
|
||||||
issue = Issue.generate!(:project_id => 1, :author_id => 2,
|
issue = Issue.generate!(:project_id => 1, :author_id => 2,
|
||||||
:tracker_id => 1, :subject => 'foo')
|
:tracker_id => 1, :subject => 'foo')
|
||||||
|
# Prepare a journal with both user_id and updated_by_id set to 2
|
||||||
issue.init_journal(User.find(2), "update")
|
issue.init_journal(User.find(2), "update")
|
||||||
issue.save!
|
issue.save!
|
||||||
|
journal = issue.journals.first
|
||||||
|
journal.update_columns(updated_by_id: 2)
|
||||||
|
|
||||||
User.find(2).destroy
|
User.find(2).destroy
|
||||||
assert_nil User.find_by_id(2)
|
assert_nil User.find_by_id(2)
|
||||||
assert_equal User.anonymous, issue.journals.first.reload.user
|
journal.reload
|
||||||
|
assert_equal User.anonymous, journal.user
|
||||||
|
assert_equal User.anonymous, journal.updated_by
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_destroy_should_update_journal_details_old_value
|
def test_destroy_should_update_journal_details_old_value
|
||||||
|
|||||||
Reference in New Issue
Block a user