summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2016-07-07 15:50:03 +0000
committerRobert Speicher <robert@gitlab.com>2016-07-07 15:50:03 +0000
commit062c7a30742d617d8d0939c3bb6ba733919fe00b (patch)
treec83f010665aa19237b9fa3de7e393231a82b1b19
parent3c89a788c795fba2b050a0af0d8261e302d8cded (diff)
parentf67984626b7422e6a110d343860f1079243dab07 (diff)
downloadgitlab-ce-062c7a30742d617d8d0939c3bb6ba733919fe00b.tar.gz
Merge branch 'fix/import-controller-error' into 'master'
Fixes 404 redirect after validation fails importing a project Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/19558 See merge request !5143
-rw-r--r--CHANGELOG1
-rw-r--r--app/controllers/import/gitlab_projects_controller.rb5
-rw-r--r--spec/features/projects/import_export/import_file_spec.rb17
3 files changed, 19 insertions, 4 deletions
diff --git a/CHANGELOG b/CHANGELOG
index bc9bb7747a4..937aefefd99 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -48,6 +48,7 @@ v 8.10.0 (unreleased)
- Allow '?', or '&' for label names
- Fix importer for GitHub Pull Requests when a branch was reused across Pull Requests
- Add date when user joined the team on the member page
+ - Fix 404 redirect after validation fails importing a GitLab project
v 8.9.5
- Add more debug info to import/export and memory killer. !5108
diff --git a/app/controllers/import/gitlab_projects_controller.rb b/app/controllers/import/gitlab_projects_controller.rb
index 513348c39af..30df1fb2fec 100644
--- a/app/controllers/import/gitlab_projects_controller.rb
+++ b/app/controllers/import/gitlab_projects_controller.rb
@@ -27,10 +27,7 @@ class Import::GitlabProjectsController < Import::BaseController
notice: "Project '#{@project.name}' is being imported."
)
else
- redirect_to(
- new_import_gitlab_project_path,
- alert: "Project could not be imported: #{@project.errors.full_messages.join(', ')}"
- )
+ redirect_back_or_default(options: { alert: "Project could not be imported: #{@project.errors.full_messages.join(', ')}" })
end
end
diff --git a/spec/features/projects/import_export/import_file_spec.rb b/spec/features/projects/import_export/import_file_spec.rb
index 9d66f76ef58..bc3bf53fe9d 100644
--- a/spec/features/projects/import_export/import_file_spec.rb
+++ b/spec/features/projects/import_export/import_file_spec.rb
@@ -42,6 +42,23 @@ feature 'project import', feature: true, js: true do
expect(project.import_status).to eq('finished')
end
+ scenario 'invalid project' do
+ project = create(:project, namespace_id: 2)
+
+ visit new_project_path
+
+ select2('2', from: '#project_namespace_id')
+ fill_in :project_path, with: project.name, visible: true
+ click_link 'GitLab export'
+
+ attach_file('file', file)
+ click_on 'Import project'
+
+ page.within('.flash-container') do
+ expect(page).to have_content('Project could not be imported')
+ end
+ end
+
def wiki_exists?
wiki = ProjectWiki.new(project)
File.exist?(wiki.repository.path_to_repo) && !wiki.repository.empty?