From: Jean-Philippe Lang Date: Sat, 19 Oct 2019 11:38:15 +0000 (+0000) Subject: Filter after parent project (#29482). X-Git-Tag: 4.1.0~340 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e7d52eb0afa9d878851dc993cb285a7688e99cd1;p=redmine.git Filter after parent project (#29482). Patch by Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@18763 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/project_query.rb b/app/models/project_query.rb index 41ab49363..71878c2a8 100644 --- a/app/models/project_query.rb +++ b/app/models/project_query.rb @@ -37,6 +37,9 @@ class ProjectQuery < Query ) add_available_filter "name", :type => :text add_available_filter "description", :type => :text + add_available_filter("parent_id", + :type => :list_subprojects, :values => lambda { project_values }, :label => :field_parent + ) add_available_filter "is_public", :type => :list, :values => [[l(:general_text_yes), "1"], [l(:general_text_no), "0"]] diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index fc4d66523..3f4dd6967 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -75,6 +75,25 @@ class ProjectsControllerTest < Redmine::ControllerTest end end + def test_index_with_subproject_filter + @request.session[:user_id] = 1 + + get :index, :params => { + :f => ['parent_id'], + :op => {'parent_id' => '='}, + :v => {'parent_id' => ['1']} + } + + assert_response :success + + assert_select 'div#projects-index ul' do + assert_select 'a.project', 3 + assert_select 'a', :text => 'eCookbook Subproject 1' + assert_select 'a', :text => 'eCookbook Subproject 2' + assert_select 'a', :text => 'Private child of eCookbook' + end + end + def test_autocomplete_js get :autocomplete, :params => { :format => 'js',