From 8aeae831b88aa13bda3340f5e52fd0efee525330 Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Tue, 17 Nov 2015 10:56:11 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=85=8D=E7=BD=AE=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=84=E7=BB=87=E5=90=8E=EF=BC=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=BB=84=E7=BB=87=E5=88=97=E8=A1=A8=EF=BC=8C=E8=80=8C?= =?UTF-8?q?=E4=B8=8D=E6=98=AF=E9=9A=90=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/org_projects_controller.rb | 19 ++++++++++++++++++- app/views/org_projects/create.js.erb | 18 ++++++++++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/app/controllers/org_projects_controller.rb b/app/controllers/org_projects_controller.rb index 733df95b7..c944193bd 100644 --- a/app/controllers/org_projects_controller.rb +++ b/app/controllers/org_projects_controller.rb @@ -4,8 +4,25 @@ class OrgProjectsController < ApplicationController @project = Project.find(params[:project_id]) org_ids.each do |org_id| OrgProject.create(:organization_id => org_id.to_i, :project_id => params[:project_id].to_i, :created_at => Time.now) - p 1 end + + #更新组织列表 + condition = '%%' + if !params[:orgs].nil? + condition = "%#{params[:orgs].strip}%".gsub(" ","") + end + project_org_ids = OrgProject.find_by_sql("select distinct organization_id from org_projects where project_id = #{params[:project_id]}").map(&:organization_id) + if project_org_ids.empty? + @orgs_not_in_project = Organization.where("(is_public or creator_id =?) = 1 and name like ?",User.current.id, condition).page((params[:page].to_i || 1)).per(10) + @org_count = Organization.where("is_public = 1 or creator_id =?", User.current.id).where("name like ?", condition).count + else + project_org_ids = "(" + project_org_ids.join(',') + ")" + @orgs_not_in_project = Organization.where("id not in #{project_org_ids} and (is_public = 1 or creator_id =?) and name like ?", User.current.id, condition).page((params[:page].to_i || 1)).per(10) + @org_count = Organization.where("id not in #{project_org_ids} and (is_public = 1 or creator_id =?)", User.current.id).where("name like ?", condition).count + end + # @project_count = Project.project_entities.visible.like(params[:name]).page(params[:page]).count + @orgs_page = Paginator.new @org_count, 10,params[:page] + respond_to do |format| format.js end diff --git a/app/views/org_projects/create.js.erb b/app/views/org_projects/create.js.erb index 545918c73..23cbab024 100644 --- a/app/views/org_projects/create.js.erb +++ b/app/views/org_projects/create.js.erb @@ -1,6 +1,20 @@ - $("#search_orgs_result_list").html(""); +$("#search_orgs_result_list").append('') +<% if @org_count > 10 %> + $("#paginator").html(' <%= pagination_links_full @orgs_page, @org_count ,:per_page_links => true,:remote =>true,:flag=>true %>'); +//$("#paginator").css("display", "block"); + +//$("#paginator").css("display", "none"); +<% end %> + + +//$("#search_orgs_result_list").html(""); //$("#search_orgs_result_list").append('