Handle CSV::MalformedCSVError

This commit is contained in:
adam.harbas@a-net.ba
2015-12-31 15:12:37 +01:00
parent 83022beb5b
commit 3fc4a9edea

View File

@@ -46,33 +46,39 @@ class ItemsController < ApplicationController
@csv_content = params[:csv_content]
@error_message = ""
@output = []
if params[:csv_content] == ""
@error_message = "Format of CSV is wrong (CSV content is empty)"
else
csv_parsed = CSV.parse(params[:csv_content])
csv_file = ItemsHelper::create_csv(csv_parsed)
@output = ""
begin
ENV["INPUT"] = csv_file.path
csv_parsed = CSV.parse(params[:csv_content])
rescue CSV::MalformedCSVError => er
@error_message = "Format of CSV is wrong (#{er.message})"
end
case params[:task]
when 'validate_items'
@output = ItemsHelper::execute_command("rake ribica:validate_items")
#ItemsHelper::execute_command("rake ribica:reindex")
when 'import_items'
@output = ItemsHelper::execute_command("rake ribica:import_items")
#ItemsHelper::execute_command("rake ribica:reindex")
when 'update_prices'
@output = ItemsHelper::execute_command("rake ribica:update_prices")
#ItemsHelper::execute_command("rake ribica:reindex")
else
@error_message = "There is no such task"
unless csv_parsed.nil?
csv_file = ItemsHelper::create_csv(csv_parsed)
begin
ENV["INPUT"] = csv_file.path
case params[:task]
when 'validate_items'
@output = ItemsHelper::execute_command("rake ribica:validate_items")
#ItemsHelper::execute_command("rake ribica:reindex")
when 'import_items'
@output = ItemsHelper::execute_command("rake ribica:import_items")
#ItemsHelper::execute_command("rake ribica:reindex")
when 'update_prices'
@output = ItemsHelper::execute_command("rake ribica:update_prices")
#ItemsHelper::execute_command("rake ribica:reindex")
else
@error_message = "There is no such task"
end
ensure
csv_file.unlink
end
ensure
csv_file.unlink
end
@output = @output.join("<br/>")