add: compare code return can merge status

This commit is contained in:
viletyy 2021-07-12 18:10:26 +08:00
parent 4929734a1a
commit de2b54c39e
2 changed files with 7 additions and 6 deletions

View File

@ -8,30 +8,30 @@ class CompareController < ApplicationController
def show def show
load_compare_params load_compare_params
compare compare
@merge_message = get_merge_message @merge_status, @merge_message = get_merge_message
end end
private private
def get_merge_message def get_merge_message
if @base.blank? || @head.blank? if @base.blank? || @head.blank?
return "请选择分支" return -2, "请选择分支"
else else
if @head.include?(":") if @head.include?(":")
fork_project = @project.forked_projects.joins(:owner).where(users: {login: @head.to_s.split("/")[0]}).take fork_project = @project.forked_projects.joins(:owner).where(users: {login: @head.to_s.split("/")[0]}).take
return "请选择正确的仓库" unless fork_project.present? return -2, "请选择正确的仓库" unless fork_project.present?
@exist_pullrequest = @project.pull_requests.where(is_original: true, head: @head.to_s.split(":")[1], base: @base, status: 0, fork_project_id: fork_project.id).take @exist_pullrequest = @project.pull_requests.where(is_original: true, head: @head.to_s.split(":")[1], base: @base, status: 0, fork_project_id: fork_project.id).take
else else
@exist_pullrequest = @project.pull_requests.where(is_original: false, head: @base, base: @head, status: 0).take @exist_pullrequest = @project.pull_requests.where(is_original: false, head: @base, base: @head, status: 0).take
end end
if @exist_pullrequest.present? if @exist_pullrequest.present?
return "在这些分支之间的合并请求已存在:<a href='/projects/#{@owner.login}/#{@project.identifier}/pulls/#{@exist_pullrequest.id}/Messagecount'>#{@exist_pullrequest.try(:title)}</a>" return -2, "在这些分支之间的合并请求已存在:<a href='/projects/#{@owner.login}/#{@project.identifier}/pulls/#{@exist_pullrequest.id}/Messagecount'>#{@exist_pullrequest.try(:title)}</a>"
else else
if @compare_result["Commits"].blank? && @compare_result["Diff"].blank? if @compare_result["Commits"].blank? && @compare_result["Diff"].blank?
return "分支内容相同,无需创建合并请求" return -2, "分支内容相同,无需创建合并请求"
end end
end end
end end
return "可以合并" return 0, "可以合并"
end end
def compare def compare

View File

@ -83,4 +83,5 @@ json.diff do
end end
end end
json.status @merge_status
json.message @merge_message json.message @merge_message