diff options
author | Eric Davis <edavis@littlestreamsoftware.com> | 2010-10-07 17:28:29 +0000 |
---|---|---|
committer | Eric Davis <edavis@littlestreamsoftware.com> | 2010-10-07 17:28:29 +0000 |
commit | 7798e1b1f77645099a0e54769bcc279e078917b5 (patch) | |
tree | 825c3107ed36582c2afd925e75cf2bafaa94c1fc | |
parent | 068771ea0764e326d720455c87e6c8cbc0f825a3 (diff) | |
download | redmine-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.rb | 4 | ||||
-rw-r--r-- | test/unit/issue_test.rb | 16 |
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 |