Merge remote-tracking branch 'origin/standalone_develop' into standalone_develop

This commit is contained in:
“xxq250” 2022-08-05 11:41:18 +08:00
commit 5ffc603f61
2 changed files with 35 additions and 7 deletions

View File

@ -26,6 +26,9 @@ class MembersController < ApplicationController
@total_count = scope.size @total_count = scope.size
@members = paginate(scope) @members = paginate(scope)
if @project.owner.is_a?(Organization) && (params[:page].to_i == 1 || params[:page].blank?) && !@project.members.exists?(user_id: current_user.id)
@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
end
end end
def remove def remove
@ -61,10 +64,13 @@ class MembersController < ApplicationController
end end
def check_member_exists! 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 end
def check_member_not_exists! 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 (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? return render_error("user_id为#{params[:user_id]}的用户还不是项目成员") unless member_exists?
end end

View File

@ -1,9 +1,31 @@
json.total_count @total_count json.total_count @total_count
json.members @members do |member| json.members do
if member.user.present? if @current_user_header_team.present?
json.child! do
json.partial! 'member', user: current_user
json.is_owner @project.owner?(current_user)
case @current_user_header_team.authorize
when 'read'
json.role 'Reporter'
json.role_name t("roles.Reporter")
when 'write'
json.role 'Developer'
json.role_name t("roles.Developer")
when 'admin'
json.role 'Manager'
json.role_name t("roles.Manager")
when 'owner'
json.role 'Manager'
json.role_name t("roles.Manager")
end
end
end
@members.each do |member|
json.child! do
json.partial! 'member', user: member.user json.partial! 'member', user: member.user
json.is_owner @project.owner?(member.user) json.is_owner @project.owner?(member.user)
json.role member.roles.last.name json.role member.roles.last.name
json.role_name t("roles.#{member.roles.last.name}") json.role_name t("roles.#{member.roles.last.name}")
end end
end
end end