diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-20 23:50:22 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-20 23:50:22 +0000 |
commit | 9dc93a4519d9d5d7be48ff274127136236a3adb3 (patch) | |
tree | 70467ae3692a0e35e5ea56bcb803eb512a10bedb /app/helpers/namespaces_helper.rb | |
parent | 4b0f34b6d759d6299322b3a54453e930c6121ff0 (diff) | |
download | gitlab-ce-9dc93a4519d9d5d7be48ff274127136236a3adb3.tar.gz |
Add latest changes from gitlab-org/gitlab@13-11-stable-eev13.11.0-rc43
Diffstat (limited to 'app/helpers/namespaces_helper.rb')
-rw-r--r-- | app/helpers/namespaces_helper.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/helpers/namespaces_helper.rb b/app/helpers/namespaces_helper.rb index 8cf5cd49322..a4521541bf9 100644 --- a/app/helpers/namespaces_helper.rb +++ b/app/helpers/namespaces_helper.rb @@ -56,6 +56,33 @@ module NamespacesHelper namespaces_options(selected, **options) end + def cascading_namespace_settings_enabled? + NamespaceSetting.cascading_settings_feature_enabled? + end + + def cascading_namespace_settings_popover_data(attribute, group, settings_path_helper) + locked_by_ancestor = group.namespace_settings.public_send("#{attribute}_locked_by_ancestor?") # rubocop:disable GitlabSecurity/PublicSend + + popover_data = { + locked_by_application_setting: group.namespace_settings.public_send("#{attribute}_locked_by_application_setting?"), # rubocop:disable GitlabSecurity/PublicSend + locked_by_ancestor: locked_by_ancestor + } + + if locked_by_ancestor + ancestor_namespace = group.namespace_settings.public_send("#{attribute}_locked_ancestor").namespace # rubocop:disable GitlabSecurity/PublicSend + + popover_data[:ancestor_namespace] = { + full_name: ancestor_namespace.full_name, + path: settings_path_helper.call(ancestor_namespace) + } + end + + { + popover_data: popover_data.to_json, + testid: 'cascading-settings-lock-icon' + } + end + private # Many importers create a temporary Group, so use the real |