|
|
|
@@ -8,14 +8,17 @@ class Organizations::ProjectsController < Organizations::BaseController |
|
|
|
.joins(team_projects: {team: :team_users}) |
|
|
|
.where(team_users: {user_id: current_user.id}).to_sql |
|
|
|
@projects = Project.from("( #{ public_projects_sql} UNION #{ private_projects_sql } ) AS projects") |
|
|
|
|
|
|
|
@projects = @projects.ransack(name_or_identifier_cont: params[:search]).result if params[:search].present? |
|
|
|
# 表情处理 |
|
|
|
keywords = params[:search].to_s.each_char.select { |c| c.bytes.first < 240 }.join('') |
|
|
|
@projects = @projects.ransack(name_or_identifier_cont: keywords).result if params[:search].present? |
|
|
|
@projects = @projects.includes(:owner).order("projects.#{sort} #{sort_direction}") |
|
|
|
@projects = paginate(@projects) |
|
|
|
end |
|
|
|
|
|
|
|
def search |
|
|
|
tip_exception("请输入搜索关键词") if params[:search].nil? |
|
|
|
# 表情处理 |
|
|
|
keywords = params[:search].to_s.each_char.select { |c| c.bytes.first < 240 }.join('') |
|
|
|
public_projects_sql = @organization.projects.where(is_public: true).to_sql |
|
|
|
private_projects_sql = @organization.projects |
|
|
|
.where(is_public: false) |
|
|
|
@@ -23,7 +26,7 @@ class Organizations::ProjectsController < Organizations::BaseController |
|
|
|
.where(team_users: {user_id: current_user.id}).to_sql |
|
|
|
@projects = Project.from("( #{ public_projects_sql} UNION #{ private_projects_sql } ) AS projects") |
|
|
|
|
|
|
|
@projects = @projects.ransack(name_or_identifier_cont: params[:search]).result |
|
|
|
@projects = @projects.ransack(name_or_identifier_cont: keywords).result |
|
|
|
@projects = @projects.includes(:owner).order("projects.#{sort} #{sort_direction}") |
|
|
|
end |
|
|
|
|
|
|
|
|