]> source.dussan.org Git - redmine.git/commitdiff
Include closed projects in search for scope subprojects (#28636).
authorGo MAEDA <maeda@farend.jp>
Thu, 6 Dec 2018 23:21:53 +0000 (23:21 +0000)
committerGo MAEDA <maeda@farend.jp>
Thu, 6 Dec 2018 23:21:53 +0000 (23:21 +0000)
Patch by Marius BALTEANU.

git-svn-id: http://svn.redmine.org/redmine/trunk@17692 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/search_controller.rb
test/functional/search_controller_test.rb

index 00b023872cc758bdb14d5f58f1056c95d25884ef..744c3a3cb9c664216b21a7123d4f495f6cc7e8c7 100644 (file)
@@ -49,7 +49,7 @@ class SearchController < ApplicationController
       when 'my_projects'
         User.current.projects
       when 'subprojects'
-        @project ? (@project.self_and_descendants.active.to_a) : nil
+        @project ? (@project.self_and_descendants.to_a) : nil
       else
         @project
       end
index aace89a816a6fdb46ddf4318be52db89bdfb930d..f5b52b2b4f2dfbca8b1db06ca596ac588c1e1d2c 100644 (file)
@@ -338,6 +338,46 @@ class SearchControllerTest < Redmine::ControllerTest
     assert_response 404
   end
 
+  def test_search_should_include_closed_projects
+    @request.session[:user_id] = 1
+
+    project = Project.find(5)
+    project.close
+    project.save
+
+    # scope all
+    get :index, :params => {:q => 'Issue of a private subproject', :scope => 'all'}
+    assert_response :success
+
+    assert_select '#search-results' do
+      assert_select 'dt.issue', :text => /Bug #6/
+    end
+
+    # scope my_projects
+    get :index, :params => {:q => 'Issue of a private subproject', :scope => 'my_projects'}
+    assert_response :success
+
+    assert_select '#search-results' do
+      assert_select 'dt.issue', :text => /Bug #6/
+    end
+
+    # scope subprojects
+    get :index, :params => {:id => 1, :q => 'Issue of a private subproject', :scope => 'subprojects'}
+    assert_response :success
+
+    assert_select '#search-results' do
+      assert_select 'dt.issue', :text => /Bug #6/
+    end
+
+    # scope project
+    get :index, :params => {:id => 5, :q => 'Issue of a private subproject'}
+    assert_response :success
+
+    assert_select '#search-results' do
+      assert_select 'dt.issue', :text => /Bug #6/
+    end
+  end
+
   def test_quick_jump_to_issue
     # issue of a public project
     get :index, :params => {:q => "3"}