From ec28cdc739d694f2f05af25c6f8ba7a50e25fe98 Mon Sep 17 00:00:00 2001 From: Peter Hegman Date: Thu, 13 Nov 2025 10:59:39 -0800 Subject: [PATCH] Pass base_path to frontend for admin groups/projects So we can use it for frontend routing --- app/helpers/admin/groups_helper.rb | 11 +++++++++++ app/helpers/admin/projects_helper.rb | 3 ++- app/views/admin/groups/index.html.haml | 2 +- spec/helpers/admin/groups_helper_spec.rb | 15 +++++++++++++++ spec/helpers/admin/projects_helper_spec.rb | 5 +++-- 5 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 app/helpers/admin/groups_helper.rb create mode 100644 spec/helpers/admin/groups_helper_spec.rb diff --git a/app/helpers/admin/groups_helper.rb b/app/helpers/admin/groups_helper.rb new file mode 100644 index 00000000000000..0cdf6f0b32cd04 --- /dev/null +++ b/app/helpers/admin/groups_helper.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Admin + module GroupsHelper + def admin_groups_app_data + { + base_path: admin_groups_path + }.to_json + end + end +end diff --git a/app/helpers/admin/projects_helper.rb b/app/helpers/admin/projects_helper.rb index 7120326fe4a497..0e623cbbf2cd15 100644 --- a/app/helpers/admin/projects_helper.rb +++ b/app/helpers/admin/projects_helper.rb @@ -4,7 +4,8 @@ module Admin module ProjectsHelper def admin_projects_app_data { - programming_languages: programming_languages + programming_languages: programming_languages, + base_path: admin_projects_path }.to_json end end diff --git a/app/views/admin/groups/index.html.haml b/app/views/admin/groups/index.html.haml index 5f84f4bc6efa54..8f87c015527b2c 100644 --- a/app/views/admin/groups/index.html.haml +++ b/app/views/admin/groups/index.html.haml @@ -8,7 +8,7 @@ = _('New group') - if Feature.enabled?(:admin_groups_vue, current_user) - #js-admin-groups-app + #js-admin-groups-app{ data: { app_data: admin_groups_app_data } } - else #js-admin-groups-filtered-search-and-sort -# This element takes up space while Vue is rendering to avoid page jump diff --git a/spec/helpers/admin/groups_helper_spec.rb b/spec/helpers/admin/groups_helper_spec.rb new file mode 100644 index 00000000000000..cfd07bf055863b --- /dev/null +++ b/spec/helpers/admin/groups_helper_spec.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Admin::GroupsHelper, feature_category: :groups_and_projects do + describe '#admin_groups_app_data' do + it 'returns expected json' do + expect(Gitlab::Json.parse(helper.admin_groups_app_data)).to eq( + { + 'base_path' => '/admin/groups' + } + ) + end + end +end diff --git a/spec/helpers/admin/projects_helper_spec.rb b/spec/helpers/admin/projects_helper_spec.rb index ae3e0dea040bcd..6b80fa1d5edb0a 100644 --- a/spec/helpers/admin/projects_helper_spec.rb +++ b/spec/helpers/admin/projects_helper_spec.rb @@ -2,12 +2,13 @@ require 'spec_helper' -RSpec.describe ProjectsHelper, feature_category: :groups_and_projects do +RSpec.describe Admin::ProjectsHelper, feature_category: :groups_and_projects do describe '#admin_projects_app_data' do it 'returns expected json' do expect(Gitlab::Json.parse(helper.admin_projects_app_data)).to eq( { - 'programming_languages' => ProgrammingLanguage.most_popular + 'programming_languages' => ProgrammingLanguage.most_popular, + 'base_path' => '/admin/projects' } ) end -- GitLab