diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 48735e787..d0221b768 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -215,7 +215,7 @@ class PullRequestsController < ApplicationController def get_relatived @project_tags = @project.issue_tags&.select(:id,:name, :color).as_json @project_versions = @project.versions&.select(:id,:name, :status).as_json - @project_members = @project.all_collaborators + @project_members = @project.all_managers @project_priories = IssuePriority&.select(:id,:name, :position).as_json end diff --git a/app/models/concerns/project_operable.rb b/app/models/concerns/project_operable.rb index 5937126d3..5f8f929e7 100644 --- a/app/models/concerns/project_operable.rb +++ b/app/models/concerns/project_operable.rb @@ -98,4 +98,10 @@ module ProjectOperable team_user_sql = User.joins(teams: :team_projects).where(team_projects: {project_id: self.id}).to_sql return User.from("( #{ member_sql } UNION #{ team_user_sql } ) AS users").distinct end + + def all_managers + member_sql = User.joins(members: :roles).where(members: {project_id: self.id}, roles: {name: %w(Manager)}).to_sql + team_user_sql = User.joins(teams: :team_projects).where(teams: {authorize: %w(owner admin)},team_projects: {project_id: self.id}).to_sql + return User.from("( #{ member_sql} UNION #{ team_user_sql } ) AS users").distinct + end end diff --git a/app/views/compare/show.json.jbuilder b/app/views/compare/show.json.jbuilder index 8257cc7fa..8b75fa3dd 100644 --- a/app/views/compare/show.json.jbuilder +++ b/app/views/compare/show.json.jbuilder @@ -4,7 +4,7 @@ json.commits do json.array! @compare_result['Commits'] do |commit| json.author do # TODO: 获取头像地址待优化 - forge_user = User.includes(:user_extension).select(:id, :login).find_by(login: commit['Author']['Name']) + forge_user = User.includes(:user_extension).find_by(login: commit['Author']['Name']) json.login commit['Author']['Name'] json.name commit['Author']['Name'] json.image_url forge_user.nil? ? '' : url_to_avatar(forge_user) @@ -12,7 +12,7 @@ json.commits do json.committer do # TODO: 获取头像地址待优化 - forge_user = User.includes(:user_extension).select(:id, :login).find_by(login: commit['Committer']['Name']) + forge_user = User.includes(:user_extension).find_by(login: commit['Committer']['Name']) json.login commit['Committer']['Name'] json.name commit['Committer']['Name'] json.image_url forge_user.nil? ? '' : url_to_avatar(forge_user)