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>2022-06-20 14:10:13 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-06-20 14:10:13 +0300
commit0ea3fcec397b69815975647f5e2aa5fe944a8486 (patch)
tree7979381b89d26011bcf9bdc989a40fcc2f1ed4ff /app/models/project_feature.rb
parent72123183a20411a36d607d70b12d57c484394c8e (diff)
Add latest changes from gitlab-org/gitlab@15-1-stable-eev15.1.0-rc42
Diffstat (limited to 'app/models/project_feature.rb')
-rw-r--r--app/models/project_feature.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/app/models/project_feature.rb b/app/models/project_feature.rb
index 27692fe76f0..f478af32788 100644
--- a/app/models/project_feature.rb
+++ b/app/models/project_feature.rb
@@ -20,6 +20,7 @@ class ProjectFeature < ApplicationRecord
operations
security_and_compliance
container_registry
+ package_registry
].freeze
EXPORTABLE_FEATURES = (FEATURES - [:security_and_compliance, :pages]).freeze
@@ -29,7 +30,8 @@ class ProjectFeature < ApplicationRecord
PRIVATE_FEATURES_MIN_ACCESS_LEVEL = {
merge_requests: Gitlab::Access::REPORTER,
metrics_dashboard: Gitlab::Access::REPORTER,
- container_registry: Gitlab::Access::REPORTER
+ container_registry: Gitlab::Access::REPORTER,
+ package_registry: Gitlab::Access::REPORTER
}.freeze
PRIVATE_FEATURES_MIN_ACCESS_LEVEL_FOR_PRIVATE_PROJECT = { repository: Gitlab::Access::REPORTER }.freeze
@@ -76,6 +78,14 @@ class ProjectFeature < ApplicationRecord
end
end
+ default_value_for(:package_registry_access_level) do |feature|
+ if ::Gitlab.config.packages.enabled
+ ENABLED
+ else
+ DISABLED
+ end
+ end
+
default_value_for(:container_registry_access_level) do |feature|
if gitlab_config_features.container_registry
ENABLED
@@ -142,6 +152,12 @@ class ProjectFeature < ApplicationRecord
!public_pages?
end
+ def package_registry_access_level=(value)
+ super(value).tap do
+ project.packages_enabled = self.package_registry_access_level != DISABLED if project
+ end
+ end
+
private
# Validates builds and merge requests access level
@@ -157,7 +173,7 @@ class ProjectFeature < ApplicationRecord
end
def feature_validation_exclusion
- %i(pages)
+ %i(pages package_registry)
end
override :resource_member?