From 2f9d583fac696703b9d67402c56694cd7ea3d053 Mon Sep 17 00:00:00 2001 From: jasder Date: Mon, 17 May 2021 16:57:46 +0800 Subject: [PATCH 1/9] FIX add nickname lastname query conditions for list users api --- app/models/user.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/user.rb b/app/models/user.rb index 2f67410c0..03989cbab 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -168,7 +168,8 @@ class User < Owner # Groups and active users scope :active, lambda { where(status: STATUS_ACTIVE) } scope :like, lambda { |keywords| - where("LOWER(concat(lastname, firstname, login, mail)) LIKE ?", "%#{keywords.split(" ").join('|')}%") unless keywords.blank? + sql = "CONCAT(lastname, firstname) LIKE :keyword OR login LIKE :keyword OR mail LIKE :keyword OR nickname LIKE :keyword" + where(sql, :search => "%#{keywords.split(" ").join('|')}%") unless keywords.blank? } scope :simple_select, -> {select(:id, :login, :lastname,:firstname, :nickname, :gitea_uid, :type)} From c627ea6c1938ec126a35a43b8debe5e813b698d0 Mon Sep 17 00:00:00 2001 From: jasder Date: Mon, 17 May 2021 17:14:55 +0800 Subject: [PATCH 2/9] FIX migration project accelerator's bug --- app/controllers/concerns/acceleratorable.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/controllers/concerns/acceleratorable.rb b/app/controllers/concerns/acceleratorable.rb index 9a11e46c2..5243ac538 100644 --- a/app/controllers/concerns/acceleratorable.rb +++ b/app/controllers/concerns/acceleratorable.rb @@ -2,7 +2,7 @@ module Acceleratorable extend ActiveSupport::Concern def enable_accelerator?(clone_addr) - clone_addr.include?(github_domain) || clone_addr.include?(gitlab_domain) + is_foreign_url?(clone_addr) && config_accelerator? end def accelerator_url(repo_name) @@ -25,4 +25,12 @@ module Acceleratorable Gitea.gitea_config[:accelerator]["access_key_id"] end + def config_accelerator? + Gitea.gitea_config[:accelerator].present? + end + + def is_foreign_url?(clone_addr) + clone_addr.include?(github_domain) || clone_addr.include?(gitlab_domain) + end + end \ No newline at end of file From 8a47761afbdeac4da414fdf17de5a3e6e0d65c92 Mon Sep 17 00:00:00 2001 From: jasder Date: Fri, 21 May 2021 11:39:50 +0800 Subject: [PATCH 3/9] ADD mergeable column for get pull api --- app/controllers/pull_requests_controller.rb | 3 ++- .../gitea/pull_request/get_service.rb | 21 +++++++++---------- app/views/pull_requests/show.json.jbuilder | 2 ++ 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index 0dbcdc942..139ea9526 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -136,7 +136,8 @@ class PullRequestsController < ApplicationController def show @issue_user = @issue.user @issue_assign_to = @issue.get_assign_user - + @gitea_pull = Gitea::PullRequest::GetService.call(@owner.login, + @repository.identifier, @pull_request.gpid, current_user&.gitea_token) end def pr_merge diff --git a/app/services/gitea/pull_request/get_service.rb b/app/services/gitea/pull_request/get_service.rb index 6a7ec30f4..601c669e1 100644 --- a/app/services/gitea/pull_request/get_service.rb +++ b/app/services/gitea/pull_request/get_service.rb @@ -1,15 +1,14 @@ # Get a pull request class Gitea::PullRequest::GetService < Gitea::ClientService - attr_reader :user, :repo, :pull_request_id + attr_reader :owner, :repo, :number, :token - # user: 用户 - # repo: 仓库名称/标识 - # pull_request_id: pull request主键id - def initialize(user, repo, pull_request_id) - super({token: user.gitea_token}) - @user = user + #eq: + # Gitea::PullRequest::GetService.call(user.login, repository.identifier, pull.gpid, user.gitea_token) + def initialize(owner, repo, number, token=nil) + @owner = owner @repo = repo - @pull_request_id = pull_request_id + @number = number + @token = token end def call @@ -19,11 +18,11 @@ class Gitea::PullRequest::GetService < Gitea::ClientService private def params - Hash.new.merge(token: user.gitea_token) + Hash.new.merge(token: token) end def url - "/repos/#{user.login}/#{repo}/pulls/#{pull_request_id}".freeze + "/repos/#{owner}/#{repo}/pulls/#{number}".freeze end def render_result(response) @@ -31,7 +30,7 @@ class Gitea::PullRequest::GetService < Gitea::ClientService when 200 JSON.parse(response.body) else - nil + {} end end end diff --git a/app/views/pull_requests/show.json.jbuilder b/app/views/pull_requests/show.json.jbuilder index c3f781f73..9c2681861 100644 --- a/app/views/pull_requests/show.json.jbuilder +++ b/app/views/pull_requests/show.json.jbuilder @@ -12,6 +12,8 @@ json.pull_request do json.pull_request_staus @pull_request.status == 1 ? "merged" : (@pull_request.status == 2 ? "closed" : "open") json.fork_project_user @pull_request&.fork_project&.owner.try(:login) json.create_user @pull_request&.user&.login + json.mergeable @gitea_pull["mergeable"] + json.state @gitea_pull["state"] end json.issue do From 00f5a7f9165ede29520f7e53aff1d56319440cbf Mon Sep 17 00:00:00 2001 From: jasder Date: Fri, 21 May 2021 16:42:53 +0800 Subject: [PATCH 4/9] =?UTF-8?q?ADD=20issue=20pull=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/issues/list_query_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/issues/list_query_service.rb b/app/services/issues/list_query_service.rb index dbb502ab6..1718db97d 100644 --- a/app/services/issues/list_query_service.rb +++ b/app/services/issues/list_query_service.rb @@ -28,7 +28,7 @@ class Issues::ListQueryService < ApplicationService end if search_name.present? - issues = issues.where("subject like ?", "%#{search_name}%") + issues = issues.where("subject LIKE ? OR description LIKE ? ", "%#{search_name}%", "%#{search_name}%") end if start_time&.present? || end_time&.present? From ffa74e92a3d7976621465c295f166658fad3caad Mon Sep 17 00:00:00 2001 From: jasder Date: Fri, 21 May 2021 18:29:14 +0800 Subject: [PATCH 5/9] =?UTF-8?q?FIX=20=E4=B8=B4=E6=97=B6=E5=A4=84=E7=90=86?= =?UTF-8?q?=E8=8E=B7=E5=8F=96readme=E6=96=87=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 5 +++++ app/views/repositories/entries.json.jbuilder | 1 + 2 files changed, 6 insertions(+) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 10b352ae6..414711832 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -53,6 +53,11 @@ class RepositoriesController < ApplicationController @entries = Gitea::Repository::Entries::ListService.new(@owner, @project.identifier, ref: @ref).call @entries = @entries.present? ? @entries.sort_by{ |hash| hash['type'] } : [] @path = Gitea.gitea_config[:domain]+"/#{@project.owner.login}/#{@project.identifier}/raw/branch/#{@ref}/" + + # TODO + # 临时处理readme文件问题 + admin = User.where(admin: true).last + @readme = Gitea::Repository::Readme::GetService.call(@owner.login, @project.identifier, @ref, admin&.gitea_token) end end diff --git a/app/views/repositories/entries.json.jbuilder b/app/views/repositories/entries.json.jbuilder index 6964c1c54..f0b069dc7 100644 --- a/app/views/repositories/entries.json.jbuilder +++ b/app/views/repositories/entries.json.jbuilder @@ -59,4 +59,5 @@ if @project.forge? end end end + json.readme @readme end From 5b2d6a8063eda3c108a7717cc11dd1aa4f0c3fc5 Mon Sep 17 00:00:00 2001 From: jasder Date: Fri, 21 May 2021 18:34:33 +0800 Subject: [PATCH 6/9] =?UTF-8?q?FIX=20[bug]=E4=B8=B4=E6=97=B6=E5=A4=84?= =?UTF-8?q?=E7=90=86=E8=8E=B7=E5=8F=96readme=E6=96=87=E4=BB=B6=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 414711832..8019e905d 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -57,7 +57,13 @@ class RepositoriesController < ApplicationController # TODO # 临时处理readme文件问题 admin = User.where(admin: true).last - @readme = Gitea::Repository::Readme::GetService.call(@owner.login, @project.identifier, @ref, admin&.gitea_token) + result = Gitea::Repository::Readme::GetService.call(@owner.login, @project.identifier, @ref, admin&.gitea_token) + @readme = + if result[:status] == :success + result[:body] + else + {} + end end end From 1c8d0686ee0c56631d83e69a14aadc7d52ff7ec8 Mon Sep 17 00:00:00 2001 From: jasder Date: Fri, 21 May 2021 18:41:29 +0800 Subject: [PATCH 7/9] =?UTF-8?q?FIX=20[base64=E8=A7=A3=E7=A0=81=E6=93=8D?= =?UTF-8?q?=E4=BD=9C]=E4=B8=B4=E6=97=B6=E5=A4=84=E7=90=86=E8=8E=B7?= =?UTF-8?q?=E5=8F=96readme=E6=96=87=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/repositories/entries.json.jbuilder | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/repositories/entries.json.jbuilder b/app/views/repositories/entries.json.jbuilder index f0b069dc7..e62930a95 100644 --- a/app/views/repositories/entries.json.jbuilder +++ b/app/views/repositories/entries.json.jbuilder @@ -59,5 +59,5 @@ if @project.forge? end end end - json.readme @readme + json.readme @readme[:readme].merge(content: readme_render_decode64_content(@result[:readme]["content"], nil)) end From a8e53d4e5cdf4ed1e1255f9c55ef040f23f3a934 Mon Sep 17 00:00:00 2001 From: jasder Date: Fri, 21 May 2021 18:51:46 +0800 Subject: [PATCH 8/9] =?UTF-8?q?FIX=20[code=20bug]=E4=B8=B4=E6=97=B6?= =?UTF-8?q?=E5=A4=84=E7=90=86=E8=8E=B7=E5=8F=96readme=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 2 +- app/views/repositories/entries.json.jbuilder | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 8019e905d..cf4c2132e 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -56,7 +56,7 @@ class RepositoriesController < ApplicationController # TODO # 临时处理readme文件问题 - admin = User.where(admin: true).last + admin = User.find_by_login "jasder" result = Gitea::Repository::Readme::GetService.call(@owner.login, @project.identifier, @ref, admin&.gitea_token) @readme = if result[:status] == :success diff --git a/app/views/repositories/entries.json.jbuilder b/app/views/repositories/entries.json.jbuilder index e62930a95..a12c088b0 100644 --- a/app/views/repositories/entries.json.jbuilder +++ b/app/views/repositories/entries.json.jbuilder @@ -59,5 +59,6 @@ if @project.forge? end end end - json.readme @readme[:readme].merge(content: readme_render_decode64_content(@result[:readme]["content"], nil)) + + json.readme @readme.merge(content: readme_render_decode64_content(@readme["content"], nil)) end From e0eae66ab4193c83ef0be3e75e7667d389e688a5 Mon Sep 17 00:00:00 2001 From: jasder Date: Fri, 21 May 2021 19:26:17 +0800 Subject: [PATCH 9/9] =?UTF-8?q?FIX=20[=E7=94=A8=E6=88=B7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=96=B9=E5=BC=8F]=E4=B8=B4=E6=97=B6=E5=A4=84=E7=90=86?= =?UTF-8?q?=E8=8E=B7=E5=8F=96readme=E6=96=87=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index cf4c2132e..6594d06e9 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -56,7 +56,8 @@ class RepositoriesController < ApplicationController # TODO # 临时处理readme文件问题 - admin = User.find_by_login "jasder" + admin = current_user.blank? ? User.where(admin: true).last : current_user + result = Gitea::Repository::Readme::GetService.call(@owner.login, @project.identifier, @ref, admin&.gitea_token) @readme = if result[:status] == :success