diff options
Diffstat (limited to 'lib/sidebars')
15 files changed, 74 insertions, 37 deletions
diff --git a/lib/sidebars/groups/menus/packages_registries_menu.rb b/lib/sidebars/groups/menus/packages_registries_menu.rb index 68c8e9675a7..bd1cca6473a 100644 --- a/lib/sidebars/groups/menus/packages_registries_menu.rb +++ b/lib/sidebars/groups/menus/packages_registries_menu.rb @@ -36,7 +36,7 @@ module Sidebars ::Sidebars::MenuItem.new( title: _('Package Registry'), link: group_packages_path(context.group), - super_sidebar_parent: ::Sidebars::Groups::SuperSidebarMenus::OperationsMenu, + super_sidebar_parent: ::Sidebars::Groups::SuperSidebarMenus::DeployMenu, active_routes: { controller: 'groups/packages' }, item_id: :packages_registry ) diff --git a/lib/sidebars/groups/super_sidebar_menus/deploy_menu.rb b/lib/sidebars/groups/super_sidebar_menus/deploy_menu.rb new file mode 100644 index 00000000000..fe9cc5280c7 --- /dev/null +++ b/lib/sidebars/groups/super_sidebar_menus/deploy_menu.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Sidebars + module Groups + module SuperSidebarMenus + class DeployMenu < ::Sidebars::Menu + override :title + def title + s_('Navigation|Deploy') + end + + override :sprite_icon + def sprite_icon + 'deployments' + end + + override :configure_menu_items + def configure_menu_items + [ + :packages_registry + ].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) } + end + end + end + end +end diff --git a/lib/sidebars/groups/super_sidebar_menus/operations_menu.rb b/lib/sidebars/groups/super_sidebar_menus/operations_menu.rb index fe17ada69e4..e716801486e 100644 --- a/lib/sidebars/groups/super_sidebar_menus/operations_menu.rb +++ b/lib/sidebars/groups/super_sidebar_menus/operations_menu.rb @@ -11,14 +11,13 @@ module Sidebars override :sprite_icon def sprite_icon - 'deployments' + 'cloud-pod' end override :configure_menu_items def configure_menu_items [ :dependency_proxy, - :packages_registry, :container_registry, :group_kubernetes_clusters ].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) } diff --git a/lib/sidebars/groups/super_sidebar_menus/secure_menu.rb b/lib/sidebars/groups/super_sidebar_menus/secure_menu.rb index c79e7e379d0..042e2381744 100644 --- a/lib/sidebars/groups/super_sidebar_menus/secure_menu.rb +++ b/lib/sidebars/groups/super_sidebar_menus/secure_menu.rb @@ -19,6 +19,7 @@ module Sidebars [ :security_dashboard, :vulnerability_report, + :dependency_list, :audit_events, :compliance, :scan_policies diff --git a/lib/sidebars/groups/super_sidebar_panel.rb b/lib/sidebars/groups/super_sidebar_panel.rb index 03af904d99d..1f79dff398e 100644 --- a/lib/sidebars/groups/super_sidebar_panel.rb +++ b/lib/sidebars/groups/super_sidebar_panel.rb @@ -18,6 +18,7 @@ module Sidebars add_menu(Sidebars::Groups::SuperSidebarMenus::CodeMenu.new(context)) add_menu(Sidebars::Groups::SuperSidebarMenus::BuildMenu.new(context)) add_menu(Sidebars::Groups::SuperSidebarMenus::SecureMenu.new(context)) + add_menu(Sidebars::Groups::SuperSidebarMenus::DeployMenu.new(context)) add_menu(Sidebars::Groups::SuperSidebarMenus::OperationsMenu.new(context)) add_menu(Sidebars::Groups::SuperSidebarMenus::MonitorMenu.new(context)) add_menu(Sidebars::Groups::SuperSidebarMenus::AnalyzeMenu.new(context)) diff --git a/lib/sidebars/projects/menus/deployments_menu.rb b/lib/sidebars/projects/menus/deployments_menu.rb index 19612fcee85..0a411f075b7 100644 --- a/lib/sidebars/projects/menus/deployments_menu.rb +++ b/lib/sidebars/projects/menus/deployments_menu.rb @@ -49,7 +49,7 @@ module Sidebars ::Sidebars::MenuItem.new( title: s_('FeatureFlags|Feature flags'), link: project_feature_flags_path(context.project), - super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::BuildMenu, + super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::DeployMenu, active_routes: { controller: :feature_flags }, container_html_options: { class: 'shortcuts-feature-flags' }, item_id: :feature_flags @@ -64,7 +64,7 @@ module Sidebars ::Sidebars::MenuItem.new( title: _('Environments'), link: project_environments_path(context.project), - super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::BuildMenu, + super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::OperationsMenu, active_routes: { controller: :environments }, container_html_options: { class: 'shortcuts-environments' }, item_id: :environments @@ -80,7 +80,7 @@ module Sidebars ::Sidebars::MenuItem.new( title: _('Releases'), link: project_releases_path(context.project), - super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::BuildMenu, + super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::DeployMenu, item_id: :releases, active_routes: { controller: :releases }, container_html_options: { class: 'shortcuts-deployments-releases' } diff --git a/lib/sidebars/projects/menus/monitor_menu.rb b/lib/sidebars/projects/menus/monitor_menu.rb index f1fc9f70ef8..a74448d0bdc 100644 --- a/lib/sidebars/projects/menus/monitor_menu.rb +++ b/lib/sidebars/projects/menus/monitor_menu.rb @@ -8,7 +8,6 @@ module Sidebars def configure_menu_items return false unless feature_enabled? - add_item(metrics_dashboard_menu_item) add_item(error_tracking_menu_item) add_item(alert_management_menu_item) add_item(incidents_menu_item) @@ -49,23 +48,6 @@ module Sidebars context.project.feature_available?(:monitor, context.current_user) end - def metrics_dashboard_menu_item - return ::Sidebars::NilMenuItem.new(item_id: :metrics) if Feature.enabled?(:remove_monitor_metrics) - - unless can?(context.current_user, :metrics_dashboard, context.project) - return ::Sidebars::NilMenuItem.new(item_id: :metrics) - end - - ::Sidebars::MenuItem.new( - title: _('Metrics'), - link: project_metrics_dashboard_path(context.project), - super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::MonitorMenu, - active_routes: { path: 'metrics_dashboard#show' }, - container_html_options: { class: 'shortcuts-metrics' }, - item_id: :metrics - ) - end - def error_tracking_menu_item unless can?(context.current_user, :read_sentry_issue, context.project) return ::Sidebars::NilMenuItem.new(item_id: :error_tracking) diff --git a/lib/sidebars/projects/menus/packages_registries_menu.rb b/lib/sidebars/projects/menus/packages_registries_menu.rb index 31a1aa56ab5..f41b7ce1a73 100644 --- a/lib/sidebars/projects/menus/packages_registries_menu.rb +++ b/lib/sidebars/projects/menus/packages_registries_menu.rb @@ -39,7 +39,7 @@ module Sidebars ::Sidebars::MenuItem.new( title: _('Package Registry'), link: project_packages_path(context.project), - super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::OperationsMenu, + super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::DeployMenu, active_routes: { controller: :packages }, item_id: :packages_registry, container_html_options: { class: 'shortcuts-container-registry' } @@ -54,7 +54,7 @@ module Sidebars ::Sidebars::MenuItem.new( title: _('Container Registry'), link: project_container_registry_index_path(context.project), - super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::OperationsMenu, + super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::DeployMenu, active_routes: { controller: 'projects/registry/repositories' }, item_id: :container_registry ) @@ -91,14 +91,14 @@ module Sidebars end def model_experiments_menu_item - if Feature.disabled?(:ml_experiment_tracking, context.project) + unless can?(context.current_user, :read_model_experiments, context.project) return ::Sidebars::NilMenuItem.new(item_id: :model_experiments) end ::Sidebars::MenuItem.new( title: _('Model experiments'), link: project_ml_experiments_path(context.project), - super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::AnalyzeMenu, + super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::DeployMenu, active_routes: { controller: %w[projects/ml/experiments projects/ml/candidates] }, item_id: :model_experiments ) diff --git a/lib/sidebars/projects/super_sidebar_menus/analyze_menu.rb b/lib/sidebars/projects/super_sidebar_menus/analyze_menu.rb index 58b231a269c..2c5dc8a08e7 100644 --- a/lib/sidebars/projects/super_sidebar_menus/analyze_menu.rb +++ b/lib/sidebars/projects/super_sidebar_menus/analyze_menu.rb @@ -25,8 +25,7 @@ module Sidebars :code_review, :merge_request_analytics, :issues, - :insights, - :model_experiments + :insights ].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) } end end diff --git a/lib/sidebars/projects/super_sidebar_menus/build_menu.rb b/lib/sidebars/projects/super_sidebar_menus/build_menu.rb index 30603e1deeb..119ddf28873 100644 --- a/lib/sidebars/projects/super_sidebar_menus/build_menu.rb +++ b/lib/sidebars/projects/super_sidebar_menus/build_menu.rb @@ -20,10 +20,7 @@ module Sidebars :pipelines, :jobs, :pipelines_editor, - :releases, - :environments, :pipeline_schedules, - :feature_flags, :test_cases, :artifacts ].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) } diff --git a/lib/sidebars/projects/super_sidebar_menus/deploy_menu.rb b/lib/sidebars/projects/super_sidebar_menus/deploy_menu.rb new file mode 100644 index 00000000000..49aa6a23a0e --- /dev/null +++ b/lib/sidebars/projects/super_sidebar_menus/deploy_menu.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Sidebars + module Projects + module SuperSidebarMenus + class DeployMenu < ::Sidebars::Menu + override :title + def title + s_('Navigation|Deploy') + end + + override :sprite_icon + def sprite_icon + 'deployments' + end + + override :configure_menu_items + def configure_menu_items + [ + :releases, + :feature_flags, + :packages_registry, + :container_registry, + :model_experiments + ].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) } + end + end + end + end +end diff --git a/lib/sidebars/projects/super_sidebar_menus/monitor_menu.rb b/lib/sidebars/projects/super_sidebar_menus/monitor_menu.rb index fb56f6f3792..6e64ac01ffa 100644 --- a/lib/sidebars/projects/super_sidebar_menus/monitor_menu.rb +++ b/lib/sidebars/projects/super_sidebar_menus/monitor_menu.rb @@ -17,7 +17,6 @@ module Sidebars override :configure_menu_items def configure_menu_items [ - :metrics, :error_tracking, :alert_management, :incidents, diff --git a/lib/sidebars/projects/super_sidebar_menus/operations_menu.rb b/lib/sidebars/projects/super_sidebar_menus/operations_menu.rb index 64cf4aee9c5..85d60c0bad3 100644 --- a/lib/sidebars/projects/super_sidebar_menus/operations_menu.rb +++ b/lib/sidebars/projects/super_sidebar_menus/operations_menu.rb @@ -11,14 +11,13 @@ module Sidebars override :sprite_icon def sprite_icon - 'deployments' + 'cloud-pod' end override :configure_menu_items def configure_menu_items [ - :packages_registry, - :container_registry, + :environments, :kubernetes, :terraform_states, :infrastructure_registry, diff --git a/lib/sidebars/projects/super_sidebar_panel.rb b/lib/sidebars/projects/super_sidebar_panel.rb index 640666fd968..e9de4c2d92c 100644 --- a/lib/sidebars/projects/super_sidebar_panel.rb +++ b/lib/sidebars/projects/super_sidebar_panel.rb @@ -18,6 +18,7 @@ module Sidebars add_menu(Sidebars::Projects::SuperSidebarMenus::CodeMenu.new(context)) add_menu(Sidebars::Projects::SuperSidebarMenus::BuildMenu.new(context)) add_menu(Sidebars::Projects::SuperSidebarMenus::SecureMenu.new(context)) + add_menu(Sidebars::Projects::SuperSidebarMenus::DeployMenu.new(context)) add_menu(Sidebars::Projects::SuperSidebarMenus::OperationsMenu.new(context)) add_menu(Sidebars::Projects::SuperSidebarMenus::MonitorMenu.new(context)) add_menu(Sidebars::Projects::SuperSidebarMenus::AnalyzeMenu.new(context)) diff --git a/lib/sidebars/user_profile/panel.rb b/lib/sidebars/user_profile/panel.rb index 9a595fdf64c..1852ef928f4 100644 --- a/lib/sidebars/user_profile/panel.rb +++ b/lib/sidebars/user_profile/panel.rb @@ -4,6 +4,9 @@ module Sidebars module UserProfile class Panel < ::Sidebars::Panel include UsersHelper + include Gitlab::Allowable + + delegate :current_user, to: :@context override :configure_menus def configure_menus |