From 7caa5673e7ab970930ed143581050681b7890dbd Mon Sep 17 00:00:00 2001 From: william Date: Mon, 19 Aug 2013 20:54:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9js=20bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/tags_controller.rb | 100 +++++++++++++++++++++++++++-- 1 file changed, 94 insertions(+), 6 deletions(-) diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb index ccfeccd68..a0f0fb046 100644 --- a/app/controllers/tags_controller.rb +++ b/app/controllers/tags_controller.rb @@ -93,10 +93,54 @@ class TagsController < ApplicationController @show_flag = params[:show_flag] $selected_tags << @tag $related_tags.delete(@tag) + + @obj_pages = nil + @numbers = Setting.tags_show_search_results + # @issues_results = get_issues_by_tag($selected_tags) + # @projects_results = get_projects_by_tag($selected_tags) + # @users_results = get_users_by_tag($selected_tags) + case @show_flag + when '1' then + @users_results = get_users_by_tag($selected_tags) + @obj = User.find_by_id(@obj_id) + + @offset, @limit = api_offset_and_limit({:limit => @numbers}) + @project_count = @users_results.count + @obj_pages = Paginator.new @project_count, @limit, params['page'] + @offset ||= @obj_pages.offset + @users_results = @users_results.offset(@offset).limit(@limit).all + when '2' then + @projects_results = get_projects_by_tag($selected_tags) + @obj = Project.find_by_id(@obj_id) - @issues_results = get_issues_by_tag($selected_tags) - @projects_results = get_projects_by_tag($selected_tags) - @users_results = get_users_by_tag($selected_tags) + @offset, @limit = api_offset_and_limit({:limit => @numbers}) + @project_count = @projects_results.count + @obj_pages = Paginator.new @project_count, @limit, params['page'] + @offset ||= @obj_pages.offset + @projects_results = @projects_results.offset(@offset).limit(@limit).order('lft').all + + when '3' then + @issues_results = get_issues_by_tag($selected_tags) + @obj = Issue.find_by_id(@obj_id) + + @offset, @limit = api_offset_and_limit({:limit => @numbers}) + @project_count = @issues_results.count + @obj_pages = Paginator.new @project_count, @limit, params['page'] + @offset ||= @obj_pages.offset + @issues_results = @issues_results.offset(@offset).limit(@limit).all + when '4' + @bids_results = get_bids_by_tag($selected_tags) + @obj = Bid.find_by_id(@obj_id) + + @offset, @limit = api_offset_and_limit({:limit => @numbers}) + @project_count = @bids_results.count + @obj_pages = Paginator.new @project_count, @limit, params['page'] + @offset ||= @obj_pages.offset + @bids_results = @bids_results.offset(@offset).limit(@limit).all + + else + @obj = nil + end end def delete_tag @@ -105,9 +149,53 @@ class TagsController < ApplicationController $related_tags << @tag $selected_tags.delete(@tag) - @issues_results = get_issues_by_tag($selected_tags) - @projects_results = get_projects_by_tag($selected_tags) - @users_results = get_users_by_tag($selected_tags) + @obj_pages = nil + @numbers = Setting.tags_show_search_results + # @issues_results = get_issues_by_tag($selected_tags) + # @projects_results = get_projects_by_tag($selected_tags) + # @users_results = get_users_by_tag($selected_tags) + case @show_flag + when '1' then + @users_results = get_users_by_tag($selected_tags) + @obj = User.find_by_id(@obj_id) + + @offset, @limit = api_offset_and_limit({:limit => @numbers}) + @project_count = @users_results.count + @obj_pages = Paginator.new @project_count, @limit, params['page'] + @offset ||= @obj_pages.offset + @users_results = @users_results.offset(@offset).limit(@limit).all + when '2' then + @projects_results = get_projects_by_tag($selected_tags) + @obj = Project.find_by_id(@obj_id) + + @offset, @limit = api_offset_and_limit({:limit => @numbers}) + @project_count = @projects_results.count + @obj_pages = Paginator.new @project_count, @limit, params['page'] + @offset ||= @obj_pages.offset + @projects_results = @projects_results.offset(@offset).limit(@limit).order('lft').all + + when '3' then + @issues_results = get_issues_by_tag($selected_tags) + @obj = Issue.find_by_id(@obj_id) + + @offset, @limit = api_offset_and_limit({:limit => @numbers}) + @project_count = @issues_results.count + @obj_pages = Paginator.new @project_count, @limit, params['page'] + @offset ||= @obj_pages.offset + @issues_results = @issues_results.offset(@offset).limit(@limit).all + when '4' + @bids_results = get_bids_by_tag($selected_tags) + @obj = Bid.find_by_id(@obj_id) + + @offset, @limit = api_offset_and_limit({:limit => @numbers}) + @project_count = @bids_results.count + @obj_pages = Paginator.new @project_count, @limit, params['page'] + @offset ||= @obj_pages.offset + @bids_results = @bids_results.offset(@offset).limit(@limit).all + + else + @obj = nil + end end def count(name)