summaryrefslogtreecommitdiff
path: root/lib/gitlab/user_access_snippet.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/user_access_snippet.rb')
-rw-r--r--lib/gitlab/user_access_snippet.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/gitlab/user_access_snippet.rb b/lib/gitlab/user_access_snippet.rb
index bfed86c4df4..dcd45f9350d 100644
--- a/lib/gitlab/user_access_snippet.rb
+++ b/lib/gitlab/user_access_snippet.rb
@@ -17,7 +17,14 @@ module Gitlab
@project = snippet&.project
end
+ def allowed?
+ return true if snippet_migration?
+
+ super
+ end
+
def can_do_action?(action)
+ return true if snippet_migration?
return false unless can_access_git?
permission_cache[action] =
@@ -35,7 +42,10 @@ module Gitlab
end
def can_push_to_branch?(ref)
+ return true if snippet_migration?
+
super
+
return false unless snippet
return false unless can_do_action?(:update_snippet)
@@ -45,5 +55,9 @@ module Gitlab
def can_merge_to_branch?(ref)
false
end
+
+ def snippet_migration?
+ user&.migration_bot? && snippet
+ end
end
end