Browse Source

Merge branch 'develop' into dev_trustie_server

tags/v3.1.0
jasder 5 years ago
parent
commit
72b89d4b2b
8 changed files with 40 additions and 15 deletions
  1. +9
    -1
      app/controllers/concerns/acceleratorable.rb
  2. +2
    -1
      app/controllers/pull_requests_controller.rb
  3. +12
    -0
      app/controllers/repositories_controller.rb
  4. +2
    -1
      app/models/user.rb
  5. +10
    -11
      app/services/gitea/pull_request/get_service.rb
  6. +1
    -1
      app/services/issues/list_query_service.rb
  7. +2
    -0
      app/views/pull_requests/show.json.jbuilder
  8. +2
    -0
      app/views/repositories/entries.json.jbuilder

+ 9
- 1
app/controllers/concerns/acceleratorable.rb View File

@@ -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

+ 2
- 1
app/controllers/pull_requests_controller.rb View File

@@ -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


+ 12
- 0
app/controllers/repositories_controller.rb View File

@@ -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


+ 2
- 1
app/models/user.rb View File

@@ -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)}


+ 10
- 11
app/services/gitea/pull_request/get_service.rb View File

@@ -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

+ 1
- 1
app/services/issues/list_query_service.rb View File

@@ -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?


+ 2
- 0
app/views/pull_requests/show.json.jbuilder View File

@@ -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


+ 2
- 0
app/views/repositories/entries.json.jbuilder View File

@@ -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

Loading…
Cancel
Save