Merge branch 'develop' of https://git.trustie.net/jasder/forgeplus into develop
This commit is contained in:
commit
8bf02b1ee5
app
controllers
helpers
models
views
|
@ -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.members_user_infos
|
||||
@project_members = @project.all_managers
|
||||
@project_priories = IssuePriority&.select(:id,:name, :position).as_json
|
||||
end
|
||||
|
||||
|
|
|
@ -124,14 +124,13 @@ module TagChosenHelper
|
|||
end
|
||||
|
||||
def render_cache_collaborators(project)
|
||||
cache_key = "all_collaborators/#{project.members.maximum('created_on')}"
|
||||
|
||||
cache_key = "all_collaborators/#{project.all_collaborators.maximum('created_on')}"
|
||||
Rails.cache.fetch(cache_key) do
|
||||
project.members.includes(:user).collect do |event|
|
||||
project.all_collaborators.order(created_on: :desc).collect do |user|
|
||||
{
|
||||
id: event.user&.id,
|
||||
name: event.user&.show_real_name,
|
||||
avatar_url: url_to_avatar(event.user),
|
||||
id: user&.id,
|
||||
name: user&.show_real_name,
|
||||
avatar_url: url_to_avatar(user),
|
||||
is_chosen: '0'
|
||||
}
|
||||
end
|
||||
|
@ -171,10 +170,8 @@ module TagChosenHelper
|
|||
# depended_issues_id = @depended_issues_id
|
||||
|
||||
end
|
||||
project_members = project.members_user_infos
|
||||
project_members_info = [] #指派给
|
||||
project_members.includes(user: :user_extension).each do |member|
|
||||
user = member&.user
|
||||
project.all_collaborators.includes(:user_extension).each do |user|
|
||||
if user
|
||||
real_name = user.try(:show_real_name)
|
||||
user_id = user.id
|
||||
|
|
|
@ -92,4 +92,16 @@ module ProjectOperable
|
|||
def has_menu_permission(unit_type)
|
||||
self.project_units.where(unit_type: unit_type).exists?
|
||||
end
|
||||
|
||||
def all_collaborators
|
||||
member_sql = User.joins(members: :roles).where(members: {project_id: self.id}, roles: {name: %w(Manager Developer Reporter)}).to_sql
|
||||
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
|
||||
|
|
|
@ -152,6 +152,9 @@ class User < Owner
|
|||
# 项目
|
||||
has_many :applied_projects, dependent: :destroy
|
||||
has_many :operate_applied_transfer_projects, class_name: 'AppliedTransferProject', dependent: :destroy
|
||||
has_many :members, dependent: :destroy
|
||||
has_many :team_users, dependent: :destroy
|
||||
has_many :teams, through: :team_users
|
||||
|
||||
# 教学案例
|
||||
# has_many :libraries, dependent: :destroy
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -5,10 +5,10 @@ json.issue_priories @project_priories
|
|||
json.project_author @project.owner.try(:show_real_name)
|
||||
json.project_name @project.try(:name)
|
||||
json.members do
|
||||
json.array! @project_members.to_a.each do |member|
|
||||
json.id member.user_id
|
||||
json.login member.user.try(:login)
|
||||
json.name member.user.try(:show_real_name)
|
||||
json.avatar_url url_to_avatar(member.user)
|
||||
json.array! @project_members.to_a.each do |user|
|
||||
json.id user.id
|
||||
json.login user.try(:login)
|
||||
json.name user.try(:show_real_name)
|
||||
json.avatar_url url_to_avatar(user)
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue