From 0fc705fcde046318feea5f70704cf1aa3fbe3824 Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 24 Mar 2023 10:56:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E4=B8=BB=E9=A1=B5=E9=A1=B9=E7=9B=AE=E6=96=B0=E5=A2=9Eadmin?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=88=91=E7=AE=A1=E7=90=86=E7=9A=84=E4=BB=93?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/queries/projects/list_my_query.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/queries/projects/list_my_query.rb b/app/queries/projects/list_my_query.rb index bc0cda1a2..510ecf9fd 100644 --- a/app/queries/projects/list_my_query.rb +++ b/app/queries/projects/list_my_query.rb @@ -34,6 +34,10 @@ class Projects::ListMyQuery < ApplicationQuery elsif params[:category].to_s == "forked" #我fork的 fork_ids = user.fork_users.select(:id, :fork_project_id).pluck(:fork_project_id) projects = projects.where(id: fork_ids) + elsif params[:category].to_s == "admin" + normal_projects = projects.joins(members: :roles).where(members: {user_id: user.id}, roles: {name: %w(Manager)}).to_sql + org_projects = projects.joins(team_projects: [team: :team_users]).where(teams: {authorize: "owner"},team_users: {user_id: user.id}).to_sql + projects = Project.from("( #{ normal_projects} UNION #{ org_projects } ) AS projects").distinct # elsif params[:category].to_s == "public" # projects = projects.visible.joins(:members).where(members: { user_id: user.id }) # elsif params[:category].to_s == "private"