| @@ -2,7 +2,7 @@ module Acceleratorable | |||||
| extend ActiveSupport::Concern | extend ActiveSupport::Concern | ||||
| def enable_accelerator?(clone_addr) | def enable_accelerator?(clone_addr) | ||||
| clone_addr.include?(github_domain) || clone_addr.include?(gitlab_domain) | |||||
| is_foreign_url?(clone_addr) && config_accelerator? | |||||
| end | end | ||||
| def accelerator_url(repo_name) | def accelerator_url(repo_name) | ||||
| @@ -25,4 +25,12 @@ module Acceleratorable | |||||
| Gitea.gitea_config[:accelerator]["access_key_id"] | Gitea.gitea_config[:accelerator]["access_key_id"] | ||||
| end | 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 | end | ||||
| @@ -136,7 +136,8 @@ class PullRequestsController < ApplicationController | |||||
| def show | def show | ||||
| @issue_user = @issue.user | @issue_user = @issue.user | ||||
| @issue_assign_to = @issue.get_assign_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 | end | ||||
| def pr_merge | def pr_merge | ||||
| @@ -53,6 +53,18 @@ class RepositoriesController < ApplicationController | |||||
| @entries = Gitea::Repository::Entries::ListService.new(@owner, @project.identifier, ref: @ref).call | @entries = Gitea::Repository::Entries::ListService.new(@owner, @project.identifier, ref: @ref).call | ||||
| @entries = @entries.present? ? @entries.sort_by{ |hash| hash['type'] } : [] | @entries = @entries.present? ? @entries.sort_by{ |hash| hash['type'] } : [] | ||||
| @path = Gitea.gitea_config[:domain]+"/#{@project.owner.login}/#{@project.identifier}/raw/branch/#{@ref}/" | @path = Gitea.gitea_config[:domain]+"/#{@project.owner.login}/#{@project.identifier}/raw/branch/#{@ref}/" | ||||
| # TODO | |||||
| # 临时处理readme文件问题 | |||||
| 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 | |||||
| result[:body] | |||||
| else | |||||
| {} | |||||
| end | |||||
| end | end | ||||
| end | end | ||||
| @@ -169,7 +169,8 @@ class User < Owner | |||||
| # Groups and active users | # Groups and active users | ||||
| scope :active, lambda { where(status: [STATUS_ACTIVE, STATUS_EDIT_INFO]) } | scope :active, lambda { where(status: [STATUS_ACTIVE, STATUS_EDIT_INFO]) } | ||||
| scope :like, lambda { |keywords| | 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)} | scope :simple_select, -> {select(:id, :login, :lastname,:firstname, :nickname, :gitea_uid, :type)} | ||||
| @@ -1,15 +1,14 @@ | |||||
| # Get a pull request | # Get a pull request | ||||
| class Gitea::PullRequest::GetService < Gitea::ClientService | 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 | @repo = repo | ||||
| @pull_request_id = pull_request_id | |||||
| @number = number | |||||
| @token = token | |||||
| end | end | ||||
| def call | def call | ||||
| @@ -19,11 +18,11 @@ class Gitea::PullRequest::GetService < Gitea::ClientService | |||||
| private | private | ||||
| def params | def params | ||||
| Hash.new.merge(token: user.gitea_token) | |||||
| Hash.new.merge(token: token) | |||||
| end | end | ||||
| def url | def url | ||||
| "/repos/#{user.login}/#{repo}/pulls/#{pull_request_id}".freeze | |||||
| "/repos/#{owner}/#{repo}/pulls/#{number}".freeze | |||||
| end | end | ||||
| def render_result(response) | def render_result(response) | ||||
| @@ -31,7 +30,7 @@ class Gitea::PullRequest::GetService < Gitea::ClientService | |||||
| when 200 | when 200 | ||||
| JSON.parse(response.body) | JSON.parse(response.body) | ||||
| else | else | ||||
| nil | |||||
| {} | |||||
| end | end | ||||
| end | end | ||||
| end | end | ||||
| @@ -28,7 +28,7 @@ class Issues::ListQueryService < ApplicationService | |||||
| end | end | ||||
| if search_name.present? | if search_name.present? | ||||
| issues = issues.where("subject like ?", "%#{search_name}%") | |||||
| issues = issues.where("subject LIKE ? OR description LIKE ? ", "%#{search_name}%", "%#{search_name}%") | |||||
| end | end | ||||
| if start_time&.present? || end_time&.present? | if start_time&.present? || end_time&.present? | ||||
| @@ -12,6 +12,8 @@ json.pull_request do | |||||
| json.pull_request_staus @pull_request.status == 1 ? "merged" : (@pull_request.status == 2 ? "closed" : "open") | 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.fork_project_user @pull_request&.fork_project&.owner.try(:login) | ||||
| json.create_user @pull_request&.user&.login | json.create_user @pull_request&.user&.login | ||||
| json.mergeable @gitea_pull["mergeable"] | |||||
| json.state @gitea_pull["state"] | |||||
| end | end | ||||
| json.issue do | json.issue do | ||||
| @@ -59,4 +59,6 @@ if @project.forge? | |||||
| end | end | ||||
| end | end | ||||
| end | end | ||||
| json.readme @readme.merge(content: readme_render_decode64_content(@readme["content"], nil)) | |||||
| end | end | ||||