From 3a475a4674a702422651298d7a850e0f63af6314 Mon Sep 17 00:00:00 2001 From: jasder Date: Mon, 28 Jun 2021 09:59:47 +0800 Subject: [PATCH 1/2] FIX get conflict files bug with create pr api --- app/controllers/pull_requests_controller.rb | 2 +- app/controllers/repositories_controller.rb | 2 +- app/models/pull_request.rb | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 3d9f32a22..987bb156e 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -56,7 +56,7 @@ class PullRequestsController < ApplicationController ActiveRecord::Base.transaction do @pull_request, @gitea_pull_request = PullRequests::CreateService.call(current_user, @owner, @project, params) if @gitea_pull_request[:status] == :success - @pull_request.bind_gitea_pull_request!(@gitea_pull_request[:body]["number"]) + @pull_request.bind_gitea_pull_request!(@gitea_pull_request[:body]["number"], @gitea_pull_request[:body]["id"]) render_ok else render_error("create pull request error: #{@gitea_pull_request[:status]}") diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 062a8f046..f375b636b 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -316,7 +316,7 @@ class RepositoriesController < ApplicationController local_requests = PullRequest.new(local_params.merge(user_id: current_user.try(:id), project_id: @project.id, issue_id: @pull_issue.id)) if local_requests.save gitea_request = Gitea::PullRequest::CreateService.new(current_user.try(:gitea_token), @owner.login, @project.try(:identifier), requests_params).call - if gitea_request[:status] == :success && local_requests.update_attributes(gpid: gitea_request["body"]["number"]) + if gitea_request[:status] == :success && local_requests.update_attributes(gitea_number: gitea_request["body"]["number"]) local_requests.project_trends.create(user_id: current_user.id, project_id: @project.id, action_type: "create") end end diff --git a/app/models/pull_request.rb b/app/models/pull_request.rb index 5c9004a06..ce0cb04ad 100644 --- a/app/models/pull_request.rb +++ b/app/models/pull_request.rb @@ -54,8 +54,10 @@ class PullRequest < ApplicationRecord Project.find_by(id: self.fork_project_id) end - def bind_gitea_pull_request!(gitea_pull_number) - update_column(:gitea_number, gitea_pull_number) + def bind_gitea_pull_request!(gitea_pull_number, gitea_pull_id) + update_columns( + gitea_number: gitea_pull_number, + gitea_id: gitea_pull_id) end def merge! From 01341d4389a6574371e54789107f5f65048c3ce3 Mon Sep 17 00:00:00 2001 From: jasder Date: Mon, 28 Jun 2021 10:04:48 +0800 Subject: [PATCH 2/2] =?UTF-8?q?FIX=20pull=E3=80=81=20gitea=20pull=20model?= =?UTF-8?q?=20relation=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/gitea/pull.rb | 2 +- app/models/pull_request.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/gitea/pull.rb b/app/models/gitea/pull.rb index 591e36c42..7adb8c366 100644 --- a/app/models/gitea/pull.rb +++ b/app/models/gitea/pull.rb @@ -39,6 +39,6 @@ class Gitea::Pull < Gitea::Base serialize :conflicted_files, Array - belongs_to :pull_request, class_name: '::PullRequest', foreign_key: :id, primary_key: :gitea_number, optional: true + belongs_to :pull_request, class_name: '::PullRequest', foreign_key: :id, primary_key: :gitea_id, optional: true end diff --git a/app/models/pull_request.rb b/app/models/pull_request.rb index ce0cb04ad..aec320858 100644 --- a/app/models/pull_request.rb +++ b/app/models/pull_request.rb @@ -37,7 +37,7 @@ class PullRequest < ApplicationRecord has_many :pull_request_tags, foreign_key: :pull_request_id has_many :project_trends, as: :trend, dependent: :destroy has_many :attachments, as: :container, dependent: :destroy - has_one :gitea_pull, foreign_key: :id, primary_key: :gitea_number, class_name: 'Gitea::Pull' + has_one :gitea_pull, foreign_key: :id, primary_key: :gitea_id, class_name: 'Gitea::Pull' scope :merged_and_closed, ->{where.not(status: 0)} scope :opening, -> {where(status: 0)}