diff --git a/app/models/issue.rb b/app/models/issue.rb index 5a49b0d..8777a11 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -819,12 +819,12 @@ class Issue < ActiveRecord::Base end end - # Returns the previous assignee if changed + # Returns the previous assignee (user or group) if changed def assigned_to_was # assigned_to_id_was is reset before after_save callbacks user_id = @previous_assigned_to_id || assigned_to_id_was if user_id && user_id != assigned_to_id - @assigned_to_was ||= User.find_by_id(user_id) + @assigned_to_was ||= Principal.find_by_id(user_id) end end diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb index 33635e7..72157e5 100644 --- a/test/unit/issue_test.rb +++ b/test/unit/issue_test.rb @@ -2591,4 +2591,12 @@ class IssueTest < ActiveSupport::TestCase issue.tracker = Tracker.find(2) assert_equal IssueStatus.find(3), issue.status end + + def test_assigned_to_was_with_a_group + group = Group.find(10) + + issue = Issue.generate!(:assigned_to => group) + issue.reload.assigned_to = nil + assert_equal group, issue.assigned_to_was + end end