Merge branch 'dev_trustie' into dev_chain

This commit is contained in:
sylor_huang@126.com 2020-07-03 17:01:16 +08:00
commit d812929152
4 changed files with 13 additions and 9 deletions

View File

@ -174,13 +174,14 @@ class PullRequestsController < ApplicationController
end end
def show def show
@user_permission = current_user.present? && current_user.logged? && (@issue.assigned_to_id == current_user.id || @project.user_id == current_user.id || @project.manager?(current_user) )
@issue_user = @issue.user @issue_user = @issue.user
@issue_assign_to = @issue.get_assign_user @issue_assign_to = @issue.get_assign_user
end end
def pr_merge def pr_merge
return render_forbidden("你没有权限操作.") if @project.reporter?(current_user)
if params[:do].blank? if params[:do].blank?
normal_status(-1, "请选择合并方式") normal_status(-1, "请选择合并方式")
else else
@ -191,7 +192,8 @@ class PullRequestsController < ApplicationController
MergeMessageField: params[:body], MergeMessageField: params[:body],
MergeTitleField: params[:title] MergeTitleField: params[:title]
} }
merge_pr = Gitea::PullRequest::MergeService.new(current_user, @repository.try(:identifier), @pull_request.try(:gpid), requests_params).call merge_pr = Gitea::PullRequest::MergeService.call(current_user.gitea_token, @repository.owner.login,
@repository.try(:identifier), @pull_request.try(:gpid), requests_params)
if @pull_request.update_attribute(:status, 1) && merge_pr[:status].to_i == 200 if @pull_request.update_attribute(:status, 1) && merge_pr[:status].to_i == 200
@pull_request&.project_trends&.update_all(action_type: "close") @pull_request&.project_trends&.update_all(action_type: "close")
@issue&.custom_journal_detail("merge", "", "该合并请求已被合并", current_user&.id) @issue&.custom_journal_detail("merge", "", "该合并请求已被合并", current_user&.id)

View File

@ -47,7 +47,7 @@ class Project < ApplicationRecord
end end
def members_user_infos def members_user_infos
members.joins("left join users on members.user_id = users.id").includes(:user).where("users.type = ?", "User") members.joins(:roles).where("roles.name in ('Manager', 'Developer')").joins("left join users on members.user_id = users.id ").includes(:user).where("users.type = ?", "User")
# members.joins("left join users on members.user_id = users.id").select("users.id", "users.login","users.firstname","users.lastname") # members.joins("left join users on members.user_id = users.id").select("users.id", "users.login","users.firstname","users.lastname")
# .pluck("users.id", "users.login","users.lastname", "users.firstname") # .pluck("users.id", "users.login","users.lastname", "users.firstname")
end end

View File

@ -1,6 +1,6 @@
# Merge a pull request # Merge a pull request
class Gitea::PullRequest::MergeService < Gitea::ClientService class Gitea::PullRequest::MergeService < Gitea::ClientService
attr_reader :user, :repo, :pull_request_id, :params attr_reader :token, :owner, :repo, :pull_request_id, :params
# parameters: # parameters:
# repo: name of the repo # repo: name of the repo
@ -8,8 +8,10 @@ class Gitea::PullRequest::MergeService < Gitea::ClientService
# params: # params:
# title: merge标题 # title: merge标题
# message: merge说明 # message: merge说明
def initialize(user, repo, pull_request_id, params={}) # eq: Gitea::PullRequest::MergeService.call(current_user.gitea_token, @repo.owner.lgoin, @repo.identifier, params)
@user = user def initialize(token, owner, repo, pull_request_id, params={})
@token = token
@owner = owner
@repo = repo @repo = repo
@params = params @params = params
@pull_request_id = pull_request_id @pull_request_id = pull_request_id
@ -21,11 +23,11 @@ class Gitea::PullRequest::MergeService < Gitea::ClientService
private private
def url def url
"/repos/#{user.login}/#{repo}/pulls/#{pull_request_id}/merge" "/repos/#{owner}/#{repo}/pulls/#{pull_request_id}/merge"
end end
def request_params def request_params
Hash.new.merge(token: user.gitea_token, data: params) Hash.new.merge(token: token, data: params)
end end
end end

View File

@ -11,7 +11,7 @@ end
json.issue do json.issue do
json.extract! @issue, :id,:subject,:description,:is_private, :branch_name json.extract! @issue, :id,:subject,:description,:is_private, :branch_name
json.project_author_name @project.owner.try(:login) json.project_author_name @project.owner.try(:login)
json.user_permission @user_permission #json.user_permission @user_permission
json.closed_on @issue.closed_on.present? ? format_time(@issue.closed_on) : "" json.closed_on @issue.closed_on.present? ? format_time(@issue.closed_on) : ""
json.created_at format_time(@issue.created_on) json.created_at format_time(@issue.created_on)
json.assign_user_name @issue_assign_to.try(:show_real_name) json.assign_user_name @issue_assign_to.try(:show_real_name)