diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 6a21ad5f..88d847da 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -317,7 +317,10 @@ class ProjectsController < ApplicationController UpdateProjectTopicJob.set(wait: 1.seconds).perform_later(project_id) if project_id.present? Rails.logger.info "############ mirror status: #{@project&.repository&.mirror&.status} ############" end - # elsif !@project.common? && @project&.repository&.mirror&.failed? + elsif !@project.common? && @project&.repository&.mirror&.failed? + # 导入失败的项目标记 project.status=0, 在列表中不显示 + @project&.update_columns(status: 0) if @project&.status == 1 + # Rails.logger.info "############ mirror status: #{@project&.repository&.mirror&.status}" # Gitea::Repository::DeleteService.new(@project.owner, @project.identifier,current_user.gitea_token).call # @project.destroy! diff --git a/app/jobs/migrate_remote_repository_job.rb b/app/jobs/migrate_remote_repository_job.rb index 9512b941..1d6e4112 100644 --- a/app/jobs/migrate_remote_repository_job.rb +++ b/app/jobs/migrate_remote_repository_job.rb @@ -22,6 +22,7 @@ class MigrateRemoteRepositoryJob < ApplicationJob gitea_result = $gitea_client.get_repos_by_owner_repo(repo&.project&.owner&.login, repo&.project&.identifier) if gitea_result["empty"] repo&.mirror&.failed! + repo&.project&.update_columns(status: 0) else repo&.project&.update_columns(gpid: gitea_result["id"]) repo&.mirror&.succeeded! diff --git a/app/queries/projects/list_query.rb b/app/queries/projects/list_query.rb index c67feed6..09a02010 100644 --- a/app/queries/projects/list_query.rb +++ b/app/queries/projects/list_query.rb @@ -38,7 +38,7 @@ class Projects::ListQuery < ApplicationQuery end def main_collection - collection = Project.visible + collection = Project.visible.where(status: 1) # 增加私有组织中项目过滤 collection = collection.joins("left join organization_extensions on organization_extensions.organization_id = projects.user_id") .where("organization_extensions.visibility is null or organization_extensions.visibility in (0,1)")