Merge branch 'develop' into dev_educoder
This commit is contained in:
commit
dfc998a9cc
|
@ -19,15 +19,15 @@ class IssuesController < ApplicationController
|
||||||
|
|
||||||
@all_issues = issues
|
@all_issues = issues
|
||||||
@filter_issues = @all_issues
|
@filter_issues = @all_issues
|
||||||
@filter_issues = @filter_issues.where.not(status_id: 5) if params[:status_type].to_i == 1
|
@filter_issues = @filter_issues.where.not(status_id: IssueStatus::CLOSED) if params[:status_type].to_i == IssueStatus::ADD
|
||||||
@filter_issues = @filter_issues.where(status_id: 5) if params[:status_type].to_i == 2
|
@filter_issues = @filter_issues.where(status_id: IssueStatus::CLOSED) if params[:status_type].to_i == IssueStatus::SOLVING
|
||||||
@filter_issues = @filter_issues.where("subject LIKE ? OR description LIKE ? ", "%#{params[:search]}%", "%#{params[:search]}%") if params[:search].present?
|
@filter_issues = @filter_issues.where("subject LIKE ? OR description LIKE ? ", "%#{params[:search]}%", "%#{params[:search]}%") if params[:search].present?
|
||||||
@open_issues = @all_issues.where.not(status_id: 5)
|
@open_issues = @all_issues.where.not(status_id: IssueStatus::CLOSED)
|
||||||
@close_issues = @all_issues.where(status_id: 5)
|
@close_issues = @all_issues.where(status_id: IssueStatus::CLOSED)
|
||||||
@assign_to_me = @filter_issues.where(assigned_to_id: current_user&.id)
|
@assign_to_me = @filter_issues.where(assigned_to_id: current_user&.id)
|
||||||
@my_published = @filter_issues.where(author_id: current_user&.id)
|
@my_published = @filter_issues.where(author_id: current_user&.id)
|
||||||
scopes = Issues::ListQueryService.call(issues,params.delete_if{|k,v| v.blank?}, "Issue")
|
scopes = Issues::ListQueryService.call(issues,params.delete_if{|k,v| v.blank?}, "Issue")
|
||||||
@issues_size = @filter_issues.size
|
@issues_size = scopes.size
|
||||||
@issues = paginate(scopes)
|
@issues = paginate(scopes)
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -15,13 +15,13 @@ class PullRequestsController < ApplicationController
|
||||||
@all_issues = issues.distinct
|
@all_issues = issues.distinct
|
||||||
@filter_issues = @all_issues
|
@filter_issues = @all_issues
|
||||||
@filter_issues = @filter_issues.where("subject LIKE ? OR description LIKE ? ", "%#{params[:search]}%", "%#{params[:search]}%") if params[:search].present?
|
@filter_issues = @filter_issues.where("subject LIKE ? OR description LIKE ? ", "%#{params[:search]}%", "%#{params[:search]}%") if params[:search].present?
|
||||||
@open_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: 0})
|
@open_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: PullRequest::OPEN})
|
||||||
@close_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: 2})
|
@close_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: PullRequest::CLOSED})
|
||||||
@merged_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: 1})
|
@merged_issues = @filter_issues.joins(:pull_request).where(pull_requests: {status: PullRequest::MERGED})
|
||||||
@user_admin_or_member = current_user.present? && (current_user.admin || @project.member?(current_user))
|
@user_admin_or_member = current_user.present? && (current_user.admin || @project.member?(current_user))
|
||||||
|
|
||||||
scopes = Issues::ListQueryService.call(issues,params.delete_if{|k,v| v.blank?}, "PullRequest")
|
scopes = Issues::ListQueryService.call(issues,params.delete_if{|k,v| v.blank?}, "PullRequest")
|
||||||
@issues_size = @filter_issues.size
|
@issues_size = scopes.size
|
||||||
@issues = paginate(scopes)
|
@issues = paginate(scopes)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,14 @@ module Gitea
|
||||||
|
|
||||||
def run
|
def run
|
||||||
Contents::CreateForm.new(valid_params).validate!
|
Contents::CreateForm.new(valid_params).validate!
|
||||||
response = Gitea::Repository::Entries::CreateService.new(token, owner, @params[:identifier], @params[:filepath], file_params).call
|
result = Gitea::Repository::Entries::CreateService.call(token,
|
||||||
render_result(response)
|
owner, @params[:identifier], @params[:filepath], file_params)
|
||||||
|
|
||||||
|
if result[:status] == :success
|
||||||
|
@result = result[:body]
|
||||||
|
else
|
||||||
|
fail!(result[:message])
|
||||||
|
end
|
||||||
rescue Exception => exception
|
rescue Exception => exception
|
||||||
Rails.logger.info "Exception ===========> #{exception.message}"
|
Rails.logger.info "Exception ===========> #{exception.message}"
|
||||||
fail!(exception.message)
|
fail!(exception.message)
|
||||||
|
@ -56,7 +62,7 @@ module Gitea
|
||||||
file_params = {}
|
file_params = {}
|
||||||
file_params = file_params.merge(branch: @params[:branch]) unless @params[:branch].blank?
|
file_params = file_params.merge(branch: @params[:branch]) unless @params[:branch].blank?
|
||||||
file_params = file_params.merge(new_branch: @params[:new_branch]) unless @params[:new_branch].blank?
|
file_params = file_params.merge(new_branch: @params[:new_branch]) unless @params[:new_branch].blank?
|
||||||
file_params = file_params.merge(content: Base64.encode64(@params[:content]))
|
file_params = file_params.merge(content: Base64.encode64(@params[:content] || ""))
|
||||||
file_params = file_params.merge(message: @params[:message]) unless @params[:message].blank?
|
file_params = file_params.merge(message: @params[:message]) unless @params[:message].blank?
|
||||||
file_params = file_params.merge(committer: @params[:committer])
|
file_params = file_params.merge(committer: @params[:committer])
|
||||||
file_params
|
file_params
|
||||||
|
|
|
@ -214,6 +214,14 @@ class Gitea::ClientService < ApplicationService
|
||||||
[body, message]
|
[body, message]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def json_parse!(body)
|
||||||
|
return nil unless body.present?
|
||||||
|
|
||||||
|
body = JSON.parse(body)
|
||||||
|
body, message = fix_body(body)
|
||||||
|
body
|
||||||
|
end
|
||||||
|
|
||||||
def log_error(status, body)
|
def log_error(status, body)
|
||||||
puts "[gitea] status: #{status}"
|
puts "[gitea] status: #{status}"
|
||||||
puts "[gitea] body: #{body&.force_encoding('UTF-8')}"
|
puts "[gitea] body: #{body&.force_encoding('UTF-8')}"
|
||||||
|
|
|
@ -30,8 +30,7 @@ class Gitea::Repository::Entries::CreateService < Gitea::ClientService
|
||||||
|
|
||||||
def call
|
def call
|
||||||
response = post(url, params)
|
response = post(url, params)
|
||||||
|
response_payload(response)
|
||||||
render_201_response(response)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -43,4 +42,21 @@ class Gitea::Repository::Entries::CreateService < Gitea::ClientService
|
||||||
"/repos/#{owner}/#{repo_name}/contents/#{filepath}".freeze
|
"/repos/#{owner}/#{repo_name}/contents/#{filepath}".freeze
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def response_payload(response)
|
||||||
|
status = response.status
|
||||||
|
body = response&.body
|
||||||
|
|
||||||
|
log_error(status, body)
|
||||||
|
status_payload(status, body)
|
||||||
|
end
|
||||||
|
|
||||||
|
def status_payload(status, body)
|
||||||
|
case status
|
||||||
|
when 201 then success(json_parse!(body))
|
||||||
|
when 403 then error("你没有权限操作!")
|
||||||
|
when 404 then error("你操作的链接不存在!")
|
||||||
|
when 422 then error("#{filepath}文件已存在,不能重复创建!")
|
||||||
|
else error("系统错误!")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
json.partial! "commons/success"
|
json.partial! "commons/success"
|
||||||
json.all_count @all_issues.size
|
|
||||||
json.open_count @open_issues.size
|
json.open_count @open_issues.size
|
||||||
json.close_count @close_issues.size
|
json.close_count @close_issues.size
|
||||||
json.merged_issues_size @merged_issues.size
|
json.merged_issues_size @merged_issues.size
|
||||||
|
|
Loading…
Reference in New Issue