diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2018-12-06 20:43:58 +0000 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2018-12-06 20:43:58 +0000 |
commit | c3bbad762d418857e3f5b52222f5eedd62663229 (patch) | |
tree | c5b7083396734b3d13883a7316e223a73135a441 /app/controllers | |
parent | 60011bc42e3d820344e804f70d170c0c8b25d7e9 (diff) | |
parent | 9395d198f9b9ec59858d2f316e58cda22ab80050 (diff) | |
download | gitlab-ce-c3bbad762d418857e3f5b52222f5eedd62663229.tar.gz |
Merge branch '19376-post-bfg-cleanup' into 'master'
Allow internal references to be removed
Closes #19376
See merge request gitlab-org/gitlab-ce!23189
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/projects/settings/repository_controller.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/controllers/projects/settings/repository_controller.rb b/app/controllers/projects/settings/repository_controller.rb index 1d76c90d4eb..30724de7f6a 100644 --- a/app/controllers/projects/settings/repository_controller.rb +++ b/app/controllers/projects/settings/repository_controller.rb @@ -5,6 +5,7 @@ module Projects class RepositoryController < Projects::ApplicationController before_action :authorize_admin_project! before_action :remote_mirror, only: [:show] + before_action :check_cleanup_feature_flag!, only: :cleanup def show render_show @@ -20,8 +21,26 @@ module Projects render_show end + def cleanup + cleanup_params = params.require(:project).permit(:bfg_object_map) + result = Projects::UpdateService.new(project, current_user, cleanup_params).execute + + if result[:status] == :success + RepositoryCleanupWorker.perform_async(project.id, current_user.id) + flash[:notice] = _('Repository cleanup has started. You will receive an email once the cleanup operation is complete.') + else + flash[:alert] = _('Failed to upload object map file') + end + + redirect_to project_settings_repository_path(project) + end + private + def check_cleanup_feature_flag! + render_404 unless ::Feature.enabled?(:project_cleanup, project) + end + def render_show @deploy_keys = DeployKeysPresenter.new(@project, current_user: current_user) @deploy_tokens = @project.deploy_tokens.active |