summaryrefslogtreecommitdiff
path: root/lib/gitlab/git_access.rb
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-09-13 15:27:05 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2016-09-13 15:27:05 +0200
commit571226f166f638f821ce84b90bce9cec1e5d5d06 (patch)
tree27cefbdc529510f757df251f125e344c7deeaf7c /lib/gitlab/git_access.rb
parent505dc808b3c0dc98413506446d368b91b56ff682 (diff)
downloadgitlab-ce-571226f166f638f821ce84b90bce9cec1e5d5d06.tar.gz
Make result to return project and capabilities granted
Diffstat (limited to 'lib/gitlab/git_access.rb')
-rw-r--r--lib/gitlab/git_access.rb12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/gitlab/git_access.rb b/lib/gitlab/git_access.rb
index 5bd0134ed45..10ef4a1e3cf 100644
--- a/lib/gitlab/git_access.rb
+++ b/lib/gitlab/git_access.rb
@@ -5,13 +5,13 @@ module Gitlab
DOWNLOAD_COMMANDS = %w{ git-upload-pack git-upload-archive }
PUSH_COMMANDS = %w{ git-receive-pack }
- attr_reader :actor, :project, :protocol, :user_access, :access_type
+ attr_reader :actor, :project, :protocol, :user_access, :capabilities
- def initialize(actor, project, protocol, access_type: access_type)
+ def initialize(actor, project, protocol, capabilities: capabilities)
@actor = actor
@project = project
@protocol = protocol
- @access_type = access_type
+ @capabilities = capabilities
@user_access = UserAccess.new(user, project: project)
end
@@ -69,15 +69,15 @@ module Gitlab
end
def privileged_user_can_download_code?
- access_type == :full && user_access.can_do_action?(:download_code)
+ capabilities.include?(:download_code) && user_access.can_do_action?(:download_code)
end
def restricted_user_can_download_code?
- access_type == :restricted && user_access.can_do_action?(:restricted_download_code)
+ capabilities.include?(:restricted_download_code) && user_access.can_do_action?(:restricted_download_code)
end
def user_push_access_check(changes)
- unless access_type == :full
+ unless capabilities.include?(:push_code)
return build_status_object(false, "You are not allowed to upload code for this project.")
end