From 1f7de54aee59be5d347e2336b51445ea8a25291f Mon Sep 17 00:00:00 2001 From: Jan Sandbrink Date: Wed, 11 Mar 2026 09:45:46 +0100 Subject: [PATCH] Remove option to show wiki item as submenu This option seems to have been broken for quite some time and lead to pretty inconsistent results. What it clearly didn't do was to show the item in the project navigation. Some effects were visible in the wiki navigation, some of them only in some views of the wiki. This must have been broken for quite some time without major complaints about it. Since we want to generalize our wiki options going forward and also integrate with external wikis, this is a good chance for simplification. Therefore instead of trying to reverse engineer what this option was supposed to do, it's going to be removed for the time being. --- app/controllers/wiki_menu_items_controller.rb | 11 ++----- app/models/menu_item.rb | 4 ++- app/views/wiki_menu_items/edit.html.erb | 6 ---- config/locales/en.yml | 1 - docs/user-guide/wiki/wiki-menu/README.md | 5 ---- .../wiki/wiki-menu/wiki-show-submenu-item.png | Bin 55141 -> 0 bytes lib/redmine/menu_manager/wiki_menu_helper.rb | 15 ---------- .../projects_settings_menu_controller_spec.rb | 2 -- .../menu_items/wiki_menu_item_spec.rb | 27 ++++++------------ 9 files changed, 14 insertions(+), 57 deletions(-) delete mode 100644 docs/user-guide/wiki/wiki-menu/wiki-show-submenu-item.png diff --git a/app/controllers/wiki_menu_items_controller.rb b/app/controllers/wiki_menu_items_controller.rb index bb7351753e8..ad27f786029 100644 --- a/app/controllers/wiki_menu_items_controller.rb +++ b/app/controllers/wiki_menu_items_controller.rb @@ -67,12 +67,11 @@ class WikiMenuItemsController < ApplicationController def update # rubocop:disable Metrics/AbcSize, Metrics/PerceivedComplexity wiki_menu_setting = wiki_menu_item_params[:setting] - parent_wiki_menu_item = params[:parent_wiki_menu_item] get_data_from_params(params) if wiki_menu_setting == "no_item" - unless @wiki_menu_item.nil? + if @wiki_menu_item if @wiki_menu_item.is_only_main_item? if @page.only_wiki_page? flash.now[:error] = t(:wiki_menu_item_delete_not_permitted) @@ -89,12 +88,8 @@ class WikiMenuItemsController < ApplicationController @wiki_menu_item.name = @page.slug @wiki_menu_item.title = wiki_menu_item_params[:title] || @page_title - if wiki_menu_setting == "sub_item" - @wiki_menu_item.parent_id = parent_wiki_menu_item - elsif wiki_menu_setting == "main_item" - @wiki_menu_item.parent_id = nil - assign_wiki_menu_item_params @wiki_menu_item - end + @wiki_menu_item.parent_id = nil + assign_wiki_menu_item_params @wiki_menu_item end if @wiki_menu_item.destroyed? || @wiki_menu_item.save diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 548248343aa..991d1fd1486 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -50,7 +50,9 @@ class MenuItem < ApplicationRecord elsif is_main_item? :main_item else - :sub_item + # backwards compatibility for removed configuration option + # sub items are not offered anymore and are effectively not visible + :no_item end end diff --git a/app/views/wiki_menu_items/edit.html.erb b/app/views/wiki_menu_items/edit.html.erb index b7041d88f1b..2624bcbed04 100644 --- a/app/views/wiki_menu_items/edit.html.erb +++ b/app/views/wiki_menu_items/edit.html.erb @@ -57,12 +57,6 @@ See COPYRIGHT and LICENSE files for more details. <%= form.radio_button "setting", :main_item %> <%= form.label "setting_main_item", t(:label_wiki_show_menu_item) %>

-

- <% disabled = @parent_menu_item_options.empty? %> - <%= form.radio_button "setting", :sub_item, disabled: disabled %> - <%= form.label "setting_sub_item", t(:label_wiki_show_submenu_item), { id: "with-select" } %> - <%= select_tag "parent_wiki_menu_item", options_for_select(@parent_menu_item_options, @selected_parent_menu_item_id), disabled: disabled %> -

<%= styled_button_tag t(:button_save), method: :post, diff --git a/config/locales/en.yml b/config/locales/en.yml index 2d789e00cc8..4fd756ff652 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -4090,7 +4090,6 @@ en: label_wiki_show_index_page_link: "Show submenu item 'Table of Contents'" label_wiki_show_menu_item: "Show as menu item in project navigation" label_wiki_show_new_page_link: "Show submenu item 'Create new child page'" - label_wiki_show_submenu_item: "Show as submenu item of " label_wiki_start: "Start page" label_work: "Work" label_work_package: "Work package" diff --git a/docs/user-guide/wiki/wiki-menu/README.md b/docs/user-guide/wiki/wiki-menu/README.md index 10373378cd1..ba6be4d3d58 100644 --- a/docs/user-guide/wiki/wiki-menu/README.md +++ b/docs/user-guide/wiki/wiki-menu/README.md @@ -25,7 +25,6 @@ To add a wiki page as a menu item to the project menu, select the **More** funct - **Do not show this wikipage in the project navigation** will NOT display a separate menu item in the project navigation. The wiki page is just displayed within the wiki module itself. - **Show as menu item in project navigation** will add a separate menu item to the project navigation. -- **Show as submenu item of ...** will display the wiki page a sub-menu item in the project navigation. 3. **Save** your changes to the wiki page menu. @@ -35,8 +34,4 @@ To add a wiki page as a menu item to the project menu, select the **More** funct ![wiki-show-menu-item](wiki-show-menu-item.png) -**Visibility** show as submenu item of project-documentation: - -![wiki-show-submenu-item](wiki-show-submenu-item.png) - The default option is **Do not show this wiki page in project navigation**. Check this option if you want to undo earlier changes and hide the wiki page from the project menu. diff --git a/docs/user-guide/wiki/wiki-menu/wiki-show-submenu-item.png b/docs/user-guide/wiki/wiki-menu/wiki-show-submenu-item.png deleted file mode 100644 index 076bd97d6e6fec25e426f9dffddd20bd54994462..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55141 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 diff --git a/lib/redmine/menu_manager/wiki_menu_helper.rb b/lib/redmine/menu_manager/wiki_menu_helper.rb index 1262b4827fa..6e85ff6d53c 100644 --- a/lib/redmine/menu_manager/wiki_menu_helper.rb +++ b/lib/redmine/menu_manager/wiki_menu_helper.rb @@ -36,10 +36,6 @@ module Redmine::MenuManager::WikiMenuHelper wiki_main_items(project_wiki).reverse_each do |main_item| Redmine::MenuManager.loose :project_menu do |menu| push_wiki_main_menu(menu, main_item, project) - - main_item.children.each do |child| - push_wiki_menu_subitem(menu, main_item, child) - end end end end @@ -60,17 +56,6 @@ module Redmine::MenuManager::WikiMenuHelper main_item.destroy end - def push_wiki_menu_subitem(menu, main_item, child) - menu.push child.menu_identifier, - { controller: "/wiki", action: "show", id: child.slug }, - caption: child.title, - html: { class: "wiki-menu--sub-item" }, - parent: main_item.menu_identifier - rescue ArgumentError => e - Rails.logger.error "Failed to add wiki item #{child.slug} to wiki menu: #{e}. Deleting it." - child.destroy - end - def default_menu_item(page) if (main_item = page.nearest_main_item) main_item diff --git a/spec/controllers/projects_settings_menu_controller_spec.rb b/spec/controllers/projects_settings_menu_controller_spec.rb index 4154892b372..c6a7bbde3ca 100644 --- a/spec/controllers/projects_settings_menu_controller_spec.rb +++ b/spec/controllers/projects_settings_menu_controller_spec.rb @@ -105,8 +105,6 @@ RSpec.describe Projects::Settings::ModulesController, "menu" do it_behaves_like "renders the modules show page" it_behaves_like "has selector", "#main-menu a.wiki-example-menu-item" - - it_behaves_like "has selector", "#main-menu a.wiki-sub-menu-item" end end diff --git a/spec/features/menu_items/wiki_menu_item_spec.rb b/spec/features/menu_items/wiki_menu_item_spec.rb index be9d357814a..dad3558d3ff 100644 --- a/spec/features/menu_items/wiki_menu_item_spec.rb +++ b/spec/features/menu_items/wiki_menu_item_spec.rb @@ -64,11 +64,11 @@ RSpec.describe "Wiki menu items", # Create two items with identical slugs (one with space, which is removed) let(:item1) do MenuItems::WikiMenuItem.new(navigatable_id: wiki.id, - parent: parent_menu, title: "Item 1", name: "slug") + parent: nil, title: "Item 1", name: "slug ") end let(:item2) do MenuItems::WikiMenuItem.new(navigatable_id: wiki.id, - parent: parent_menu, title: "Item 2", name: "slug ") + parent: nil, title: "Item 2", name: "slug") end it "one is invalid and deleted during visit" do @@ -114,38 +114,27 @@ RSpec.describe "Wiki menu items", expect(page) .to have_current_path(project_wiki_path(project, wiki_page)) - # modifying the menu item to a different name and to be a subpage + # modifying the menu item to a different name page.find_test_selector("wiki-more-dropdown-menu").click page.find_test_selector("wiki-configure-menu-action-menu-item").click wait_for_network_idle fill_in "Name of menu item", with: "Custom page name" - choose "Show as submenu item of" - - select other_wiki_page.slug, from: "parent_wiki_menu_item" click_link_or_button "Save" wait_for_network_idle - # the other page is now the main heading + # the custom name is used as the main heading expect(page) - .to have_css(".main-menu--children-menu-header", text: other_wiki_page.title) + .to have_css(".main-menu--children-menu-header", text: "Custom page name") - expect(page) - .to have_css(".wiki-menu--sub-item", text: "Custom page name") - - find(".wiki-menu--sub-item", text: "Custom page name").click - wait_for_network_idle - - expect(page) - .to have_current_path(project_wiki_path(project, wiki_page)) - - # the submenu item is not visible on top level + # the item is visible on top level + visit(project_wiki_path(project, wiki_page)) find(".main-menu--arrow-left-to-project").click expect(page) - .to have_no_css(".main-item-wrapper", text: "Custom page name") + .to have_css(".main-item-wrapper", text: "Custom page name") # deleting the page will remove the menu item visit project_wiki_path(project, wiki_page)