diff options
Diffstat (limited to 'lib/sidebars/projects/menus/infrastructure_menu.rb')
-rw-r--r-- | lib/sidebars/projects/menus/infrastructure_menu.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/sidebars/projects/menus/infrastructure_menu.rb b/lib/sidebars/projects/menus/infrastructure_menu.rb index e26bb2237e6..92e9cbb7040 100644 --- a/lib/sidebars/projects/menus/infrastructure_menu.rb +++ b/lib/sidebars/projects/menus/infrastructure_menu.rb @@ -11,6 +11,7 @@ module Sidebars add_item(kubernetes_menu_item) add_item(serverless_menu_item) add_item(terraform_menu_item) + add_item(google_cloud_menu_item) true end @@ -87,6 +88,22 @@ module Sidebars item_id: :terraform ) end + + def google_cloud_menu_item + feature_is_enabled = Feature.enabled?(:incubation_5mp_google_cloud) + user_has_permissions = can?(context.current_user, :manage_project_google_cloud, context.project) + + unless feature_is_enabled && user_has_permissions + return ::Sidebars::NilMenuItem.new(item_id: :incubation_5mp_google_cloud) + end + + ::Sidebars::MenuItem.new( + title: _('Google Cloud'), + link: project_google_cloud_index_path(context.project), + active_routes: {}, + item_id: :google_cloud + ) + end end end end |