merge from develop

This commit is contained in:
yystopf 2024-03-01 16:58:29 +08:00
commit 59e8ce206f
6 changed files with 15 additions and 8 deletions

View File

@ -347,7 +347,7 @@ class ProjectsController < ApplicationController
def project_params def project_params
params.permit(:user_id, :name, :description, :repository_name, :website, :lesson_url, :default_branch, :identifier, params.permit(:user_id, :name, :description, :repository_name, :website, :lesson_url, :default_branch, :identifier,
:project_category_id, :project_language_id, :license_id, :ignore_id, :private, :project_category_id, :project_language_id, :license_id, :ignore_id, :private, :auto_init,
:blockchain, :blockchain_token_all, :blockchain_init_token, :pr_view_admin) :blockchain, :blockchain_token_all, :blockchain_init_token, :pr_view_admin)
end end

View File

@ -66,8 +66,9 @@ 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 = GiteaService.gitea_config[:domain]+"/#{@project.owner.login}/#{@project.identifier}/raw/branch/#{@ref}/" @path = GiteaService.gitea_config[:domain]+"/#{@project.owner.login}/#{@project.identifier}/raw/branch/#{@ref}/"
@repo_detail = $gitea_client.get_repos_by_owner_repo(@owner.login, @project.identifier)
return render_not_found if @entries.blank? && !@repo_detail["empty"]
end end
return render_not_found if @entries.blank?
end end
def top_counts def top_counts

View File

@ -1,6 +1,6 @@
class Projects::CreateForm < BaseForm class Projects::CreateForm < BaseForm
attr_accessor :user_id, :name, :description, :repository_name, :project_category_id, attr_accessor :user_id, :name, :description, :repository_name, :project_category_id,
:project_language_id, :ignore_id, :license_id, :private, :owner, :project_language_id, :ignore_id, :license_id, :private, :owner, :auto_init
:blockchain, :blockchain_token_all, :blockchain_init_token :blockchain, :blockchain_token_all, :blockchain_init_token
validates :user_id, :name, :repository_name, presence: true validates :user_id, :name, :repository_name, presence: true
@ -10,7 +10,7 @@ class Projects::CreateForm < BaseForm
validates :repository_name, length: { maximum: 100 } validates :repository_name, length: { maximum: 100 }
validates :description, length: { maximum: 200 } validates :description, length: { maximum: 200 }
validate :check_ignore, :check_license, :check_owner, :check_max_repo_creation validate :check_ignore, :check_license, :check_auto_init, :check_owner, :check_max_repo_creation
validate do validate do
check_project_category(project_category_id) check_project_category(project_category_id)
check_project_language(project_language_id) check_project_language(project_language_id)
@ -28,6 +28,10 @@ class Projects::CreateForm < BaseForm
raise "ignore_id值无效." if ignore_id && Ignore.find_by(id: ignore_id).blank? raise "ignore_id值无效." if ignore_id && Ignore.find_by(id: ignore_id).blank?
end end
def check_auto_init
raise "auto_init值无效." if ignore_id && license_id && !auto_init
end
def check_owner def check_owner
@project_owner = Owner.find_by(id: user_id) @project_owner = Owner.find_by(id: user_id)
raise "user_id值无效." if user_id && @project_owner.blank? raise "user_id值无效." if user_id && @project_owner.blank?

View File

@ -65,7 +65,8 @@ class Projects::CreateService < ApplicationService
{ {
hidden: !repo_is_public, hidden: !repo_is_public,
user_id: params[:user_id], user_id: params[:user_id],
identifier: params[:repository_name] identifier: params[:repository_name],
auto_init: params[:auto_init]
} }
end end

View File

@ -67,7 +67,7 @@ class Repositories::CreateService < ApplicationService
end end
def repository_params def repository_params
params.merge(project_id: project.id) params.merge(project_id: project.id).except(:auto_init)
end end
def gitea_repository_params def gitea_repository_params
@ -75,7 +75,7 @@ class Repositories::CreateService < ApplicationService
name: params[:identifier], name: params[:identifier],
private: params[:hidden], private: params[:hidden],
# readme: "ReadMe", # readme: "ReadMe",
"auto_init": true, auto_init: params[:auto_init],
# "description": "string", # "description": "string",
# "gitignores": "string", # "gitignores": "string",
# "issue_labels": "string", # "issue_labels": "string",
@ -89,7 +89,7 @@ class Repositories::CreateService < ApplicationService
license = project.license license = project.license
hash = hash.merge(license: license.name) if license hash = hash.merge(license: license.name) if license
hash = hash.merge(gitignores: ignore.name) if ignore hash = hash.merge(gitignores: ignore.name) if ignore
hash = hash.merge(auto_init: true) if ignore || license hash = hash.merge(auto_init: true) if ignore && license
hash hash
end end
end end

View File

@ -1,3 +1,4 @@
json.empty @result[:repo]["empty"]
json.content @project.content json.content @project.content
json.website @project.website json.website @project.website
json.lesson_url @project.lesson_url json.lesson_url @project.lesson_url