Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-07-29 09:09:49 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-07-29 09:09:49 +0300
commit3fa28959b9c657503c98caa0e535d39f51ad2c31 (patch)
tree589ce3733ffdd2b688974421a775451e4c92d7a8 /app/policies/concerns
parent4f578dc107b18ea7effec75ac7fdb144ff8cacf8 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/policies/concerns')
-rw-r--r--app/policies/concerns/crud_policy_helpers.rb10
-rw-r--r--app/policies/concerns/readonly_abilities.rb52
2 files changed, 60 insertions, 2 deletions
diff --git a/app/policies/concerns/crud_policy_helpers.rb b/app/policies/concerns/crud_policy_helpers.rb
index d8521ca22cc..029c196cc5f 100644
--- a/app/policies/concerns/crud_policy_helpers.rb
+++ b/app/policies/concerns/crud_policy_helpers.rb
@@ -13,10 +13,16 @@ module CrudPolicyHelpers
def create_update_admin_destroy(name)
[
+ *create_update_admin(name),
+ :"destroy_#{name}"
+ ]
+ end
+
+ def create_update_admin(name)
+ [
:"create_#{name}",
:"update_#{name}",
- :"admin_#{name}",
- :"destroy_#{name}"
+ :"admin_#{name}"
]
end
end
diff --git a/app/policies/concerns/readonly_abilities.rb b/app/policies/concerns/readonly_abilities.rb
new file mode 100644
index 00000000000..a267e963541
--- /dev/null
+++ b/app/policies/concerns/readonly_abilities.rb
@@ -0,0 +1,52 @@
+# frozen_string_literal: true
+
+module ReadonlyAbilities
+ extend ActiveSupport::Concern
+
+ READONLY_ABILITIES = %i[
+ admin_tag
+ push_code
+ push_to_delete_protected_branch
+ request_access
+ upload_file
+ resolve_note
+ create_merge_request_from
+ create_merge_request_in
+ award_emoji
+ ].freeze
+
+ READONLY_FEATURES = %i[
+ issue
+ list
+ merge_request
+ label
+ milestone
+ snippet
+ wiki
+ design
+ note
+ pipeline
+ pipeline_schedule
+ build
+ trigger
+ environment
+ deployment
+ commit_status
+ container_image
+ pages
+ cluster
+ release
+ ].freeze
+
+ class_methods do
+ def readonly_abilities
+ READONLY_ABILITIES
+ end
+
+ def readonly_features
+ READONLY_FEATURES
+ end
+ end
+end
+
+ReadonlyAbilities::ClassMethods.prepend_if_ee('EE::ReadonlyAbilities::ClassMethods')