diff options
author | Steven Thonus <steven@ln2.nl> | 2013-11-29 17:10:59 +0100 |
---|---|---|
committer | Steven Thonus <steven@ln2.nl> | 2013-12-16 14:39:14 +0100 |
commit | 37383966ef3fada865d3d21a8ce7a3c640bbd11e (patch) | |
tree | c7fe9015cd5d3b336e868498bb478fd523de0a86 /app/controllers/projects_controller.rb | |
parent | 99490159e5f9d6ff4b45f78b977d01caa1e3c4fc (diff) | |
download | gitlab-ce-37383966ef3fada865d3d21a8ce7a3c640bbd11e.tar.gz |
Archiving old projects; archived projects aren't shown on dashboard
features for archive projects
abilities for archived project
other abilities for archive projects
only limit commits and merges for archived projects
ability changed to prohibited actions on archived projects
added spec and feature tests for archive projects
changed search bar not to include archived projects
Diffstat (limited to 'app/controllers/projects_controller.rb')
-rw-r--r-- | app/controllers/projects_controller.rb | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 1835671fe98..e1c55e7d913 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -5,7 +5,7 @@ class ProjectsController < ApplicationController # Authorize before_filter :authorize_read_project!, except: [:index, :new, :create] - before_filter :authorize_admin_project!, only: [:edit, :update, :destroy, :transfer] + before_filter :authorize_admin_project!, only: [:edit, :update, :destroy, :transfer, :archive, :unarchive] before_filter :require_non_empty_project, only: [:blob, :tree, :graph] layout 'navless', only: [:new, :create, :fork] @@ -116,6 +116,24 @@ class ProjectsController < ApplicationController end end + def archive + return access_denied! unless can?(current_user, :archive_project, project) + project.archive! + + respond_to do |format| + format.html { redirect_to @project } + end + end + + def unarchive + return access_denied! unless can?(current_user, :archive_project, project) + project.unarchive! + + respond_to do |format| + format.html { redirect_to @project } + end + end + private def set_title |