Skip to content
Snippets Groups Projects
Commit 487b0a02 authored by Grzegorz Bizon's avatar Grzegorz Bizon
Browse files

Improvements, readability for artifacts browser

parent 2be76355
No related branches found
No related tags found
No related merge requests found
class Projects::ArtifactsController < Projects::ApplicationController
layout 'project'
before_action :authorize_download_build_artifacts!
before_action :authorize_read_build_artifacts!
 
def download
unless artifacts_file.file_storage?
Loading
Loading
@@ -24,11 +24,11 @@ class Projects::ArtifactsController < Projects::ApplicationController
end
 
def file
file = build.artifacts_metadata_path(params[:path])
file_path = build.artifacts_metadata_path(params[:path])
 
if file.exists?
render json: { repository: build.artifacts_file.path,
path: Base64.encode64(file.path) }
if file_path.exists?
render json: { archive: build.artifacts_file.path,
path: Base64.encode64(file_path.path) }
else
render json: {}, status: 404
end
Loading
Loading
@@ -44,8 +44,8 @@ class Projects::ArtifactsController < Projects::ApplicationController
@artifacts_file ||= build.artifacts_file
end
 
def authorize_download_build_artifacts!
unless can?(current_user, :download_build_artifacts, @project)
def authorize_read_build_artifacts!
unless can?(current_user, :read_build_artifacts, @project)
if current_user.nil?
return authenticate_user!
else
Loading
Loading
Loading
Loading
@@ -175,7 +175,7 @@ class Ability
:create_merge_request,
:create_wiki,
:manage_builds,
:download_build_artifacts,
:read_build_artifacts,
:push_code
]
end
Loading
Loading
Loading
Loading
@@ -344,7 +344,7 @@ module Ci
end
 
def artifacts_browser_supported?
artifacts? && artifacts_file.path.end_with?('zip') && artifacts_metadata.exists?
artifacts? && artifacts_metadata.exists?
end
 
def artifacts_metadata_path(path)
Loading
Loading
Loading
Loading
@@ -60,7 +60,7 @@
 
%td
.pull-right
- if current_user && can?(current_user, :download_build_artifacts, project) && build.artifacts?
- if current_user && can?(current_user, :read_build_artifacts, project) && build.artifacts?
= link_to build.artifacts_download_url, title: 'Download artifacts' do
%i.fa.fa-download
- if current_user && can?(current_user, :manage_builds, build.project)
Loading
Loading
Loading
Loading
@@ -89,7 +89,7 @@
Test coverage
%h1 #{@build.coverage}%
 
- if current_user && can?(current_user, :download_build_artifacts, @project) && @build.artifacts?
- if current_user && can?(current_user, :read_build_artifacts, @project) && @build.artifacts?
 
.build-widget.artifacts
%h4.title Build artifacts
Loading
Loading
Loading
Loading
@@ -66,7 +66,7 @@
 
%td
.pull-right
- if current_user && can?(current_user, :download_build_artifacts, commit_status.project) && commit_status.artifacts?
- if current_user && can?(current_user, :read_build_artifacts, commit_status.project) && commit_status.artifacts?
= link_to commit_status.artifacts_download_url, title: 'Download artifacts' do
%i.fa.fa-download
- if current_user && can?(current_user, :manage_builds, commit_status.project)
Loading
Loading
Loading
Loading
@@ -56,7 +56,7 @@ module Gitlab
next if path =~ invalid_pattern
 
paths.push(path)
metadata.push(JSON.parse(meta.chomp, symbolize_names: true))
metadata.push(JSON.parse(meta, symbolize_names: true))
rescue JSON::ParserError, Encoding::CompatibilityError
next
end
Loading
Loading
@@ -66,7 +66,7 @@ module Gitlab
end
 
def read_version
gzip do|gz|
gzip do |gz|
version_string = read_string(gz)
 
unless version_string
Loading
Loading
@@ -95,9 +95,11 @@ module Gitlab
def gzip
open do |file|
gzip = Zlib::GzipReader.new(file)
result = yield gzip
gzip.close
result
begin
yield gzip
ensure
gzip.close
end
end
end
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment