diff --git a/app/controllers/users/applied_transfer_projects_controller.rb b/app/controllers/users/applied_transfer_projects_controller.rb index 74366bb55..3889f2eb6 100644 --- a/app/controllers/users/applied_transfer_projects_controller.rb +++ b/app/controllers/users/applied_transfer_projects_controller.rb @@ -4,10 +4,10 @@ class Users::AppliedTransferProjectsController < Users::BaseController before_action :find_project, except: [:index] def index - user_collection_sql = AppliedTransferProject.where(owner_id: @_observed_user.id).to_sql + user_collection_sql = AppliedTransferProject.joins(project: [members: :roles]).where(members: {user_id: @_observed_user.id}, roles: {name: 'Manager'}).to_sql org_collection_sql = AppliedTransferProject.where(owner_id: Organization.joins(team_users: :team).where(team_users: {user_id: @_observed_user.id}, teams: {authorize: %w(admin owner)} )).to_sql @applied_transfer_projects = AppliedTransferProject.from("( #{ user_collection_sql } UNION #{ org_collection_sql } ) AS applied_transfer_projects") - @applied_transfer_projects = paginate @applied_transfer_projects + @applied_transfer_projects = paginate @applied_transfer_projects.order("created_at desc") end # 接受迁移 diff --git a/app/services/projects/accept_transfer_service.rb b/app/services/projects/accept_transfer_service.rb index 57cdfd54b..284499002 100644 --- a/app/services/projects/accept_transfer_service.rb +++ b/app/services/projects/accept_transfer_service.rb @@ -26,7 +26,7 @@ class Projects::AcceptTransferService < ApplicationService private def validate! raise Error, '该仓库未在迁移' unless @applied_transfer_project.present? && @project.is_transfering - raise Error, '未拥有接受转移权限' unless @user.admin? || @project.is_admin?(@user) + raise Error, '未拥有接受转移权限' unless @user.admin? || @project.manager?(@user) end def update_apply diff --git a/app/services/projects/refuse_transfer_service.rb b/app/services/projects/refuse_transfer_service.rb index 88d252465..b8199e65e 100644 --- a/app/services/projects/refuse_transfer_service.rb +++ b/app/services/projects/refuse_transfer_service.rb @@ -21,6 +21,7 @@ class Projects::RefuseTransferService < ApplicationService private def validate! raise Error, '该仓库未在迁移' unless @applied_transfer_project.present? && @project.is_transfering + raise Error, '未拥有拒绝转移权限' unless @user.admin? || @project.manager?(@user) end def update_apply