diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-17 21:08:41 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-17 21:08:41 +0300 |
commit | 22a0d312ae82e7dda3073d5d1a5a766d7641738d (patch) | |
tree | 41a677a7212f24e2f29c2fbd5623430f92fb2b45 /app/models | |
parent | 37eff29d5ce44899e34c7c2ac319b314f2f26d15 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/concerns/project_features_compatibility.rb | 4 | ||||
-rw-r--r-- | app/models/error_tracking/project_error_tracking_setting.rb | 2 | ||||
-rw-r--r-- | app/models/project.rb | 10 | ||||
-rw-r--r-- | app/models/project_feature.rb | 7 |
4 files changed, 17 insertions, 6 deletions
diff --git a/app/models/concerns/project_features_compatibility.rb b/app/models/concerns/project_features_compatibility.rb index 551a2e56ecf..eac676f30a5 100644 --- a/app/models/concerns/project_features_compatibility.rb +++ b/app/models/concerns/project_features_compatibility.rb @@ -50,6 +50,10 @@ module ProjectFeaturesCompatibility write_feature_attribute_string(:merge_requests_access_level, value) end + def forking_access_level=(value) + write_feature_attribute_string(:forking_access_level, value) + end + def issues_access_level=(value) write_feature_attribute_string(:issues_access_level, value) end diff --git a/app/models/error_tracking/project_error_tracking_setting.rb b/app/models/error_tracking/project_error_tracking_setting.rb index 4b61eb02914..a904cf4ac46 100644 --- a/app/models/error_tracking/project_error_tracking_setting.rb +++ b/app/models/error_tracking/project_error_tracking_setting.rb @@ -128,7 +128,7 @@ module ErrorTracking # -> # http://HOST/ORG/PROJECT def self.extract_sentry_external_url(url) - url.sub('api/0/projects/', '') + url&.sub('api/0/projects/', '') end def api_host diff --git a/app/models/project.rb b/app/models/project.rb index 735c9ebda7f..c48360290c7 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -317,10 +317,12 @@ class Project < ApplicationRecord accepts_nested_attributes_for :metrics_setting, update_only: true, allow_destroy: true accepts_nested_attributes_for :grafana_integration, update_only: true, allow_destroy: true - delegate :feature_available?, :builds_enabled?, :wiki_enabled?, :merge_requests_enabled?, - :issues_enabled?, :pages_enabled?, :public_pages?, :private_pages?, - :merge_requests_access_level, :issues_access_level, :wiki_access_level, - :snippets_access_level, :builds_access_level, :repository_access_level, + delegate :feature_available?, :builds_enabled?, :wiki_enabled?, + :merge_requests_enabled?, :forking_enabled?, :issues_enabled?, + :pages_enabled?, :public_pages?, :private_pages?, + :merge_requests_access_level, :forking_access_level, :issues_access_level, + :wiki_access_level, :snippets_access_level, :builds_access_level, + :repository_access_level, to: :project_feature, allow_nil: true delegate :scheduled?, :started?, :in_progress?, :failed?, :finished?, prefix: :import, to: :import_state, allow_nil: true diff --git a/app/models/project_feature.rb b/app/models/project_feature.rb index ec097844499..a9753c3c53a 100644 --- a/app/models/project_feature.rb +++ b/app/models/project_feature.rb @@ -22,7 +22,7 @@ class ProjectFeature < ApplicationRecord ENABLED = 20 PUBLIC = 30 - FEATURES = %i(issues merge_requests wiki snippets builds repository pages).freeze + FEATURES = %i(issues forking merge_requests wiki snippets builds repository pages).freeze PRIVATE_FEATURES_MIN_ACCESS_LEVEL = { merge_requests: Gitlab::Access::REPORTER }.freeze PRIVATE_FEATURES_MIN_ACCESS_LEVEL_FOR_PRIVATE_PROJECT = { repository: Gitlab::Access::REPORTER }.freeze STRING_OPTIONS = HashWithIndifferentAccess.new({ @@ -92,6 +92,7 @@ class ProjectFeature < ApplicationRecord default_value_for :builds_access_level, value: ENABLED, allows_nil: false default_value_for :issues_access_level, value: ENABLED, allows_nil: false + default_value_for :forking_access_level, value: ENABLED, allows_nil: false default_value_for :merge_requests_access_level, value: ENABLED, allows_nil: false default_value_for :snippets_access_level, value: ENABLED, allows_nil: false default_value_for :wiki_access_level, value: ENABLED, allows_nil: false @@ -132,6 +133,10 @@ class ProjectFeature < ApplicationRecord merge_requests_access_level > DISABLED end + def forking_enabled? + forking_access_level > DISABLED + end + def issues_enabled? issues_access_level > DISABLED end |