39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'app/models/dhatu/service.rb', line 39
def self.save_row_data(hsh)
error_object = Kuppayam::Importer::ErrorHash.new
return error_object if hsh[:name].to_s.strip.blank?
service = Dhatu::Service.find_by_name(hsh[:name].to_s.strip) || Dhatu::Service.new
service.name = hsh[:name].to_s.strip
service.short_description = hsh[:short_description].to_s.strip
service.generate_permalink
service.description = hsh[:description].to_s.strip
service.price = hsh[:price].to_s.strip
service.duration = hsh[:duration].to_s.strip
service.category = Dhatu::Category.find_by_name(hsh[:category].to_s.strip)
service.status = hsh[:status].to_s.strip.blank? ? PUBLISHED : hsh[:status].to_s.strip
service.featured = hsh[:featured].to_s.strip || true
service.priority = hsh[:priority].to_s.strip || 1
if service.valid?
begin
service.save!
rescue Exception => e
summary = "uncaught #{e} exception while handling connection: #{e.message}"
details = "Stack trace: #{e.backtrace.map {|l| " #{l}\n"}.join}"
error_object.errors << { summary: summary, details: details }
end
else
summary = "Error while saving service: #{service.name}"
details = "Error! #{service.errors.full_messages.to_sentence}"
error_object.errors << { summary: summary, details: details }
end
return error_object
end
|