From ffe6cb57a64021dc593037ec18464fd728168ad1 Mon Sep 17 00:00:00 2001 From: Luke Picciau Date: Wed, 29 May 2019 20:18:40 +0000 Subject: Redirect to admin projects index if project was deleted from admin page --- app/controllers/admin/projects_controller.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'app/controllers/admin/projects_controller.rb') diff --git a/app/controllers/admin/projects_controller.rb b/app/controllers/admin/projects_controller.rb index aeff0c96b64..70db15916b9 100644 --- a/app/controllers/admin/projects_controller.rb +++ b/app/controllers/admin/projects_controller.rb @@ -3,7 +3,7 @@ class Admin::ProjectsController < Admin::ApplicationController include MembersPresentation - before_action :project, only: [:show, :transfer, :repository_check] + before_action :project, only: [:show, :transfer, :repository_check, :destroy] before_action :group, only: [:show, :transfer] def index @@ -35,6 +35,15 @@ class Admin::ProjectsController < Admin::ApplicationController end # rubocop: enable CodeReuse/ActiveRecord + def destroy + ::Projects::DestroyService.new(@project, current_user, {}).async_execute + flash[:notice] = _("Project '%{project_name}' is in the process of being deleted.") % { project_name: @project.full_name } + + redirect_to admin_projects_path, status: :found + rescue Projects::DestroyService::DestroyError => ex + redirect_to admin_projects_path, status: 302, alert: ex.message + end + # rubocop: disable CodeReuse/ActiveRecord def transfer namespace = Namespace.find_by(id: params[:new_namespace_id]) -- cgit v1.2.1