sent_proposal_report
1.8 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment'
require 'net/smtp'
mails = ['leandronunes@gmail.com', 'leandro.santos@serpro.gov.br']
puts 'Iniciando script'
file = File.open('data.csv', 'w+')
#articles = ProposalsDiscussionPlugin::Proposal.all
tasks = ProposalsDiscussionPlugin::ProposalTask.all
count = 0
header = "'Origem';'Status';'Criada em';'Moderado por';'Data de Moderado';'Validado por';'Data de Validado';'Autor';'Proposta'\n"
file.write(header)
STATUS_TRANSLATION = {
1 => 'Pendente de Moderacao',
2 => 'Rejeitada',
3 => 'Aprovada',
5 => 'Pre Aprovada',
6 => 'Pre Rejeitada',
}
tasks.map do |task|
count += 1
puts "%s de %s: adicionando task: %s" % [count, tasks.count, task.id ]
info = []
info.push(task.proposal_source)
info.push(STATUS_TRANSLATION[task.status])
info.push(task.created_at.strftime("%d/%m/%y %H:%M"))
info.push(task.proposal_evaluation.present? ? task.proposal_evaluation.evaluated_by.name : '')
info.push(task.proposal_evaluation.present? ? task.proposal_evaluation.created_at.strftime("%d/%m/%y %H:%M") : '')
info.push(task.closed_by.present? ? task.closed_by.name : '')
info.push(task.closed_by.present? ? task.end_date.strftime("%d/%m/%y %H:%M") : '')
info.push(task.requestor.present? ? task.requestor.name : '')
info.push(task.abstract.present? ? task.abstract.gsub(/\s+/, ' ').strip : '')
file.write(info.map{|i| "'" + i.to_s + "'"}.join(";"))
file.write("\n")
end
file.close
message = <<MESSAGE_END
From: Relatorio Dialoga <relatorio@dialoga.gov.br>
To: Leandro <leandronunes@gmail.com>
Subject: Relatorio do Dialoga
Segue em anexo o relatorio do Dialoga.
MESSAGE_END
Net::SMTP.start('localhost') do |smtp|
smtp.send_message message, 'leandronunes@gmail.com',
'leandro.santos@serpro.gov.br'
end