Only owner can remove project
This commit is contained in:
parent
6ea6ab7c8d
commit
cc0295b789
6 changed files with 13 additions and 5 deletions
|
@ -112,6 +112,10 @@ class ApplicationController < ActionController::Base
|
|||
render file: Rails.root.join("public", "404"), layout: false, status: "404"
|
||||
end
|
||||
|
||||
def render_403
|
||||
render file: Rails.root.join("public", "403"), layout: false, status: "403"
|
||||
end
|
||||
|
||||
def require_non_empty_project
|
||||
redirect_to @project if @project.empty_repo?
|
||||
end
|
||||
|
|
|
@ -89,6 +89,8 @@ class ProjectsController < ProjectResourceController
|
|||
end
|
||||
|
||||
def destroy
|
||||
return access_denied! unless can?(current_user, :remove_project, project)
|
||||
|
||||
# Disable the UsersProject update_repository call, otherwise it will be
|
||||
# called once for every person removed from the project
|
||||
UsersProject.skip_callback(:destroy, :after, :update_repository)
|
||||
|
|
|
@ -66,3 +66,4 @@
|
|||
%legend Owner
|
||||
%ul
|
||||
%li Transfer project to another namespace
|
||||
%li Remove project
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
%span.cred Be careful. Changing project namespace can have unintended side effects
|
||||
- else
|
||||
%a.btn.btn-small.disabled= @project.namespace.try(:human_name) || "/"
|
||||
%a.btn.disabled= @project.namespace.try(:human_name) || "/"
|
||||
|
||||
%span.cred Only owner can change project namespace.
|
||||
|
||||
|
@ -69,5 +69,6 @@
|
|||
= f.submit 'Save', class: "btn save-btn"
|
||||
= link_to 'Cancel', @project, class: "btn"
|
||||
- unless @project.new_record?
|
||||
.right
|
||||
= link_to 'Remove', @project, confirm: 'Are you sure?', method: :delete, class: "btn danger"
|
||||
- if can?(current_user, :remove_project, @project)
|
||||
.right
|
||||
= link_to 'Remove', @project, confirm: 'Removed project can not be restored! Are you sure?', method: :delete, class: "btn danger"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
- if @service.active
|
||||
%small.cgreen Enabled
|
||||
- else
|
||||
%small.btn Disabled
|
||||
%small.cgray Disabled
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
- if @gitlab_ci_service.active
|
||||
%small.cgreen Enabled
|
||||
- else
|
||||
%small.btn Disabled
|
||||
%small.cgray Disabled
|
||||
%li.wll
|
||||
%h4
|
||||
Jenkins CI
|
||||
|
|
Loading…
Reference in a new issue