Merge branch 'delete-project-in-admin' into 'master'
Redirect to admin projects index if project was deleted from admin page Closes #27768 See merge request gitlab-org/gitlab-ce!28444
This commit is contained in:
commit
f3331579c2
3 changed files with 13 additions and 4 deletions
|
@ -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])
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
= link_to 'Edit', edit_project_path(project), id: "edit_#{dom_id(project)}", class: "btn"
|
||||
%button.delete-project-button.btn.btn-danger{ data: { toggle: 'modal',
|
||||
target: '#delete-project-modal',
|
||||
delete_project_url: project_path(project),
|
||||
delete_project_url: admin_project_path(project),
|
||||
project_name: project.name }, type: 'button' }
|
||||
= s_('AdminProjects|Delete')
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
|||
- if project.archived
|
||||
%span.badge.badge-warning archived
|
||||
.title
|
||||
= link_to(admin_namespace_project_path(project.namespace, project)) do
|
||||
= link_to(admin_project_path(project)) do
|
||||
.dash-project-avatar
|
||||
.avatar-container.rect-avatar.s40
|
||||
= project_icon(project, alt: '', class: 'avatar project-avatar s40', width: 40, height: 40)
|
||||
|
|
|
@ -83,7 +83,7 @@ namespace :admin do
|
|||
resources(:projects,
|
||||
path: '/',
|
||||
constraints: { id: Gitlab::PathRegex.project_route_regex },
|
||||
only: [:show]) do
|
||||
only: [:show, :destroy]) do
|
||||
|
||||
member do
|
||||
put :transfer
|
||||
|
|
Loading…
Reference in a new issue