diff options
author | James Lopez <james@gitlab.com> | 2018-09-17 13:52:49 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-09-17 13:52:49 +0300 |
commit | e72aeccdae4cdb35c3ab4941bcf3b4f0dd22d41b (patch) | |
tree | d06cf884ca34caed2fba77743b931ea6f521e14c /app | |
parent | 78b3eea7d248c6d3c48b615c9df24a95cb5fd1d8 (diff) |
Resolve "Unable to import repository: undefined method `import_file' for nil:NilClass"
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/import/gitlab_projects_controller.rb | 8 | ||||
-rw-r--r-- | app/controllers/projects_controller.rb | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/app/controllers/import/gitlab_projects_controller.rb b/app/controllers/import/gitlab_projects_controller.rb index f22df992fe9..f21c38a4c27 100644 --- a/app/controllers/import/gitlab_projects_controller.rb +++ b/app/controllers/import/gitlab_projects_controller.rb @@ -11,7 +11,7 @@ class Import::GitlabProjectsController < Import::BaseController def create unless file_is_valid? - return redirect_back_or_default(options: { alert: "You need to upload a GitLab project export archive." }) + return redirect_back_or_default(options: { alert: "You need to upload a GitLab project export archive (ending in .gz)." }) end @project = ::Projects::GitlabProjectsImportService.new(current_user, project_params).execute @@ -29,7 +29,11 @@ class Import::GitlabProjectsController < Import::BaseController private def file_is_valid? - project_params[:file] && project_params[:file].respond_to?(:read) + return false unless project_params[:file] && project_params[:file].respond_to?(:read) + + filename = project_params[:file].original_filename + + ImportExportUploader::EXTENSION_WHITELIST.include?(File.extname(filename).delete('.')) end def verify_gitlab_project_import_enabled diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index e2f9d501c4b..64d9b16a041 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -196,7 +196,7 @@ class ProjectsController < Projects::ApplicationController def download_export if @project.export_file_exists? - send_upload(@project.export_file) + send_upload(@project.export_file, attachment: @project.export_file.filename) else redirect_to( edit_project_path(@project, anchor: 'js-export-project'), |