32 lines
1.5 KiB
Ruby
32 lines
1.5 KiB
Ruby
class OrgProjectsController < ApplicationController
|
|
def create
|
|
org_ids = params[:orgNames]
|
|
@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
|
|
respond_to do |format|
|
|
format.js
|
|
end
|
|
end
|
|
def destroy
|
|
@project = Project.find(params[:project_id])
|
|
@org_project = OrgProject.find(params[:id])
|
|
@org_project.destroy
|
|
|
|
condition = '%%'
|
|
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( 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( 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,1
|
|
end
|
|
end
|