diff options
Diffstat (limited to 'lib/gitlab_access.rb')
-rw-r--r-- | lib/gitlab_access.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/gitlab_access.rb b/lib/gitlab_access.rb index 78d353c..547b81d 100644 --- a/lib/gitlab_access.rb +++ b/lib/gitlab_access.rb @@ -1,5 +1,6 @@ require_relative 'gitlab_init' require_relative 'gitlab_net' +require_relative 'gitlab_access_status' require_relative 'names_helper' require 'json' @@ -17,13 +18,14 @@ class GitlabAccess end def exec - if api.allowed?('git-receive-pack', @repo_name, @actor, @changes) - return true + status = api.check_access('git-receive-pack', @repo_name, @actor, @changes) + if status.allowed? + true else # reset GL_ID env since we stop git push here ENV['GL_ID'] = nil - puts "GitLab: You are not allowed to access some of the refs!" - return false + puts "GitLab: #{status.message}" + false end end |