12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'app/controllers/railspress/admin/imports_controller.rb', line 12
def create
uploaded_files = Array(import_params[:file]).reject(&:blank?)
if uploaded_files.empty?
redirect_to typed_admin_imports_path(type: import_params[:import_type]),
alert: "Please select at least one file to import."
return
end
import = Import.create!(
import_type: import_params[:import_type],
filename: uploaded_files.size == 1 ? uploaded_files.first.original_filename : "#{uploaded_files.size} files",
content_type: uploaded_files.first.content_type,
status: "pending"
)
file_paths = save_uploaded_files(import, uploaded_files)
ImportPostsJob.perform_later(import.id, file_paths)
redirect_to typed_admin_imports_path(type: import_params[:import_type]),
notice: "Import started. #{uploaded_files.size} file(s) queued for processing."
end
|