29 lines
705 B
Ruby
29 lines
705 B
Ruby
|
module Gitlab
|
||
|
module TemplateHelper
|
||
|
include Gitlab::Utils::StrongMemoize
|
||
|
|
||
|
def prepare_template_environment(file)
|
||
|
return unless file
|
||
|
|
||
|
if Gitlab::ImportExport.object_storage?
|
||
|
params[:import_export_upload] = ImportExportUpload.new(import_file: file)
|
||
|
else
|
||
|
FileUtils.mkdir_p(File.dirname(import_upload_path))
|
||
|
FileUtils.copy_entry(file.path, import_upload_path)
|
||
|
|
||
|
params[:import_source] = import_upload_path
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def import_upload_path
|
||
|
strong_memoize(:import_upload_path) do
|
||
|
Gitlab::ImportExport.import_upload_path(filename: tmp_filename)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def tmp_filename
|
||
|
SecureRandom.hex
|
||
|
end
|
||
|
end
|
||
|
end
|