summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-03-29 10:32:38 +0000
committerRémy Coutable <remy@rymai.me>2016-03-29 10:32:38 +0000
commit00726e4df976e1f368a95e77b7715308f59ae264 (patch)
tree633cbf592776cac08a659d918e1e57ae21992097 /app/controllers
parentaf8df7e5981cfd659772b7fd4ee679170050f33f (diff)
parentb7685b57d3fc9a2e27096c5984d92fd104ff71b7 (diff)
downloadgitlab-ce-00726e4df976e1f368a95e77b7715308f59ae264.tar.gz
Merge branch 'fix/nomethod-error-on-ci' into 'master'
Fix error when visiting CI root path Closes #14528, closes #14687 See merge request !3377
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/ci/projects_controller.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/app/controllers/ci/projects_controller.rb b/app/controllers/ci/projects_controller.rb
index 081e01a75e0..8bf71a1adbb 100644
--- a/app/controllers/ci/projects_controller.rb
+++ b/app/controllers/ci/projects_controller.rb
@@ -1,11 +1,15 @@
module Ci
class ProjectsController < Ci::ApplicationController
before_action :project
- before_action :authorize_read_project!, except: [:badge]
before_action :no_cache, only: [:badge]
+ before_action :authorize_read_project!, except: [:badge, :index]
skip_before_action :authenticate_user!, only: [:badge]
protect_from_forgery
+ def index
+ redirect_to root_path
+ end
+
def show
# Temporary compatibility with CI badges pointing to CI project page
redirect_to namespace_project_path(project.namespace, project)
@@ -35,5 +39,9 @@ module Ci
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end
+
+ def authorize_read_project!
+ return access_denied! unless can?(current_user, :read_project, project)
+ end
end
end