summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/issue.rb2
-rw-r--r--test/unit/issue_test.rb14
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)