更改组织可见性为私有,则需将该组织下的所有仓库同步更改为私有仓库
This commit is contained in:
parent
487630ad1c
commit
f796d1be42
|
@ -46,6 +46,12 @@ class Organizations::OrganizationsController < Organizations::BaseController
|
||||||
@organization.nickname = organization_params[:nickname] if organization_params[:nickname].present?
|
@organization.nickname = organization_params[:nickname] if organization_params[:nickname].present?
|
||||||
@organization.save!
|
@organization.save!
|
||||||
sync_organization_extension!
|
sync_organization_extension!
|
||||||
|
# 更改组织可见性为私有,则需将该组织下的所有仓库同步更改为私有仓库
|
||||||
|
if organization_extension_params[:visibility] == "privacy"
|
||||||
|
Project.where(user_id: @organization.id).where(is_public: true).each do |project|
|
||||||
|
update_project_private(project)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
Gitea::Organization::UpdateService.call(current_user.gitea_token, login, @organization.reload)
|
Gitea::Organization::UpdateService.call(current_user.gitea_token, login, @organization.reload)
|
||||||
Util.write_file(@image, avatar_path(@organization)) if params[:image].present?
|
Util.write_file(@image, avatar_path(@organization)) if params[:image].present?
|
||||||
|
@ -123,5 +129,20 @@ class Organizations::OrganizationsController < Organizations::BaseController
|
||||||
def sync_organization_extension!
|
def sync_organization_extension!
|
||||||
@organization.organization_extension.update_attributes!(organization_extension_params)
|
@organization.organization_extension.update_attributes!(organization_extension_params)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def update_project_private(project)
|
||||||
|
project.update_attributes!(is_public: false)
|
||||||
|
project.forked_projects.update_all(is_public: project.is_public)
|
||||||
|
gitea_params = {
|
||||||
|
private: false,
|
||||||
|
default_branch: project.default_branch,
|
||||||
|
website: project.website,
|
||||||
|
name: project.identifier
|
||||||
|
}
|
||||||
|
gitea_repo = Gitea::Repository::UpdateService.call(@organization, project&.repository&.identifier, gitea_params)
|
||||||
|
project.repository.update_attributes({hidden: gitea_repo["private"], identifier: gitea_repo["name"]})
|
||||||
|
# 更新对应所属分类下的项目数量(私有)
|
||||||
|
project.project_category.decrement!(:private_projects_count, 1) if project.project_category.present?
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
Loading…
Reference in New Issue