sent_event_report
1.25 KB
1
2
3
4
5
6
7
8
9
10
11
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
#!/usr/bin/env ruby
# encoding: UTF-8
include ActionDispatch::TestProcess
puts 'Iniciando script eventos'
filebasepath = '/tmp/'
dialoga = Community['dialoga']
root_report_folder = dialoga.folders.where(:slug => 'relatorios').first
root_report_folder ||= Folder.create!(:profile => dialoga, :name => 'Relatorios')
report_folder = Folder.find_by_slug(DateTime.now.strftime('%Y-%m-%d'))
report_folder ||= Folder.create!(:profile => dialoga, :name => DateTime.now.strftime('%Y-%m-%d'), :parent => root_report_folder)
events = Event.all
events.map do |event|
filepath = filebasepath + DateTime.now.strftime('%Y-%m-%d-%H-%m-%S') + '-' + event.slug
file = File.open(File.join(filepath), 'w+')
file.write(event.name+ "\n")
header = "'Nome';'Email'\n"
file.write(header)
count = 0
event.person_followers.map do |person|
count += 1
puts "%s de %s: adicionando evento: %s" % [count, event.person_followers.count, event.id ]
info = []
info.push(person.name)
info.push(person.email)
file.write(info.map{|i| "'" + i.to_s + "'"}.join(";"))
file.write("\n")
end
file.close
uploaded_file = UploadedFile.new(:uploaded_data => fixture_file_upload(filepath, 'text/csv'), :profile => dialoga, :parent => report_folder)
uploaded_file.save
end