From e7d52eb0afa9d878851dc993cb285a7688e99cd1 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 19 Oct 2019 11:38:15 +0000 Subject: [PATCH] Filter after parent project (#29482). Patch by Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@18763 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/project_query.rb | 3 +++ test/functional/projects_controller_test.rb | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) 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',