From f56474f70a0891226e2f2c34f4372a831dbd8d84 Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Tue, 25 Mar 2025 15:57:10 +0100 Subject: [PATCH 01/19] Migrate "Manifest file import" to Vue --- .../manifest/import_manifest_file_app.vue | 169 ++++++++++++++++++ .../javascripts/import/manifest/index.js | 46 +++++ .../pages/import/manifest/new/index.js | 2 + app/views/import/manifest/new.html.haml | 21 ++- locale/gitlab.pot | 12 ++ 5 files changed, 246 insertions(+), 4 deletions(-) create mode 100644 app/assets/javascripts/import/manifest/import_manifest_file_app.vue create mode 100644 app/assets/javascripts/import/manifest/index.js diff --git a/app/assets/javascripts/import/manifest/import_manifest_file_app.vue b/app/assets/javascripts/import/manifest/import_manifest_file_app.vue new file mode 100644 index 00000000000000..06ecb8a063356a --- /dev/null +++ b/app/assets/javascripts/import/manifest/import_manifest_file_app.vue @@ -0,0 +1,169 @@ + + + diff --git a/app/assets/javascripts/import/manifest/index.js b/app/assets/javascripts/import/manifest/index.js new file mode 100644 index 00000000000000..605e8141ffa865 --- /dev/null +++ b/app/assets/javascripts/import/manifest/index.js @@ -0,0 +1,46 @@ +import Vue from 'vue'; +import ImportManifestFileApp from './import_manifest_file_app.vue'; + +export function initManifestImportProjectForm() { + const el = document.getElementById('js-vue-import-manifest-file-app'); + + if (!el) { + return null; + } + + const { + backButtonPath, + formPath, + namespaceFullPath, + namespaceId, + rootUrl, + trackLabel, + userNamespaceId, + inputId, + inputName, + } = el.dataset; + + const props = { + backButtonPath, + formPath, + }; + + const provide = { + namespaceFullPath, + namespaceId, + rootUrl, + trackLabel, + userNamespaceId, + inputId, + inputName, + }; + + return new Vue({ + el, + name: 'ImportManifestFileRoot', + provide, + render(h) { + return h(ImportManifestFileApp, { props }); + }, + }); +} diff --git a/app/assets/javascripts/pages/import/manifest/new/index.js b/app/assets/javascripts/pages/import/manifest/new/index.js index 0bb70a7364e99b..2fd8669f3002c2 100644 --- a/app/assets/javascripts/pages/import/manifest/new/index.js +++ b/app/assets/javascripts/pages/import/manifest/new/index.js @@ -1,3 +1,5 @@ import { initNewProjectUrlSelect } from '~/projects/new'; +import { initManifestImportProjectForm } from '~/import/manifest'; initNewProjectUrlSelect(); +initManifestImportProjectForm(); diff --git a/app/views/import/manifest/new.html.haml b/app/views/import/manifest/new.html.haml index 25f8723626043d..bc38d365ee26d0 100644 --- a/app/views/import/manifest/new.html.haml +++ b/app/views/import/manifest/new.html.haml @@ -3,8 +3,21 @@ - add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project') -%h1.page-title.gl-text-size-h-display - = _('Manifest file import') +- if Feature.enabled?(:new_project_creation_form, @user) + = render 'import/shared/errors' + - namespace_id = namespace_id_from(params) || current_user.manageable_groups(include_groups_with_developer_access: true)&.first&.id + - namespace_full_path = GroupFinder.new(current_user).execute(id: namespace_id)&.full_path + #js-vue-import-manifest-file-app{ data: { + back_button_path: new_project_path(anchor: 'import_project'), + form_path: upload_import_manifest_path, + namespace_full_path: namespace_full_path, + namespace_id: namespace_id , + input_id: 'group_id', + input_name: 'group_id', + root_url: root_url } } +- else + %h1.page-title.gl-text-size-h-display + = _('Manifest file import') -= render 'import/shared/errors' -= render 'form' + = render 'import/shared/errors' + = render 'form' diff --git a/locale/gitlab.pot b/locale/gitlab.pot index fd2e18e254c26a..08dd468fb9b474 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -35617,9 +35617,18 @@ msgstr "" msgid "Manifest import" msgstr "" +msgid "ManifestImport|Drop your file here or %{linkStart}click to upload%{linkEnd}." +msgstr "" + msgid "ManifestImport|Import manifest files cannot exceed %{size} MB" msgstr "" +msgid "ManifestImport|Please upload a manifest file." +msgstr "" + +msgid "ManifestImport|Unable to upload the file." +msgstr "" + msgid "Manual" msgstr "" @@ -47491,6 +47500,9 @@ msgstr "" msgid "ProjectsNew|Initialize repository with a README" msgstr "" +msgid "ProjectsNew|Manifest file import" +msgstr "" + msgid "ProjectsNew|Might break existing functionality with other repositories or APIs. It's not possible to change SHA-256 repositories back to the default SHA-1 hashing algorithm." msgstr "" -- GitLab From 29dd4d251fb2cc5b73e0ece188d9c1798b3bd45a Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Tue, 25 Mar 2025 18:36:41 +0100 Subject: [PATCH 02/19] Stub FF in specs --- spec/features/import/manifest_import_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/features/import/manifest_import_spec.rb b/spec/features/import/manifest_import_spec.rb index aba38eb0196185..35c25966e878b3 100644 --- a/spec/features/import/manifest_import_spec.rb +++ b/spec/features/import/manifest_import_spec.rb @@ -7,6 +7,7 @@ let(:group) { create(:group) } before do + stub_feature_flags(new_project_creation_form: false) stub_application_setting(import_sources: ['manifest']) sign_in(user) -- GitLab From e8cf167d48b45efcf1858393254bcdc884c0f1ee Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Wed, 26 Mar 2025 11:53:43 +0100 Subject: [PATCH 03/19] Add dropzone and group entity select --- .../manifest/import_manifest_file_app.vue | 196 ++++++++++-------- .../javascripts/import/manifest/index.js | 24 +-- app/controllers/import/manifest_controller.rb | 17 +- app/views/import/manifest/new.html.haml | 2 +- locale/gitlab.pot | 3 + 5 files changed, 134 insertions(+), 108 deletions(-) diff --git a/app/assets/javascripts/import/manifest/import_manifest_file_app.vue b/app/assets/javascripts/import/manifest/import_manifest_file_app.vue index 06ecb8a063356a..84b68406ef5eb5 100644 --- a/app/assets/javascripts/import/manifest/import_manifest_file_app.vue +++ b/app/assets/javascripts/import/manifest/import_manifest_file_app.vue @@ -1,14 +1,15 @@ + + + diff --git a/app/assets/javascripts/import/manifest/index.js b/app/assets/javascripts/import/manifest/index.js index 605e8141ffa865..79f54028a5f9f6 100644 --- a/app/assets/javascripts/import/manifest/index.js +++ b/app/assets/javascripts/import/manifest/index.js @@ -11,34 +11,26 @@ export function initManifestImportProjectForm() { const { backButtonPath, formPath, - namespaceFullPath, + statusImportManifestPath, + // namespaceFullPath, namespaceId, - rootUrl, - trackLabel, - userNamespaceId, - inputId, - inputName, + // rootUrl, + // trackLabel, + // userNamespaceId, + // inputId, + // inputName, } = el.dataset; const props = { backButtonPath, formPath, - }; - - const provide = { - namespaceFullPath, + statusImportManifestPath, namespaceId, - rootUrl, - trackLabel, - userNamespaceId, - inputId, - inputName, }; return new Vue({ el, name: 'ImportManifestFileRoot', - provide, render(h) { return h(ImportManifestFileApp, { props }); }, diff --git a/app/controllers/import/manifest_controller.rb b/app/controllers/import/manifest_controller.rb index 368c40ee37cbad..ac67b1cd0df6b5 100644 --- a/app/controllers/import/manifest_controller.rb +++ b/app/controllers/import/manifest_controller.rb @@ -33,10 +33,23 @@ def upload if manifest.valid? manifest_import_metadata.save(manifest.projects, group.id) - redirect_to status_import_manifest_path + if Feature.enabled?(:new_project_creation_form, current_user) + respond_to do |format| + format.json do + render json: { message: _("Successfully uploaded manifest file.") } + end + end + else + redirect_to status_import_manifest_path + end + elsif Feature.enabled?(:new_project_creation_form, current_user) + respond_to do |format| + format.json do + render json: { errors: manifest.errors }, status: :unprocessable_entity + end + end else @errors = manifest.errors - render :new end end diff --git a/app/views/import/manifest/new.html.haml b/app/views/import/manifest/new.html.haml index bc38d365ee26d0..d4996344baa33d 100644 --- a/app/views/import/manifest/new.html.haml +++ b/app/views/import/manifest/new.html.haml @@ -4,12 +4,12 @@ - if Feature.enabled?(:new_project_creation_form, @user) - = render 'import/shared/errors' - namespace_id = namespace_id_from(params) || current_user.manageable_groups(include_groups_with_developer_access: true)&.first&.id - namespace_full_path = GroupFinder.new(current_user).execute(id: namespace_id)&.full_path #js-vue-import-manifest-file-app{ data: { back_button_path: new_project_path(anchor: 'import_project'), form_path: upload_import_manifest_path, + status_import_manifest_path: status_import_manifest_path, namespace_full_path: namespace_full_path, namespace_id: namespace_id , input_id: 'group_id', diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 08dd468fb9b474..51d88504fc9205 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -58192,6 +58192,9 @@ msgstr "" msgid "Successfully updated %{last_updated_timeago}." msgstr "" +msgid "Successfully uploaded manifest file." +msgstr "" + msgid "Suggest code changes which can be immediately applied in one click. Try it out!" msgstr "" -- GitLab From 27cb527e75925b532693eec4650c8a47157b49b5 Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Thu, 27 Mar 2025 15:43:53 +0100 Subject: [PATCH 04/19] Update controller and specs --- app/controllers/import/manifest_controller.rb | 2 +- .../import/manifest_controller_spec.rb | 75 ++++++++++++++----- 2 files changed, 56 insertions(+), 21 deletions(-) diff --git a/app/controllers/import/manifest_controller.rb b/app/controllers/import/manifest_controller.rb index ac67b1cd0df6b5..68dbf097ee3eb1 100644 --- a/app/controllers/import/manifest_controller.rb +++ b/app/controllers/import/manifest_controller.rb @@ -36,7 +36,7 @@ def upload if Feature.enabled?(:new_project_creation_form, current_user) respond_to do |format| format.json do - render json: { message: _("Successfully uploaded manifest file.") } + render json: { success: true } end end else diff --git a/spec/controllers/import/manifest_controller_spec.rb b/spec/controllers/import/manifest_controller_spec.rb index 97417003a6d324..1ab3299d395d68 100644 --- a/spec/controllers/import/manifest_controller_spec.rb +++ b/spec/controllers/import/manifest_controller_spec.rb @@ -16,7 +16,28 @@ describe 'POST upload' do context 'with a valid manifest' do - it 'saves the manifest and redirects to the status page', :aggregate_failures do + context 'when the feature flag "new_project_creation_form" is not enabled' do + before do + stub_feature_flags(new_project_creation_form: false) + end + + it 'saves the manifest and redirects to the status page', :aggregate_failures do + post :upload, params: { + group_id: group.id, + manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') + } + + metadata = Gitlab::ManifestImport::Metadata.new(user) + + expect(metadata.group_id).to eq(group.id) + expect(metadata.repositories.size).to eq(660) + expect(metadata.repositories.first).to include(name: 'platform/build', path: 'build/make') + + expect(response).to redirect_to(status_import_manifest_path) + end + end + + it 'saves the manifest and responds with 200', :aggregate_failures do post :upload, params: { group_id: group.id, manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') @@ -28,18 +49,26 @@ expect(metadata.repositories.size).to eq(660) expect(metadata.repositories.first).to include(name: 'platform/build', path: 'build/make') - expect(response).to redirect_to(status_import_manifest_path) + # expect(response).to have_gitlab_http_status(:ok) + is_expected.to have_gitlab_http_status(:ok) + # expect(json_response).to eq({ 'success' => true }) end end context 'with an invalid manifest' do - it 'displays an error' do - post :upload, params: { - group_id: group.id, - manifest: fixture_file_upload('spec/fixtures/invalid_manifest.xml') - } - - expect(assigns(:errors)).to be_present + context 'when the feature flag "new_project_creation_form" is not enabled' do + before do + stub_feature_flags(new_project_creation_form: false) + end + + it 'displays an error' do + post :upload, params: { + group_id: group.id, + manifest: fixture_file_upload('spec/fixtures/invalid_manifest.xml') + } + + expect(assigns(:errors)).to be_present + end end end @@ -48,18 +77,24 @@ stub_const("#{described_class}::MAX_MANIFEST_SIZE_IN_MB", 0) end - it 'displays an error' do - post :upload, params: { - group_id: group.id, - manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') - } - - expect(assigns(:errors)).to include( - format( - s_("ManifestImport|Import manifest files cannot exceed %{size} MB"), - size: described_class::MAX_MANIFEST_SIZE_IN_MB + context 'when the feature flag "new_project_creation_form" is not enabled' do + before do + stub_feature_flags(new_project_creation_form: false) + end + + it 'displays an error' do + post :upload, params: { + group_id: group.id, + manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') + } + + expect(assigns(:errors)).to include( + format( + s_("ManifestImport|Import manifest files cannot exceed %{size} MB"), + size: described_class::MAX_MANIFEST_SIZE_IN_MB + ) ) - ) + end end end -- GitLab From e3c14555219961089133c999416e38d56b8cb6f5 Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Thu, 27 Mar 2025 20:15:27 +0100 Subject: [PATCH 05/19] Update PO file --- locale/gitlab.pot | 3 --- 1 file changed, 3 deletions(-) diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 51d88504fc9205..08dd468fb9b474 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -58192,9 +58192,6 @@ msgstr "" msgid "Successfully updated %{last_updated_timeago}." msgstr "" -msgid "Successfully uploaded manifest file." -msgstr "" - msgid "Suggest code changes which can be immediately applied in one click. Try it out!" msgstr "" -- GitLab From 49a2a5e2e8abe3602bf77ec5ddd288a4d749996c Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Fri, 28 Mar 2025 07:09:21 +0100 Subject: [PATCH 06/19] Fix controller and specs --- app/controllers/import/manifest_controller.rb | 32 +++++++------- .../import/manifest_controller_spec.rb | 43 +++++++------------ 2 files changed, 31 insertions(+), 44 deletions(-) diff --git a/app/controllers/import/manifest_controller.rb b/app/controllers/import/manifest_controller.rb index 68dbf097ee3eb1..4695f7d56aae63 100644 --- a/app/controllers/import/manifest_controller.rb +++ b/app/controllers/import/manifest_controller.rb @@ -30,27 +30,25 @@ def upload manifest = Gitlab::ManifestImport::Manifest.new(params[:manifest].tempfile) - if manifest.valid? - manifest_import_metadata.save(manifest.projects, group.id) - - if Feature.enabled?(:new_project_creation_form, current_user) - respond_to do |format| - format.json do - render json: { success: true } - end + manifest_import_metadata.save(manifest.projects, group.id) if manifest.valid? + + respond_to do |format| + format.json do + if manifest.valid? + render json: { success: true } + else + render json: { errors: manifest.errors }, status: :unprocessable_entity end - else - redirect_to status_import_manifest_path end - elsif Feature.enabled?(:new_project_creation_form, current_user) - respond_to do |format| - format.json do - render json: { errors: manifest.errors }, status: :unprocessable_entity + format.html do + if manifest.valid? + redirect_to status_import_manifest_path + else + @errors = manifest.errors + + render :new end end - else - @errors = manifest.errors - render :new end end diff --git a/spec/controllers/import/manifest_controller_spec.rb b/spec/controllers/import/manifest_controller_spec.rb index 1ab3299d395d68..bbc485776e02f3 100644 --- a/spec/controllers/import/manifest_controller_spec.rb +++ b/spec/controllers/import/manifest_controller_spec.rb @@ -16,11 +16,7 @@ describe 'POST upload' do context 'with a valid manifest' do - context 'when the feature flag "new_project_creation_form" is not enabled' do - before do - stub_feature_flags(new_project_creation_form: false) - end - + context 'when format is HTML' do it 'saves the manifest and redirects to the status page', :aggregate_failures do post :upload, params: { group_id: group.id, @@ -37,30 +33,27 @@ end end - it 'saves the manifest and responds with 200', :aggregate_failures do - post :upload, params: { - group_id: group.id, - manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') - } + context 'when format is JSON' do + it 'saves the manifest and responds with 200', :aggregate_failures do + post :upload, format: :json, params: { + group_id: group.id, + manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') + } - metadata = Gitlab::ManifestImport::Metadata.new(user) + metadata = Gitlab::ManifestImport::Metadata.new(user) - expect(metadata.group_id).to eq(group.id) - expect(metadata.repositories.size).to eq(660) - expect(metadata.repositories.first).to include(name: 'platform/build', path: 'build/make') + expect(metadata.group_id).to eq(group.id) + expect(metadata.repositories.size).to eq(660) + expect(metadata.repositories.first).to include(name: 'platform/build', path: 'build/make') - # expect(response).to have_gitlab_http_status(:ok) - is_expected.to have_gitlab_http_status(:ok) - # expect(json_response).to eq({ 'success' => true }) + expect(response).to have_gitlab_http_status(:ok) + expect(json_response).to eq({ 'success' => true }) + end end end context 'with an invalid manifest' do - context 'when the feature flag "new_project_creation_form" is not enabled' do - before do - stub_feature_flags(new_project_creation_form: false) - end - + context 'when format is HTML' do it 'displays an error' do post :upload, params: { group_id: group.id, @@ -77,11 +70,7 @@ stub_const("#{described_class}::MAX_MANIFEST_SIZE_IN_MB", 0) end - context 'when the feature flag "new_project_creation_form" is not enabled' do - before do - stub_feature_flags(new_project_creation_form: false) - end - + context 'when format is HTML' do it 'displays an error' do post :upload, params: { group_id: group.id, -- GitLab From e1d986ebc1fd46b15a32edf12124a4122ab4c4e1 Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Fri, 28 Mar 2025 10:37:37 +0100 Subject: [PATCH 07/19] Error handling for oversized manifest file and updated specs --- app/controllers/import/manifest_controller.rb | 9 +++++- .../import/manifest_controller_spec.rb | 28 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/app/controllers/import/manifest_controller.rb b/app/controllers/import/manifest_controller.rb index 4695f7d56aae63..2255e278c10d10 100644 --- a/app/controllers/import/manifest_controller.rb +++ b/app/controllers/import/manifest_controller.rb @@ -128,6 +128,13 @@ def check_file_size format(s_("ManifestImport|Import manifest files cannot exceed %{size} MB"), size: MAX_MANIFEST_SIZE_IN_MB) ] - render(:new) + respond_to do |format| + format.json do + render json: { errors: @errors }, status: :unprocessable_entity + end + format.html do + render(:new) + end + end end end diff --git a/spec/controllers/import/manifest_controller_spec.rb b/spec/controllers/import/manifest_controller_spec.rb index bbc485776e02f3..5c4b00bf352996 100644 --- a/spec/controllers/import/manifest_controller_spec.rb +++ b/spec/controllers/import/manifest_controller_spec.rb @@ -63,6 +63,18 @@ expect(assigns(:errors)).to be_present end end + + context 'when format is JSON' do + it 'displays an error' do + post :upload, format: :json, params: { + group_id: group.id, + manifest: fixture_file_upload('spec/fixtures/invalid_manifest.xml') + } + + expect(response).to have_gitlab_http_status(:unprocessable_entity) + expect(Gitlab::Json.parse(response.body)['errors']).to be_present + end + end end context 'with an oversized manifest' do @@ -85,6 +97,22 @@ ) end end + + context 'when format is JSON' do + it 'displays an error' do + post :upload, format: :json, params: { + group_id: group.id, + manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') + } + + expect(Gitlab::Json.parse(response.body)['errors']).to include( + format( + s_("ManifestImport|Import manifest files cannot exceed %{size} MB"), + size: described_class::MAX_MANIFEST_SIZE_IN_MB + ) + ) + end + end end context 'when the user cannot import projects in the group' do -- GitLab From eeb6be8037a2044e192759a6f43cc49f07f4aae3 Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Fri, 28 Mar 2025 15:38:48 +0100 Subject: [PATCH 08/19] More error handling and spec updates --- app/controllers/import/manifest_controller.rb | 11 ++++++- .../import/manifest_controller_spec.rb | 31 ++++++++++++++----- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/app/controllers/import/manifest_controller.rb b/app/controllers/import/manifest_controller.rb index 2255e278c10d10..33ba512da0da5c 100644 --- a/app/controllers/import/manifest_controller.rb +++ b/app/controllers/import/manifest_controller.rb @@ -25,7 +25,16 @@ def upload unless can?(current_user, :import_projects, group) @errors = ["You don't have enough permissions to import projects in the selected group"] - render(:new) && return + respond_to do |format| + format.json do + render json: { errors: @errors }, status: :unprocessable_entity + end + format.html do + render(:new) + end + end + + return end manifest = Gitlab::ManifestImport::Manifest.new(params[:manifest].tempfile) diff --git a/spec/controllers/import/manifest_controller_spec.rb b/spec/controllers/import/manifest_controller_spec.rb index 5c4b00bf352996..0679214fb2d8f8 100644 --- a/spec/controllers/import/manifest_controller_spec.rb +++ b/spec/controllers/import/manifest_controller_spec.rb @@ -116,15 +116,32 @@ end context 'when the user cannot import projects in the group' do - it 'displays an error' do - sign_in(create(:user)) + context 'when format is HTML' do + it 'displays an error' do + sign_in(create(:user)) - post :upload, params: { - group_id: group.id, - manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') - } + post :upload, params: { + group_id: group.id, + manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') + } - expect(assigns(:errors)).to be_present + expect(assigns(:errors)).to be_present + end + end + + context 'when format is JSON' do + it 'displays an error' do + sign_in(create(:user)) + + post :upload, format: :json, params: { + group_id: group.id, + manifest: fixture_file_upload('spec/fixtures/aosp_manifest.xml') + } + + expect(Gitlab::Json.parse(response.body)['errors']).to include( + _("You don't have enough permissions to import projects in the selected group") + ) + end end end end -- GitLab From fa1e8ab55fb79a18c37ab81d6c3dd8e85c235c43 Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Fri, 28 Mar 2025 16:08:42 +0100 Subject: [PATCH 09/19] Remove unused attributes --- app/assets/javascripts/import/manifest/index.js | 13 +------------ app/views/import/manifest/new.html.haml | 7 +------ 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/app/assets/javascripts/import/manifest/index.js b/app/assets/javascripts/import/manifest/index.js index 79f54028a5f9f6..64c843b9892610 100644 --- a/app/assets/javascripts/import/manifest/index.js +++ b/app/assets/javascripts/import/manifest/index.js @@ -8,18 +8,7 @@ export function initManifestImportProjectForm() { return null; } - const { - backButtonPath, - formPath, - statusImportManifestPath, - // namespaceFullPath, - namespaceId, - // rootUrl, - // trackLabel, - // userNamespaceId, - // inputId, - // inputName, - } = el.dataset; + const { backButtonPath, formPath, statusImportManifestPath, namespaceId } = el.dataset; const props = { backButtonPath, diff --git a/app/views/import/manifest/new.html.haml b/app/views/import/manifest/new.html.haml index d4996344baa33d..a07d5318a61a60 100644 --- a/app/views/import/manifest/new.html.haml +++ b/app/views/import/manifest/new.html.haml @@ -5,16 +5,11 @@ - if Feature.enabled?(:new_project_creation_form, @user) - namespace_id = namespace_id_from(params) || current_user.manageable_groups(include_groups_with_developer_access: true)&.first&.id - - namespace_full_path = GroupFinder.new(current_user).execute(id: namespace_id)&.full_path #js-vue-import-manifest-file-app{ data: { back_button_path: new_project_path(anchor: 'import_project'), form_path: upload_import_manifest_path, status_import_manifest_path: status_import_manifest_path, - namespace_full_path: namespace_full_path, - namespace_id: namespace_id , - input_id: 'group_id', - input_name: 'group_id', - root_url: root_url } } + namespace_id: namespace_id } } - else %h1.page-title.gl-text-size-h-display = _('Manifest file import') -- GitLab From f547ee98733111322b5ab52f1a3b5082baf108c2 Mon Sep 17 00:00:00 2001 From: Martin Wortschack Date: Mon, 31 Mar 2025 11:31:35 +0200 Subject: [PATCH 10/19] Clean up and error handling --- .../manifest/import_manifest_file_app.vue | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/assets/javascripts/import/manifest/import_manifest_file_app.vue b/app/assets/javascripts/import/manifest/import_manifest_file_app.vue index 84b68406ef5eb5..fed34d5bf07541 100644 --- a/app/assets/javascripts/import/manifest/import_manifest_file_app.vue +++ b/app/assets/javascripts/import/manifest/import_manifest_file_app.vue @@ -1,12 +1,11 @@