summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2023-04-18 14:45:47 +0000
committerGo MAEDA <maeda@farend.jp>2023-04-18 14:45:47 +0000
commit109962363437a7f5e9f724059a657f96dbe5de64 (patch)
treea5366541ed02c01b37ce1a7f2c103c801451ccd9
parentfae39a954207bd055f4fa492b4ed08de9efbaf62 (diff)
downloadredmine-109962363437a7f5e9f724059a657f96dbe5de64.tar.gz
redmine-109962363437a7f5e9f724059a657f96dbe5de64.zip
Support "my bookmarks" in the search (#38459).
Patch by Go MAEDA. git-svn-id: https://svn.redmine.org/redmine/trunk@22204 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/search_controller.rb2
-rw-r--r--app/helpers/search_helper.rb1
-rw-r--r--test/functional/search_controller_test.rb13
3 files changed, 16 insertions, 0 deletions
diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb
index b9ff59e90..a13b9932e 100644
--- a/app/controllers/search_controller.rb
+++ b/app/controllers/search_controller.rb
@@ -49,6 +49,8 @@ class SearchController < ApplicationController
nil
when 'my_projects'
User.current.projects
+ when 'bookmarks'
+ Project.where(id: User.current.bookmarked_project_ids)
when 'subprojects'
@project ? (@project.self_and_descendants.to_a) : nil
else
diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb
index 61331d728..d55cc14aa 100644
--- a/app/helpers/search_helper.rb
+++ b/app/helpers/search_helper.rb
@@ -47,6 +47,7 @@ module SearchHelper
def project_select_tag
options = [[l(:label_project_all), 'all']]
options << [l(:label_my_projects), 'my_projects'] unless User.current.memberships.empty?
+ options << [l(:label_my_bookmarks), 'bookmarks'] unless User.current.bookmarked_project_ids.empty?
options << [l(:label_and_its_subprojects, @project.name), 'subprojects'] unless @project.nil? || @project.descendants.active.empty?
options << [@project.name, ''] unless @project.nil?
label_tag("scope", l(:description_project_scope), :class => "hidden-for-sighted") +
diff --git a/test/functional/search_controller_test.rb b/test/functional/search_controller_test.rb
index 022ad29e9..ee5db1232 100644
--- a/test/functional/search_controller_test.rb
+++ b/test/functional/search_controller_test.rb
@@ -171,6 +171,19 @@ class SearchControllerTest < Redmine::ControllerTest
end
end
+ def test_search_my_bookmarks
+ @request.session[:user_id] = 1
+ get :index, :params => {:q => 'project', :scope => 'bookmarks', :all_words => ''}
+ assert_response :success
+
+ assert_select '#search-results' do
+ assert_select 'dt.issue', :count => 1
+ assert_select 'dt.issue', :text => /Bug #6/
+ assert_select 'dt.changeset', :count => 1
+ assert_select 'dt.changeset', :text => /Revision 4/
+ end
+ end
+
def test_search_project_and_subprojects
get :index, :params => {:id => 1, :q => 'recipe subproject', :scope => 'subprojects', :all_words => ''}
assert_response :success