|
|
|
@@ -155,6 +155,15 @@ class ProjectsController < ApplicationController |
|
|
|
} |
|
|
|
gitea_repo = Gitea::Repository::UpdateService.call(@owner, @project&.repository&.identifier, gitea_params) |
|
|
|
@project.repository.update_attributes({hidden: gitea_repo["private"], identifier: gitea_repo["name"]}) |
|
|
|
# 更新对应所属分类下的项目数量(私有) |
|
|
|
before_is_public = @project.previous_changes[:is_public].present? ? @project.previous_changes[:is_public][0] : @project.is_public |
|
|
|
after_is_public = @project.previous_changes[:is_public].present? ? @project.previous_changes[:is_public][1] : @project.is_public |
|
|
|
before_pc_id = @project.previous_changes[:project_category_id].present? ? @project.previous_changes[:project_category_id][0] : @project.project_category_id |
|
|
|
after_pc_id = @project.previous_changes[:project_category_id].present? ? @project.previous_changes[:project_category_id][1] : @project.project_category_id |
|
|
|
before_pc = ProjectCategory.find_by_id(before_pc_id) |
|
|
|
after_pc = ProjectCategory.find_by_id(after_pc_id) |
|
|
|
before_pc.decrement!(:private_projects_count, 1) if before_pc.present? && !before_is_public |
|
|
|
after_pc.increment!(:private_projects_count, 1) if after_pc.present? && !after_is_public |
|
|
|
end |
|
|
|
SendTemplateMessageJob.perform_later('ProjectSettingChanged', current_user.id, @project&.id, @project.previous_changes.slice(:name, :description, :project_category_id, :project_language_id, :is_public, :identifier)) if Site.has_notice_menu? |
|
|
|
end |
|
|
|
@@ -172,6 +181,8 @@ class ProjectsController < ApplicationController |
|
|
|
Gitea::Repository::DeleteService.new(@project.owner, @project.identifier).call |
|
|
|
@project.destroy! |
|
|
|
@project.forked_projects.update_all(forked_from_project_id: nil) |
|
|
|
# 如果该项目有所属的项目分类以及为私有项目,需要更新对应数量 |
|
|
|
@project.project_category.decrement!(:private_projects_count, 1) if @project.project_category.present? && !@project.is_public |
|
|
|
render_ok |
|
|
|
end |
|
|
|
else |
|
|
|
|