Commit ea7e701a29d9390deccd4600ff1be6a6e0ef1ec8
1 parent
39fe1dc9
Exists in
master
Fix report job
Showing
1 changed file
with
28 additions
and
29 deletions
Show diff stats
lib/dialoga_plugin/report_job.rb
1 | +require 'csv' | |
1 | 2 | class DialogaPlugin::ReportJob < Struct.new(:profile_id, :report_path) |
2 | 3 | |
3 | 4 | include ActionDispatch::TestProcess |
... | ... | @@ -28,37 +29,35 @@ class DialogaPlugin::ReportJob < Struct.new(:profile_id, :report_path) |
28 | 29 | |
29 | 30 | def create_proposals_report(profile, report_folder) |
30 | 31 | filepath = "/tmp/#{report_path}/propostas.csv" |
31 | - file = File.open(filepath, 'w+') | |
32 | 32 | |
33 | - tasks = ProposalsDiscussionPlugin::ProposalTask.all | |
34 | - count = 0 | |
35 | - header = "'Origem';'Status';'Criada em';'Moderado por';'Data de Moderado';'Validado por';'Data de Validado';'Autor';'Proposta';'Categorias'\n" | |
36 | - file.write(header) | |
37 | - status_translation = { | |
38 | - 1 => 'Pendente de Moderacao', | |
39 | - 2 => 'Rejeitada', | |
40 | - 3 => 'Aprovada', | |
41 | - 5 => 'Pre Aprovada', | |
42 | - 6 => 'Pre Rejeitada', | |
43 | - } | |
44 | - tasks.map do |task| | |
45 | - count += 1 | |
46 | - puts "%s de %s: adicionando task: %s" % [count, tasks.count, task.id ] | |
47 | - info = [] | |
48 | - info.push(task.proposal_source) | |
49 | - info.push(status_translation[task.status]) | |
50 | - info.push(task.created_at.strftime("%d/%m/%y %H:%M")) | |
51 | - info.push(task.proposal_evaluation.present? && task.proposal_evaluation.evaluated_by.present? ? task.proposal_evaluation.evaluated_by.name : '') | |
52 | - info.push(task.proposal_evaluation.present? ? task.proposal_evaluation.created_at.strftime("%d/%m/%y %H:%M") : '') | |
53 | - info.push(task.closed_by.present? ? task.closed_by.name : '') | |
54 | - info.push(task.closed_by.present? ? task.end_date.strftime("%d/%m/%y %H:%M") : '') | |
55 | - info.push(task.requestor.present? ? task.requestor.name : '') | |
56 | - info.push(task.categories.map {|c| c.name}.join(', ')) | |
57 | - file.write(info.map{|i| "'" + i.to_s + "'"}.join(";")) | |
58 | - file.write("\n") | |
33 | + CSV.open(filepath, 'w' ) do |csv| | |
34 | + tasks = ProposalsDiscussionPlugin::ProposalTask.all | |
35 | + count = 0 | |
36 | + csv << ['Origem', 'Status', 'Criada em', 'Moderado por', 'Data de Moderado', 'Validado por', 'Data de Validado', 'Autor', 'Proposta', 'Categorias'] | |
37 | + status_translation = { | |
38 | + 1 => 'Pendente de Moderacao', | |
39 | + 2 => 'Rejeitada', | |
40 | + 3 => 'Aprovada', | |
41 | + 5 => 'Pre Aprovada', | |
42 | + 6 => 'Pre Rejeitada', | |
43 | + } | |
44 | + tasks.map do |task| | |
45 | + count += 1 | |
46 | + puts "%s de %s: adicionando task: %s" % [count, tasks.count, task.id ] | |
47 | + info = [] | |
48 | + info.push(task.proposal_source) | |
49 | + info.push(status_translation[task.status]) | |
50 | + info.push(task.created_at.strftime("%d/%m/%y %H:%M")) | |
51 | + info.push(task.proposal_evaluation.present? && task.proposal_evaluation.evaluated_by.present? ? task.proposal_evaluation.evaluated_by.name : '') | |
52 | + info.push(task.proposal_evaluation.present? ? task.proposal_evaluation.created_at.strftime("%d/%m/%y %H:%M") : '') | |
53 | + info.push(task.closed_by.present? ? task.closed_by.name : '') | |
54 | + info.push(task.closed_by.present? ? task.end_date.strftime("%d/%m/%y %H:%M") : '') | |
55 | + info.push(task.requestor.present? ? task.requestor.name : '') | |
56 | + info.push(task.abstract.present? ? task.abstract.gsub(/\s+/, ' ').strip : '') | |
57 | + info.push(task.categories.map {|c| c.name}.join(' ')) | |
58 | + csv << info | |
59 | + end | |
59 | 60 | end |
60 | - | |
61 | - file.close | |
62 | 61 | upload_file(filepath, profile, report_folder) |
63 | 62 | end |
64 | 63 | ... | ... |