| @@ -51,6 +51,6 @@ class CompareController < ApplicationController | |||||
| end | end | ||||
| def gitea_compare(base, head) | def gitea_compare(base, head) | ||||
| Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, CGI.escape(base), CGI.escape(head), current_user.gitea_token) | |||||
| Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, Addressable::URI.escape(base), Addressable::URI.escape(head), current_user.gitea_token) | |||||
| end | end | ||||
| end | end | ||||
| @@ -241,7 +241,7 @@ class RepositoriesController < ApplicationController | |||||
| def archive | def archive | ||||
| domain = Gitea.gitea_config[:domain] | domain = Gitea.gitea_config[:domain] | ||||
| api_url = Gitea.gitea_config[:base_url] | api_url = Gitea.gitea_config[:base_url] | ||||
| archive_url = "/repos/#{@owner.login}/#{@repository.identifier}/archive/#{CGI.escape(params[:archive])}" | |||||
| archive_url = "/repos/#{@owner.login}/#{@repository.identifier}/archive/#{Addressable::URI.escape(params[:archive])}" | |||||
| file_path = [domain, api_url, archive_url].join | file_path = [domain, api_url, archive_url].join | ||||
| file_path = [file_path, "access_token=#{current_user&.gitea_token}"].join("?") if @repository.hidden? | file_path = [file_path, "access_token=#{current_user&.gitea_token}"].join("?") if @repository.hidden? | ||||
| @@ -255,7 +255,7 @@ class RepositoriesController < ApplicationController | |||||
| domain = Gitea.gitea_config[:domain] | domain = Gitea.gitea_config[:domain] | ||||
| api_url = Gitea.gitea_config[:base_url] | api_url = Gitea.gitea_config[:base_url] | ||||
| url = "/repos/#{@owner.login}/#{@repository.identifier}/raw/#{CGI.escape(params[:filepath])}?ref=#{CGI.escape(params[:ref])}" | |||||
| url = "/repos/#{@owner.login}/#{@repository.identifier}/raw/#{Addressable::URI.escape(params[:filepath])}?ref=#{Addressable::URI.escape(params[:ref])}" | |||||
| file_path = [domain, api_url, url].join | file_path = [domain, api_url, url].join | ||||
| file_path = [file_path, "access_token=#{current_user&.gitea_token}"].join("&") | file_path = [file_path, "access_token=#{current_user&.gitea_token}"].join("&") | ||||
| @@ -132,8 +132,8 @@ class PullRequests::CreateService < ApplicationService | |||||
| end | end | ||||
| def merge_original_pull_params | def merge_original_pull_params | ||||
| base_pull_params[:head] = CGI.escape(base_pull_params[:head]) | |||||
| base_pull_params[:base] = CGI.escape(base_pull_params[:base]) | |||||
| base_pull_params[:head] = Addressable::URI.escape(base_pull_params[:head]) | |||||
| base_pull_params[:base] = Addressable::URI.escape(base_pull_params[:base]) | |||||
| if pull_request.is_original && @params[:merge_user_login] | if pull_request.is_original && @params[:merge_user_login] | ||||
| base_pull_params.merge(head: "#{@params[:merge_user_login]}:#{base_pull_params[:head]}") | base_pull_params.merge(head: "#{@params[:merge_user_login]}:#{base_pull_params[:head]}") | ||||
| else | else | ||||
| @@ -166,7 +166,7 @@ class PullRequests::CreateService < ApplicationService | |||||
| def compare_head_base! | def compare_head_base! | ||||
| head = pull_request.is_original && @params[:merge_user_login] ? "#{@params[:merge_user_login]}/#{@project.identifier}:#{@params[:head]}" : @params[:head] | head = pull_request.is_original && @params[:merge_user_login] ? "#{@params[:merge_user_login]}/#{@project.identifier}:#{@params[:head]}" : @params[:head] | ||||
| compare_result = Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, CGI.escape(@params[:base]), CGI.escape(head), @current_user.gitea_token) | |||||
| compare_result = Gitea::Repository::Commits::CompareService.call(@owner.login, @project.identifier, Addressable::URI.escape(@params[:base]), Addressable::URI.escape(head), @current_user.gitea_token) | |||||
| raise '分支内容相同,无需创建合并请求' if compare_result["Commits"].blank? && compare_result["Diff"].blank? | raise '分支内容相同,无需创建合并请求' if compare_result["Commits"].blank? && compare_result["Diff"].blank? | ||||
| end | end | ||||