From d20a7b13180449024a450386245b095b6f21f3a6 Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 5 Aug 2022 10:50:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=8D=8F=E4=BD=9C=E8=80=85=E6=B7=BB=E5=8A=A0=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=88=90=E5=91=98=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/members_controller.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index b4d8e1f9a..d7f0204c9 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -64,12 +64,13 @@ class MembersController < ApplicationController end def check_member_exists! - return render_error("user_id为#{params[:user_id]}的用户已经是项目成员") if member_exists? + @current_user_header_team = Team.joins(:team_users, :team_projects).where(team_projects: {project_id: @project.id}, team_users: {user_id: current_user.id}).order(authorize: :desc).take + return render_error("user_id为#{params[:user_id]}的用户已经是项目成员") if member_exists? || (params[:user_id].to_i == current_user.id && @current_user_header_team.present?) end def check_member_not_exists! @current_user_header_team = Team.joins(:team_users, :team_projects).where(team_projects: {project_id: @project.id}, team_users: {user_id: current_user.id}).order(authorize: :desc).take - return render_error("用户为组织成员,请到组织下操作!") if @current_user_header_team.present? + return render_error("用户为组织成员,请到组织下操作!") if (params[:user_id].to_i == current_user.id && @current_user_header_team.present?) && !member_exists? return render_error("user_id为#{params[:user_id]}的用户还不是项目成员") unless member_exists? end