From a7b3560714b4d9cc4ab32dffcd1f74a284b93580 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 18 Feb 2022 09:45:46 +0000 Subject: Add latest changes from gitlab-org/gitlab@14-8-stable-ee --- lib/sidebars/concerns/work_item_hierarchy.rb | 26 ++++++++++++++++++++++ lib/sidebars/projects/menus/ci_cd_menu.rb | 6 ++++- .../projects/menus/project_information_menu.rb | 3 +++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 lib/sidebars/concerns/work_item_hierarchy.rb (limited to 'lib/sidebars') diff --git a/lib/sidebars/concerns/work_item_hierarchy.rb b/lib/sidebars/concerns/work_item_hierarchy.rb new file mode 100644 index 00000000000..a4153bb5120 --- /dev/null +++ b/lib/sidebars/concerns/work_item_hierarchy.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +# This module has the necessary methods to render +# work items hierarchy menu +module Sidebars + module Concerns + module WorkItemHierarchy + def hierarchy_menu_item(container, url, path) + unless show_hierarachy_menu_item?(container) + return ::Sidebars::NilMenuItem.new(item_id: :hierarchy) + end + + ::Sidebars::MenuItem.new( + title: _('Planning hierarchy'), + link: url, + active_routes: { path: path }, + item_id: :hierarchy + ) + end + + def show_hierarachy_menu_item?(container) + can?(context.current_user, :read_planning_hierarchy, container) + end + end + end +end diff --git a/lib/sidebars/projects/menus/ci_cd_menu.rb b/lib/sidebars/projects/menus/ci_cd_menu.rb index 67e4209c382..5df99bb9d84 100644 --- a/lib/sidebars/projects/menus/ci_cd_menu.rb +++ b/lib/sidebars/projects/menus/ci_cd_menu.rb @@ -68,9 +68,13 @@ module Sidebars return ::Sidebars::NilMenuItem.new(item_id: :pipelines_editor) end + params = { + branch_name: context.current_ref || context.project.default_branch + } + ::Sidebars::MenuItem.new( title: s_('Pipelines|Editor'), - link: project_ci_pipeline_editor_path(context.project), + link: project_ci_pipeline_editor_path(context.project, params), active_routes: { path: 'projects/ci/pipeline_editor#show' }, item_id: :pipelines_editor ) diff --git a/lib/sidebars/projects/menus/project_information_menu.rb b/lib/sidebars/projects/menus/project_information_menu.rb index 44b94ee3522..4056d50d324 100644 --- a/lib/sidebars/projects/menus/project_information_menu.rb +++ b/lib/sidebars/projects/menus/project_information_menu.rb @@ -4,10 +4,13 @@ module Sidebars module Projects module Menus class ProjectInformationMenu < ::Sidebars::Menu + include ::Sidebars::Concerns::WorkItemHierarchy + override :configure_menu_items def configure_menu_items add_item(activity_menu_item) add_item(labels_menu_item) + add_item(hierarchy_menu_item(context.project, project_planning_hierarchy_path(context.project), 'projects#planning_hierarchy')) add_item(members_menu_item) true -- cgit v1.2.3