summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-10-07 17:28:29 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-10-07 17:28:29 +0000
commit7798e1b1f77645099a0e54769bcc279e078917b5 (patch)
tree825c3107ed36582c2afd925e75cf2bafaa94c1fc
parent068771ea0764e326d720455c87e6c8cbc0f825a3 (diff)
downloadredmine-7798e1b1f77645099a0e54769bcc279e078917b5.tar.gz
redmine-7798e1b1f77645099a0e54769bcc279e078917b5.zip
Allow assigning issues back to the author. #4199
This allows an issue to be reassigned to the author even if they are not a project member. Useful when passing back an issue to get more information from the author. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4240 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/issue.rb4
-rw-r--r--test/unit/issue_test.rb16
2 files changed, 16 insertions, 4 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb
index 44b4ba80b..6856355cc 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -390,7 +390,9 @@ class Issue < ActiveRecord::Base
# Users the issue can be assigned to
def assignable_users
- project.assignable_users
+ users = project.assignable_users
+ users << author if author
+ users.sort
end
# Versions that the issue can be assigned to
diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb
index 13a24cd69..efaaafbbd 100644
--- a/test/unit/issue_test.rb
+++ b/test/unit/issue_test.rb
@@ -532,9 +532,19 @@ class IssueTest < ActiveSupport::TestCase
assert Issue.new(:start_date => 100.days.ago.to_date, :due_date => Date.today, :done_ratio => 90).behind_schedule?
end
end
-
- def test_assignable_users
- assert_kind_of User, Issue.find(1).assignable_users.first
+
+ context "#assignable_users" do
+ should "be Users" do
+ assert_kind_of User, Issue.find(1).assignable_users.first
+ end
+
+ should "include the issue author" do
+ project = Project.find(1)
+ non_project_member = User.generate!
+ issue = Issue.generate_for_project!(project, :author => non_project_member)
+
+ assert issue.assignable_users.include?(non_project_member)
+ end
end
def test_create_should_send_email_notification