sent_event_report 1.25 KB
#!/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