summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2018-12-06 20:43:58 +0000
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2018-12-06 20:43:58 +0000
commitc3bbad762d418857e3f5b52222f5eedd62663229 (patch)
treec5b7083396734b3d13883a7316e223a73135a441 /app/controllers
parent60011bc42e3d820344e804f70d170c0c8b25d7e9 (diff)
parent9395d198f9b9ec59858d2f316e58cda22ab80050 (diff)
downloadgitlab-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.rb19
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