diff options
-rw-r--r-- | app/models/issue.rb | 2 | ||||
-rw-r--r-- | test/unit/issue_test.rb | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb index 707c4581c..ba7a9b159 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -810,7 +810,7 @@ class Issue < ActiveRecord::Base # Users the issue can be assigned to def assignable_users users = project.assignable_users.to_a - users << author if author + users << author if author && author.active? users << assigned_to if assigned_to users.uniq.sort end diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb index 1dea102a5..852755473 100644 --- a/test/unit/issue_test.rb +++ b/test/unit/issue_test.rb @@ -1929,6 +1929,20 @@ class IssueTest < ActiveSupport::TestCase assert issue.assignable_users.include?(non_project_member) end + def test_assignable_users_should_not_include_anonymous_user + issue = Issue.generate!(:author => User.anonymous) + + assert !issue.assignable_users.include?(User.anonymous) + end + + def test_assignable_users_should_not_include_locked_user + user = User.generate! + issue = Issue.generate!(:author => user) + user.lock! + + assert !issue.assignable_users.include?(user) + end + test "#assignable_users should include the current assignee" do user = User.generate! issue = Issue.generate!(:assigned_to => user) |