summaryrefslogtreecommitdiff
path: root/app/services
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-02-14 12:38:51 +0000
committerDouwe Maan <douwe@gitlab.com>2018-02-14 12:38:51 +0000
commit44dc11f12e95e4968d51669d6d033f5ba795122e (patch)
tree7d6ac30749fb282aa816d3f1af9b2e241b6773f9 /app/services
parent12447f12e0ec7bb026b385fc0695bcdca101ad61 (diff)
parentb5db95624d8e0bc8c60d3ce82ef0bd8619c6064f (diff)
downloadgitlab-ce-44dc11f12e95e4968d51669d6d033f5ba795122e.tar.gz
Merge branch 'fix/template-project-visibility' into 'master'
Respect description and visibility when creating project from template Closes #42601 See merge request gitlab-org/gitlab-ce!16820
Diffstat (limited to 'app/services')
-rw-r--r--app/services/projects/create_from_template_service.rb10
-rw-r--r--app/services/projects/gitlab_projects_import_service.rb14
2 files changed, 13 insertions, 11 deletions
diff --git a/app/services/projects/create_from_template_service.rb b/app/services/projects/create_from_template_service.rb
index 87d9ed7a0e6..a549cfbabea 100644
--- a/app/services/projects/create_from_template_service.rb
+++ b/app/services/projects/create_from_template_service.rb
@@ -5,11 +5,15 @@ module Projects
end
def execute
- params[:file] = Gitlab::ProjectTemplate.find(params[:template_name]).file
+ template_name = params.delete(:template_name)
+ file = Gitlab::ProjectTemplate.find(template_name).file
+
+ params[:file] = file
+
+ GitlabProjectsImportService.new(current_user, params).execute
- GitlabProjectsImportService.new(@current_user, @params).execute
ensure
- params[:file]&.close
+ file&.close
end
end
end
diff --git a/app/services/projects/gitlab_projects_import_service.rb b/app/services/projects/gitlab_projects_import_service.rb
index a3d7f5cbed5..a68ecb4abe1 100644
--- a/app/services/projects/gitlab_projects_import_service.rb
+++ b/app/services/projects/gitlab_projects_import_service.rb
@@ -11,12 +11,14 @@ module Projects
def execute
FileUtils.mkdir_p(File.dirname(import_upload_path))
+
+ file = params.delete(:file)
FileUtils.copy_entry(file.path, import_upload_path)
- Gitlab::ImportExport::ProjectCreator.new(params[:namespace_id],
- current_user,
- import_upload_path,
- params[:path]).execute
+ params[:import_type] = 'gitlab_project'
+ params[:import_source] = import_upload_path
+
+ ::Projects::CreateService.new(current_user, params).execute
end
private
@@ -28,9 +30,5 @@ module Projects
def tmp_filename
SecureRandom.hex
end
-
- def file
- params[:file]
- end
end
end