diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index f46945f80..b4fd3e3b4 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -94,7 +94,7 @@ class ProjectsController < ApplicationController end def fork_users - fork_users = @project.fork_users.includes(:user, :project).order("fork_users.created_at desc").distinct + fork_users = @project.fork_users.includes(:user, :project, :fork_project).order("fork_users.created_at desc").distinct @forks_count = fork_users.size @fork_users = paginate(fork_users) end diff --git a/app/interactors/gitea/create_file_interactor.rb b/app/interactors/gitea/create_file_interactor.rb index 278d5d857..acceeaa97 100644 --- a/app/interactors/gitea/create_file_interactor.rb +++ b/app/interactors/gitea/create_file_interactor.rb @@ -9,7 +9,8 @@ module Gitea attr_reader :error, :result def initialize(token, owner, params) - @owner = owner + @token = token + @owner = owner @params = params end diff --git a/app/models/fork_user.rb b/app/models/fork_user.rb index 4a4d5f77e..749f74980 100644 --- a/app/models/fork_user.rb +++ b/app/models/fork_user.rb @@ -1,6 +1,6 @@ class ForkUser < ApplicationRecord belongs_to :project belongs_to :user - belongs_to :fork_project, class_name: 'ForkUser', foreign_key: :fork_project_id + belongs_to :fork_project, class_name: 'Project', foreign_key: :fork_project_id end diff --git a/app/services/gitea/client_service.rb b/app/services/gitea/client_service.rb index 584276378..f2581b724 100644 --- a/app/services/gitea/client_service.rb +++ b/app/services/gitea/client_service.rb @@ -20,13 +20,9 @@ class Gitea::ClientService < ApplicationService # } def post(url, params={}) puts "[gitea] request params: #{params}" - request_url = [api_url, url].join('').freeze - Rails.logger.info("######_____api____request_url_______###############{request_url}") - Rails.logger.info("######_____api____request_params_______###############{params}") - auth_token = authen_params(params[:token]) response = conn(auth_token).post do |req| - req.url "#{request_url}" + req.url full_url(url) req.body = params[:data].to_json end render_status(response) @@ -35,7 +31,7 @@ class Gitea::ClientService < ApplicationService def get(url, params={}) auth_token = authen_params(params[:token]) conn(auth_token).get do |req| - req.url full_url(url) + req.url full_url(url, 'get') params.except(:token).each_pair do |key, value| req.params["#{key}"] = value end @@ -117,14 +113,15 @@ class Gitea::ClientService < ApplicationService [domain, base_url].join('') end - def full_url(api_rest) - [api_url, api_rest].join('').freeze + def full_url(api_rest, action='post') + url = [api_url, api_rest].join('').freeze + url = action === 'get' ? url : URI.escape(url) + puts "[gitea] request url: #{url}" + return url end def render_status(response) - Rails.logger.info("###############____response__#{response}") - Rails.logger.info("###############____response_status_#{response.status}") - Rails.logger.info("###############____response_body_#{response.body}") + puts "[gitea] response status: #{response.status}" mark = "[gitea] " case response.status when 201, 200, 202 diff --git a/app/views/projects/fork_users.json.jbuilder b/app/views/projects/fork_users.json.jbuilder index 3feb31edb..a539797e7 100644 --- a/app/views/projects/fork_users.json.jbuilder +++ b/app/views/projects/fork_users.json.jbuilder @@ -2,10 +2,9 @@ json.count @forks_count json.users do json.array! @fork_users.each do |f| user = f.user - fork_project = Project.select(:id,:name, :identifier).find_by(id: f.fork_project_id) - json.id f.fork_project_id - json.identifier fork_project.identifier - json.name "#{user.try(:show_real_name)}/#{fork_project.try(:name)}" + json.id f.fork_project.id + json.identifier f.fork_project.identifier + json.name "#{user.try(:show_real_name)}/#{f.fork_project.try(:name)}" json.login user.try(:login) json.image_url url_to_avatar(user) json.format_time f.created_at.strftime("%Y-%m-%d")