# HG changeset patch # User luisf # Date 1365609224 -3600 # Node ID f8c5708a6fd6ece52306c3cfe2a0668aeeaaa88b # Parent 5bafe0f91f6e14bdad381a968531a78246215876 Fixed the tag+text queries using scopes. diff -r 5bafe0f91f6e -r f8c5708a6fd6 plugins/redmine_tags/lib/redmine_tags/patches/projects_controller_patch.rb --- a/plugins/redmine_tags/lib/redmine_tags/patches/projects_controller_patch.rb Wed Apr 10 11:57:46 2013 +0100 +++ b/plugins/redmine_tags/lib/redmine_tags/patches/projects_controller_patch.rb Wed Apr 10 16:53:44 2013 +0100 @@ -103,28 +103,26 @@ def filter_projects # find projects like question @question = (params[:search] || "").strip -# - # if params.has_key?(:project) - # @tag_list = (params[:project][:tag_list] || "").strip.split(",") - # else - # @tag_list = [] - # end -# - # if @question == "" - # @projects = Project.visible_roots - # else - # @projects = Project.visible_roots.find(Project.visible.like(@question)) - # end -# - # unless @tag_list.empty? - # @tagged_projects_ids = Project.visible.tagged_with(@tag_list).collect{ |# project| Project.find(project.id).root } -# - # @projects = @projects & @tagged_projects_ids - # @projects = @projects.uniq - # end - # hack... - @projects = Project.like(@question) + if @question.empty? + projects = Project.visible + else + projects = Project.visible.like(@question) + end + + # search for tags + if params.has_key?(:project) + tag_list = (params[:project][:tag_list] || "").strip.split(",") + else + tag_list = "" + end + + unless tag_list.empty? + projects = projects.tagged_with(tag_list) + end + + ## TODO: luisf-10Apr2013 should I only return the visible_roots? + @projects = projects end end