summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-02-08 13:53:30 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-02-11 10:29:15 +0100
commitd51e8e1b77d78dd80a9fb9d362219b8b47b83904 (patch)
tree310080a7327ef2790a2c005d8cb67bed7c13d9de
parent7e1453f2f01d40f53d927ff43aae1baae3b4b272 (diff)
downloadgitlab-ce-d51e8e1b77d78dd80a9fb9d362219b8b47b83904.tar.gz
Inherit build badge access permissions from project
-rw-r--r--app/controllers/projects/builds_controller.rb14
-rw-r--r--doc/ci/quick_start/README.md2
-rw-r--r--features/project/builds/badge.feature3
-rw-r--r--features/steps/project/builds/badge.rb1
4 files changed, 7 insertions, 13 deletions
diff --git a/app/controllers/projects/builds_controller.rb b/app/controllers/projects/builds_controller.rb
index 9d419b07e53..0aef477811f 100644
--- a/app/controllers/projects/builds_controller.rb
+++ b/app/controllers/projects/builds_controller.rb
@@ -4,10 +4,6 @@ class Projects::BuildsController < Projects::ApplicationController
before_action :authorize_update_build!, except: [:index, :show, :status]
layout 'project'
- # Skip authentication for status badge only
- skip_before_action :authenticate_user!, :reject_blocked!, :project,
- :repository, :authorize_manage_builds!, :build, only: [:badge]
-
def index
@scope = params[:scope]
@all_builds = project.builds
@@ -51,18 +47,16 @@ class Projects::BuildsController < Projects::ApplicationController
redirect_to build_path(build)
end
- def status
- render json: @build.to_json(only: [:status, :id, :sha, :coverage], methods: :sha)
- end
-
def cancel
@build.cancel
redirect_to build_path(@build)
end
- def badge
- project = Project.find_with_namespace("#{params[:namespace_id]}/#{params[:project_id]}")
+ def status
+ render json: @build.to_json(only: [:status, :id, :sha, :coverage], methods: :sha)
+ end
+ def badge
respond_to do |format|
format.html { render_404 }
format.svg do
diff --git a/doc/ci/quick_start/README.md b/doc/ci/quick_start/README.md
index 85f46469f81..6598843049e 100644
--- a/doc/ci/quick_start/README.md
+++ b/doc/ci/quick_start/README.md
@@ -192,8 +192,6 @@ You can access a builds badge image using following link:
http://example.gitlab.com/namespace/project/builds/status/branch/badge.svg
```
-Build badge is available for everyone, even if your project is private or internal.
-
## Next steps
Awesome! You started using CI in GitLab!
diff --git a/features/project/builds/badge.feature b/features/project/builds/badge.feature
index 64263b2f538..9eb34475e68 100644
--- a/features/project/builds/badge.feature
+++ b/features/project/builds/badge.feature
@@ -1,6 +1,7 @@
Feature: Project Builds Badge
Background:
- Given project exists in some group namespace
+ Given I sign in as a user
+ And I own a project
And project has CI enabled
And project has a recent build
diff --git a/features/steps/project/builds/badge.rb b/features/steps/project/builds/badge.rb
index 0ceb4ddcd25..65f5e0f766f 100644
--- a/features/steps/project/builds/badge.rb
+++ b/features/steps/project/builds/badge.rb
@@ -1,4 +1,5 @@
class Spinach::Features::ProjectBuildsBadge < Spinach::FeatureSteps
+ include SharedAuthentication
include SharedProject
include SharedBuilds
include RepoHelpers