From 64afab253c5f3720c1cd202d5b91651b8e2aa3b8 Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 15:27:47 -0200 Subject: [PATCH 01/11] =?UTF-8?q?Ticket=5Fid=20#52283=20-=20seed=20n=C3=A3?= =?UTF-8?q?o=20exlcui=20mais=20relat=C3=B3rios=20ja=20existentes.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/ac_filters_utils.rb | 4 +- ...07172133_add_excluir_to_report_template.rb | 10 +++++ lib/prawn_report_seeds.rb | 41 +++++++++++++++---- 3 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 lib/generators/prawn_report/install/templates/20131107172133_add_excluir_to_report_template.rb diff --git a/lib/ac_filters_utils.rb b/lib/ac_filters_utils.rb index 0aded3d..5112d00 100644 --- a/lib/ac_filters_utils.rb +++ b/lib/ac_filters_utils.rb @@ -173,7 +173,9 @@ def apply_ac_filter(parsed_filter, system_params) if filter_def.has_sql_query? sql_to_execute = ActiveRecord::Base.send(:sanitize_sql_array, conditions) r = [] - ActiveRecord::Base.connection.instance_exec(sql_to_execute).each(:as => :hash) {|i| r << i} + #ActiveRecord::Base.connection.instance_exec(sql_to_execute).each(:as => :hash) {|i| r << i} + # Ticket_id: 52283 - Seed não exclui mais relatórios existentes + ActiveRecord::Base.connection.instance_exec(sql_to_execute).each(as :hash) {|i| r << i} else find_params[:select] = filter_def.select_sql.to_s unless filter_def.select_sql.nil? find_params[:order] = filter_def.order_sql.to_s unless filter_def.order_sql.nil? diff --git a/lib/generators/prawn_report/install/templates/20131107172133_add_excluir_to_report_template.rb b/lib/generators/prawn_report/install/templates/20131107172133_add_excluir_to_report_template.rb new file mode 100644 index 0000000..9171193 --- /dev/null +++ b/lib/generators/prawn_report/install/templates/20131107172133_add_excluir_to_report_template.rb @@ -0,0 +1,10 @@ +class AddExcluirToReportTemplate < ActiveRecord::Migration + def self.up + add_column :report_templates, :excluir, :boolean + end + + def self.down + remove_column :report_templates, :excluir + end +end + diff --git a/lib/prawn_report_seeds.rb b/lib/prawn_report_seeds.rb index c53496b..8fdd966 100644 --- a/lib/prawn_report_seeds.rb +++ b/lib/prawn_report_seeds.rb @@ -3,7 +3,9 @@ require 'yaml' -ReportTemplate.delete_all +#ReportTemplate.delete_all +# Ticket_id #52283 - seed não exlcui mais relatórios ja existentes. +ReportTemplate.update_all({:ac_filter_def_id => nil, :excluir => true}) AcFilterOption.delete_all AcFilter.delete_all AcFilterDef.delete_all @@ -20,14 +22,37 @@ Dir.glob("#{Rails.root}/db/reports/*.yml").each do |f| puts "Parsing file: #{f}" params = YAML::load(File.open(f, 'r')) - if params["filter_name"] - f = AcFilterDef.find_by_name(params.delete("filter_name")) - if f - params["ac_filter_def_id"] = f.id +# if params["filter_name"] +# f = AcFilterDef.find_by_name(params.delete("filter_name")) +# if f +# params["ac_filter_def_id"] = f.id + r = ReportTemplate.find_by_name(params["name"]) + if r.nil? + if params["filter_name"] + f = AcFilterDef.find_by_name(params.delete("filter_name")) + if f + params["ac_filter_def_id"] = f.id + end + end + params["excluir"] = false + ReportTemplate.create(params) + puts "Criado relatório: " + params["name"] + else + if params["filter_name"] + f = AcFilterDef.find_by_name(params.delete("filter_name")) + if f + params["ac_filter_def_id"] = f.id + end + end + params["excluir"] = false + r.update_attributes(params) + puts "Atualizado relatório: " + params["name"] end end - ReportTemplate.create(params) - puts "Criado relatório: " + params["name"] + #ReportTemplate.create(params) + #puts "Criado relatório: " + params["name"] end -puts "FIM" +#puts "FIM" +ReportTemplate.delete_all(:excluir => true) +puts "finishing, closing, and going home" From 2bd352f59248f69f50bf4b692189761d4aee4e43 Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 15:29:58 -0200 Subject: [PATCH 02/11] Ticket_id #52283 - Destroy, para chamar evento... --- lib/prawn_report_seeds.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/prawn_report_seeds.rb b/lib/prawn_report_seeds.rb index 8fdd966..8b24711 100644 --- a/lib/prawn_report_seeds.rb +++ b/lib/prawn_report_seeds.rb @@ -53,6 +53,7 @@ #puts "Criado relatório: " + params["name"] end #puts "FIM" -ReportTemplate.delete_all(:excluir => true) +#ReportTemplate.delete_all(:excluir => true) +ReportTemplate.destroy_all(:excluir => true) puts "finishing, closing, and going home" From ba6536ed99611282b577b5b246a24211ae35313a Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 15:36:31 -0200 Subject: [PATCH 03/11] Ticket_id #52283 - Tratamento de nulidade --- app/models/report_template.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/models/report_template.rb b/app/models/report_template.rb index cc670d2..004a317 100644 --- a/app/models/report_template.rb +++ b/app/models/report_template.rb @@ -13,7 +13,12 @@ def serialization_params=(value) def serialization_params value = read_attribute :serialization_params - value.nil? ? {} : Marshal.load(value) + #value.nil? ? {} : Marshal.load(value) + begin + value.nil? ? {} : Marshal.load(value) + rescue TypeError + + end end end From 97ef69d00e44c15334ee24b98de0270923f6eae9 Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 15:39:17 -0200 Subject: [PATCH 04/11] Ticket_id #52283 - Bubstituido o marshal pelo yaml --- app/models/report_template.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/models/report_template.rb b/app/models/report_template.rb index 004a317..326854e 100644 --- a/app/models/report_template.rb +++ b/app/models/report_template.rb @@ -1,3 +1,5 @@ +require 'yaml' + class ReportTemplate < ActiveRecord::Base belongs_to :ac_filter_def @@ -15,7 +17,8 @@ def serialization_params value = read_attribute :serialization_params #value.nil? ? {} : Marshal.load(value) begin - value.nil? ? {} : Marshal.load(value) + #value.nil? ? {} : Marshal.load(value) + value.nil? ? {} : YAML.load(value) rescue TypeError end From da6cbe3cd8e66965e7b34e77e4e493a5bf18c85e Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 15:42:33 -0200 Subject: [PATCH 05/11] =?UTF-8?q?Ticket=5Fid=20#52283=20-=20new=20page=20?= =?UTF-8?q?=C3=A9=20chamado=20de=20cabe=C3=A7alhos,=20rodap=C3=A9s=20e=20a?= =?UTF-8?q?grupamentos.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- repo/reports/simple_listing.rb | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/repo/reports/simple_listing.rb b/repo/reports/simple_listing.rb index fb5dbce..bc9477f 100644 --- a/repo/reports/simple_listing.rb +++ b/repo/reports/simple_listing.rb @@ -72,6 +72,13 @@ def initialize(report_params = {}) :groups_running => false} end + def new_page(print_titles = true) + super(print_titles) + draw_group_header if grouped? and @report_params[:group][:header_reprint_new_page] and !last_group_summary? + if print_titles + draw_column_titles unless (!draw_group_column_titles? && !@printing_internal) || last_group_summary? + end + end protected @@ -106,14 +113,6 @@ def last_group_summary? @data_end end - def new_page(print_titles = true) - super(print_titles) - draw_group_header if grouped? and @report_params[:group][:header_reprint_new_page] and !last_group_summary? - if print_titles - draw_column_titles unless (!draw_group_column_titles? && !@printing_internal) || last_group_summary? - end - end - def before_draw_lines super draw_column_titles unless draw_group_column_titles? From 774470221ffcb53f6fa34dfd31476f5feefb9cb1 Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 15:43:34 -0200 Subject: [PATCH 06/11] =?UTF-8?q?Ticket=5Fid=20#52283=20-=20YAML=20s=C3=B3?= =?UTF-8?q?=20=C3=A9=20o=20serializador=20padr=C3=A3o=20a=20partir=20do=20?= =?UTF-8?q?rails=203.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/report_template.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/report_template.rb b/app/models/report_template.rb index 326854e..234770d 100644 --- a/app/models/report_template.rb +++ b/app/models/report_template.rb @@ -17,8 +17,8 @@ def serialization_params value = read_attribute :serialization_params #value.nil? ? {} : Marshal.load(value) begin - #value.nil? ? {} : Marshal.load(value) - value.nil? ? {} : YAML.load(value) + value.nil? ? {} : Marshal.load(value) + #value.nil? ? {} : YAML.load(value) rescue TypeError end From c822c9cc27e78f5c8e49fe26b0b3d4267e288a01 Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 15:44:15 -0200 Subject: [PATCH 07/11] =?UTF-8?q?Ticket=5FID:=20#22060=20-=20Erro=20nos=20?= =?UTF-8?q?relat=C3=B3rios=20chamando=20super=5Fnew=5Fpage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- repo/reports/listing.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo/reports/listing.rb b/repo/reports/listing.rb index 000c3ea..659aafd 100644 --- a/repo/reports/listing.rb +++ b/repo/reports/listing.rb @@ -9,7 +9,7 @@ module PrawnReport class Listing < Report - #alias :super_new_page :new_page + alias :super_new_page :new_page def initialize(report_params = {}) super(report_params) From 548ed458cb3589750f60c3b274335287d36ccbe5 Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 15:45:32 -0200 Subject: [PATCH 08/11] Ticket_ID: #51605 - Erro conversao de tipo --- lib/report.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/report.rb b/lib/report.rb index 37751c9..b7810b7 100644 --- a/lib/report.rb +++ b/lib/report.rb @@ -159,6 +159,7 @@ def second_pass def run_totals(data_row) @running_totals.each do |rt| vl = get_raw_field_value(data_row, rt) + vl = (vl.is_a? (String) ? vl.to_f : vl) @totals[rt] = (@totals[rt] || 0) + (vl == '' ? 0 : vl) @group_totals[rt] = (@group_totals[rt] || 0) + (vl == '' ? 0 : vl) end From e64f58362c15a2c3ce55d1fa5db56c7c31131023 Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 15:55:41 -0200 Subject: [PATCH 09/11] =?UTF-8?q?Ticket=5Fid=20#52283=20-=20Ajuste=20no=20?= =?UTF-8?q?gemspec,=20corre=C3=A7=C3=A3o=20sintaxe=20e=20especifica=C3=A7?= =?UTF-8?q?=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- prawn_report.gemspec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/prawn_report.gemspec b/prawn_report.gemspec index b67612a..ee9cd1e 100644 --- a/prawn_report.gemspec +++ b/prawn_report.gemspec @@ -1,9 +1,10 @@ Gem::Specification.new do |s| s.name = %q{prawn_report} - s.version = "1.9.17" - s.date = %q{2015-09-14} - s.authors = ["Ricardo Acras" "Egon Hilgenstieler" "Juliano Andrade" "Vinicius Cubas Brand"] - s.email = %q{ricardo@acras.com.br julianoch@gmail.com egon@acras.com.br viniciuscb@gmail.com} + s.version = "1.9.21" + s.date = %q{2016-11-23} + s.authors = ["Ricardo Acras", "Egon Hilgenstieler", "Juliano Andrade", "Vinicius Cubas Brand", "Wellington Torrejais da Silva"] + s.email = 'ricardo@acras.com.br' + s.email = %q{ricardo@acras.com.br julianoch@gmail.com egon@acras.com.br viniciuscb@gmail.com wtds.trabalho@gmail.com desenv2@labplus.com.br} s.summary = %q{Prawn Report makes it easy to create PDF reports.} s.homepage = %q{http://www.acras.com.br/} s.description = %q{Prawn report is a class repository wich uses prawn gem capabilities to generate PDF documents in order to make it easy to create real life reports.} From f4c23a193180c3916e18dc43aaae063dc5ef8181 Mon Sep 17 00:00:00 2001 From: Wellington Date: Wed, 23 Nov 2016 16:55:33 -0200 Subject: [PATCH 10/11] =?UTF-8?q?Ticket=5Fid=20#52283=20-=20Ajuste=20incom?= =?UTF-8?q?patibilidade=20com=20vers=C3=B5es=20antigas=20do=20Framework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/report_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/report_helpers.rb b/lib/report_helpers.rb index 5005682..e160a38 100644 --- a/lib/report_helpers.rb +++ b/lib/report_helpers.rb @@ -53,7 +53,7 @@ def line_break(size = TEXT_SIZE) def format(value, formatter, options = {}) if !value.nil? && value != '' if (formatter == :currency) - value = value.round(2) + value = value.round(2) rescue sprintf('%.2f', value).to_f if value < 0 '-'+((value.to_i*-1).to_s.reverse.gsub(/...(?=.)/,'\&.').reverse) + ',' + ('%02d' % ((value.abs * 100).round % 100)) else From a5ff925102adc07704dd9f43be1d6fb777ae3476 Mon Sep 17 00:00:00 2001 From: Wellington Date: Thu, 24 Nov 2016 10:05:10 -0200 Subject: [PATCH 11/11] =?UTF-8?q?Ticket=5Fid=20#52283=20-=20Limpeza.=20Rem?= =?UTF-8?q?ovido=20c=C3=B3digo=20comentado=20e=20c=C3=B3digo=20legado.=20R?= =?UTF-8?q?emovido=20Ticket=20removido=20do=20fonte.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/report_template.rb | 2 -- lib/ac_filters_utils.rb | 2 -- lib/prawn_report_seeds.rb | 10 ---------- 3 files changed, 14 deletions(-) diff --git a/app/models/report_template.rb b/app/models/report_template.rb index 234770d..60c0734 100644 --- a/app/models/report_template.rb +++ b/app/models/report_template.rb @@ -15,10 +15,8 @@ def serialization_params=(value) def serialization_params value = read_attribute :serialization_params - #value.nil? ? {} : Marshal.load(value) begin value.nil? ? {} : Marshal.load(value) - #value.nil? ? {} : YAML.load(value) rescue TypeError end diff --git a/lib/ac_filters_utils.rb b/lib/ac_filters_utils.rb index 5112d00..62648dc 100644 --- a/lib/ac_filters_utils.rb +++ b/lib/ac_filters_utils.rb @@ -173,8 +173,6 @@ def apply_ac_filter(parsed_filter, system_params) if filter_def.has_sql_query? sql_to_execute = ActiveRecord::Base.send(:sanitize_sql_array, conditions) r = [] - #ActiveRecord::Base.connection.instance_exec(sql_to_execute).each(:as => :hash) {|i| r << i} - # Ticket_id: 52283 - Seed não exclui mais relatórios existentes ActiveRecord::Base.connection.instance_exec(sql_to_execute).each(as :hash) {|i| r << i} else find_params[:select] = filter_def.select_sql.to_s unless filter_def.select_sql.nil? diff --git a/lib/prawn_report_seeds.rb b/lib/prawn_report_seeds.rb index 8b24711..c212178 100644 --- a/lib/prawn_report_seeds.rb +++ b/lib/prawn_report_seeds.rb @@ -3,8 +3,6 @@ require 'yaml' -#ReportTemplate.delete_all -# Ticket_id #52283 - seed não exlcui mais relatórios ja existentes. ReportTemplate.update_all({:ac_filter_def_id => nil, :excluir => true}) AcFilterOption.delete_all AcFilter.delete_all @@ -22,10 +20,6 @@ Dir.glob("#{Rails.root}/db/reports/*.yml").each do |f| puts "Parsing file: #{f}" params = YAML::load(File.open(f, 'r')) -# if params["filter_name"] -# f = AcFilterDef.find_by_name(params.delete("filter_name")) -# if f -# params["ac_filter_def_id"] = f.id r = ReportTemplate.find_by_name(params["name"]) if r.nil? if params["filter_name"] @@ -49,11 +43,7 @@ puts "Atualizado relatório: " + params["name"] end end - #ReportTemplate.create(params) - #puts "Criado relatório: " + params["name"] end -#puts "FIM" -#ReportTemplate.delete_all(:excluir => true) ReportTemplate.destroy_all(:excluir => true) puts "finishing, closing, and going home"