From 629f3fbbe1b41fd573c3ab2f1cb198b38c8738c0 Mon Sep 17 00:00:00 2001 From: viletyy Date: Tue, 2 Feb 2021 16:06:24 +0800 Subject: [PATCH] [FIX]little vliad about team_user --- .../organizations/organization_users_controller.rb | 4 ++-- app/controllers/organizations/team_users_controller.rb | 4 ++-- app/controllers/organizations/teams_controller.rb | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/controllers/organizations/organization_users_controller.rb b/app/controllers/organizations/organization_users_controller.rb index 9bb00467a..52e5866d8 100644 --- a/app/controllers/organizations/organization_users_controller.rb +++ b/app/controllers/organizations/organization_users_controller.rb @@ -11,7 +11,7 @@ class Organizations::OrganizationUsersController < Organizations::BaseController end def destroy - tip_exception("您不能从 Owner 团队中删除最后一个用户") if @organization.is_owner_team_last_one?(@operate_user) + tip_exception("您不能从 Owner 团队中删除最后一个用户") if @organization.is_owner_team_last_one?(@operate_user.id) ActiveRecord::Base.transaction do @organization_user.destroy! TeamUser.where(organization_id: @organization.id, user_id: @operate_user.id).map{|u| u.destroy!} @@ -26,7 +26,7 @@ class Organizations::OrganizationUsersController < Organizations::BaseController def quit @organization_user = @organization.organization_users.find_by(user_id: current_user.id) tip_exception("您不在该组织中") if @organization_user.nil? - tip_exception("您不能从 Owner 团队中删除最后一个用户") if @organization.is_owner_team_last_one?(current_user) + tip_exception("您不能从 Owner 团队中删除最后一个用户") if @organization.is_owner_team_last_one?(current_user.id) ActiveRecord::Base.transaction do @organization_user.destroy! TeamUser.where(organization_id: @organization.id, user_id: current_user.id).map{|u| u.destroy!} diff --git a/app/controllers/organizations/team_users_controller.rb b/app/controllers/organizations/team_users_controller.rb index 1b225e5c2..7065ef6a3 100644 --- a/app/controllers/organizations/team_users_controller.rb +++ b/app/controllers/organizations/team_users_controller.rb @@ -25,7 +25,7 @@ class Organizations::TeamUsersController < Organizations::BaseController end def destroy - tip_exception("您不能从 Owner 团队中删除最后一个用户") if @organization.is_owner_team_last_one?(@operate_user) + tip_exception("您不能从 Owner 团队中删除最后一个用户") if @organization.is_owner_team_last_one?(@operate_user.id) ActiveRecord::Base.transaction do @team_user.destroy! Gitea::Organization::TeamUser::DeleteService.call(@organization.gitea_token, @team.gtid, @operate_user.login) @@ -39,7 +39,7 @@ class Organizations::TeamUsersController < Organizations::BaseController def quit @team_user = @team.team_users.find_by(user_id: current_user.id) tip_exception("您不在该组织团队中") if @team_user.nil? - tip_exception("您不能从 Owner 团队中删除最后一个用户") if @organization.is_owner_team_last_one?(current_user) + tip_exception("您不能从 Owner 团队中删除最后一个用户") if @organization.is_owner_team_last_one?(current_user.id) ActiveRecord::Base.transaction do @team_user.destroy! Gitea::Organization::TeamUser::DeleteService.call(@organization.gitea_token, @team.gtid, current_user.login) diff --git a/app/controllers/organizations/teams_controller.rb b/app/controllers/organizations/teams_controller.rb index d3437d23c..26c56f39f 100644 --- a/app/controllers/organizations/teams_controller.rb +++ b/app/controllers/organizations/teams_controller.rb @@ -4,7 +4,7 @@ class Organizations::TeamsController < Organizations::BaseController before_action :check_user_can_edit_org, only: [:create, :update, :destroy] def index - if @organization.is_owner?(current_user) + if @organization.is_owner?(current_user) || current_user.admin? @teams = @organization.teams else @teams = @organization.teams.joins(:team_users).where(team_users: {user_id: current_user.id}) @@ -35,6 +35,7 @@ class Organizations::TeamsController < Organizations::BaseController end def destroy + tip_exception("组织团队不允许被删除") if @team.owner? ActiveRecord::Base.transaction do Gitea::Organization::Team::DeleteService.call(@organization.gitea_token, @team.gtid) @team.destroy!