commit
c920994274
|
@ -140,7 +140,7 @@ class PullRequestsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def pr_merge
|
def pr_merge
|
||||||
return render_forbidden("你没有权限操作.") unless current_user.project_manager?(@project)
|
return render_forbidden("你没有权限操作.") unless @project.develper?(current_user)
|
||||||
|
|
||||||
if params[:do].blank?
|
if params[:do].blank?
|
||||||
normal_status(-1, "请选择合并方式")
|
normal_status(-1, "请选择合并方式")
|
||||||
|
@ -215,7 +215,7 @@ class PullRequestsController < ApplicationController
|
||||||
def get_relatived
|
def get_relatived
|
||||||
@project_tags = @project.issue_tags&.select(:id,:name, :color).as_json
|
@project_tags = @project.issue_tags&.select(:id,:name, :color).as_json
|
||||||
@project_versions = @project.versions&.select(:id,:name, :status).as_json
|
@project_versions = @project.versions&.select(:id,:name, :status).as_json
|
||||||
@project_members = @project.all_managers
|
@project_members = @project.all_developers
|
||||||
@project_priories = IssuePriority&.select(:id,:name, :position).as_json
|
@project_priories = IssuePriority&.select(:id,:name, :position).as_json
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -99,6 +99,12 @@ module ProjectOperable
|
||||||
return User.from("( #{ member_sql } UNION #{ team_user_sql } ) AS users").distinct
|
return User.from("( #{ member_sql } UNION #{ team_user_sql } ) AS users").distinct
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def all_developers
|
||||||
|
member_sql = User.joins(members: :roles).where(members: {project_id: self.id}, roles: {name: %w(Manager Developer)}).to_sql
|
||||||
|
team_user_sql = User.joins(teams: :team_projects).where(teams: {authorize: %w(owner admin write)}, team_projects: {project_id: self.id}).to_sql
|
||||||
|
return User.from("( #{ member_sql } UNION #{ team_user_sql } ) AS users").distinct
|
||||||
|
end
|
||||||
|
|
||||||
def all_managers
|
def all_managers
|
||||||
member_sql = User.joins(members: :roles).where(members: {project_id: self.id}, roles: {name: %w(Manager)}).to_sql
|
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
|
team_user_sql = User.joins(teams: :team_projects).where(teams: {authorize: %w(owner admin)},team_projects: {project_id: self.id}).to_sql
|
||||||
|
|
|
@ -27,6 +27,8 @@ class ProjectUnit < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.update_by_unit_types!(project, types)
|
def self.update_by_unit_types!(project, types)
|
||||||
|
# 默认code类型自动创建
|
||||||
|
types << "code"
|
||||||
project.project_units.where.not(unit_type: types).each(&:destroy!)
|
project.project_units.where.not(unit_type: types).each(&:destroy!)
|
||||||
types.each do |type|
|
types.each do |type|
|
||||||
project.project_units.find_or_create_by!(unit_type: type)
|
project.project_units.find_or_create_by!(unit_type: type)
|
||||||
|
|
Loading…
Reference in New Issue