47 lines
1.3 KiB
Ruby
47 lines
1.3 KiB
Ruby
require 'json'
|
|
|
|
class ImportMailer < ActionMailer::Base
|
|
default from: Cartodb.get_config(:mailer, 'from')
|
|
layout 'mail'
|
|
|
|
def data_import_finished(user, imported_tables, total_tables, first_imported_table, first_table, errors, filenames)
|
|
@errors = errors
|
|
@imported_tables = imported_tables
|
|
@total_tables = total_tables
|
|
@subject = set_subject
|
|
@first_table = first_imported_table.nil? ? first_table : first_imported_table
|
|
@username = user.username
|
|
@files = filenames || []
|
|
@dataset_name = (@first_table && @first_table['name'].present?) ? @first_table['name'] : @files.first
|
|
@link = if first_imported_table.nil?
|
|
"#{user.public_url}#{CartoDB.path(self, 'tables_index')}"
|
|
else
|
|
"#{user.public_url}#{CartoDB.path(self, 'public_tables_show', id: @dataset_name)}"
|
|
end
|
|
|
|
mail :to => user.email,
|
|
:subject => @subject
|
|
end
|
|
|
|
private
|
|
|
|
def set_subject
|
|
if @total_tables == 1
|
|
if @errors.nil?
|
|
subject = "Your dataset import just finished"
|
|
else
|
|
subject = "There was some error while importing your dataset"
|
|
end
|
|
else
|
|
if @imported_tables == 0
|
|
subject = "There was some error while importing your datasets"
|
|
else
|
|
subject = "Your datasets import just finished"
|
|
end
|
|
end
|
|
|
|
subject
|
|
end
|
|
|
|
end
|