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
|
class Admin::ProjectsController < Admin::ApplicationController
|
||||||
include MembersPresentation
|
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]
|
before_action :group, only: [:show, :transfer]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
@ -35,6 +35,15 @@ class Admin::ProjectsController < Admin::ApplicationController
|
||||||
end
|
end
|
||||||
# rubocop: enable CodeReuse/ActiveRecord
|
# 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
|
# rubocop: disable CodeReuse/ActiveRecord
|
||||||
def transfer
|
def transfer
|
||||||
namespace = Namespace.find_by(id: params[:new_namespace_id])
|
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"
|
= link_to 'Edit', edit_project_path(project), id: "edit_#{dom_id(project)}", class: "btn"
|
||||||
%button.delete-project-button.btn.btn-danger{ data: { toggle: 'modal',
|
%button.delete-project-button.btn.btn-danger{ data: { toggle: 'modal',
|
||||||
target: '#delete-project-modal',
|
target: '#delete-project-modal',
|
||||||
delete_project_url: project_path(project),
|
delete_project_url: admin_project_path(project),
|
||||||
project_name: project.name }, type: 'button' }
|
project_name: project.name }, type: 'button' }
|
||||||
= s_('AdminProjects|Delete')
|
= s_('AdminProjects|Delete')
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
- if project.archived
|
- if project.archived
|
||||||
%span.badge.badge-warning archived
|
%span.badge.badge-warning archived
|
||||||
.title
|
.title
|
||||||
= link_to(admin_namespace_project_path(project.namespace, project)) do
|
= link_to(admin_project_path(project)) do
|
||||||
.dash-project-avatar
|
.dash-project-avatar
|
||||||
.avatar-container.rect-avatar.s40
|
.avatar-container.rect-avatar.s40
|
||||||
= project_icon(project, alt: '', class: 'avatar project-avatar s40', width: 40, height: 40)
|
= project_icon(project, alt: '', class: 'avatar project-avatar s40', width: 40, height: 40)
|
||||||
|
|
|
@ -83,7 +83,7 @@ namespace :admin do
|
||||||
resources(:projects,
|
resources(:projects,
|
||||||
path: '/',
|
path: '/',
|
||||||
constraints: { id: Gitlab::PathRegex.project_route_regex },
|
constraints: { id: Gitlab::PathRegex.project_route_regex },
|
||||||
only: [:show]) do
|
only: [:show, :destroy]) do
|
||||||
|
|
||||||
member do
|
member do
|
||||||
put :transfer
|
put :transfer
|
||||||
|
|
Loading…
Reference in a new issue