From d554ec810aa433d460a8f4ccc741c784b5f92076 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Tue, 27 Dec 2016 11:41:38 +0100 Subject: [PATCH 1/5] adds document counter to signature sheet --- app/views/admin/signature_sheets/show.html.erb | 5 +++++ config/locales/admin.en.yml | 1 + config/locales/admin.es.yml | 1 + spec/features/admin/signature_sheets_spec.rb | 4 ++++ 4 files changed, 11 insertions(+) diff --git a/app/views/admin/signature_sheets/show.html.erb b/app/views/admin/signature_sheets/show.html.erb index a3787b67d..0c2536b34 100644 --- a/app/views/admin/signature_sheets/show.html.erb +++ b/app/views/admin/signature_sheets/show.html.erb @@ -8,6 +8,11 @@ <%= @signature_sheet.author.name %> +

+ <%= t("admin.signature_sheets.show.document_count") %> + <%= @signature_sheet.signatures.count %> +

+

<%= t("admin.signature_sheets.show.documents") %>

<%= simple_format @signature_sheet.document_numbers %> diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml index b442d68d5..09ca4579a 100755 --- a/config/locales/admin.en.yml +++ b/config/locales/admin.en.yml @@ -312,6 +312,7 @@ en: created_at: Created author: Author documents: Documents + document_count: "Number of documents:" verified: one: "There is %{count} valid signature" other: "There are %{count} valid signatures" diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml index 15c6697fb..b95af6e1c 100644 --- a/config/locales/admin.es.yml +++ b/config/locales/admin.es.yml @@ -310,6 +310,7 @@ es: created_at: Creado author: Autor documents: Documentos + document_count: "Número de documentos:" verified: one: "Hay %{count} firma válida" other: "Hay %{count} firmas válidas" diff --git a/spec/features/admin/signature_sheets_spec.rb b/spec/features/admin/signature_sheets_spec.rb index a2474834a..8243dd913 100644 --- a/spec/features/admin/signature_sheets_spec.rb +++ b/spec/features/admin/signature_sheets_spec.rb @@ -59,6 +59,10 @@ feature 'Signature sheets' do expect(page).to have_content signature_sheet.created_at.strftime("%d %b %H:%M") expect(page).to have_content user.name + within("#document_count") do + expect(page).to have_content 3 + end + within("#verified_signatures") do expect(page).to have_content 1 end From 113c4551aa76c1e569f03a6447dc4272940ba440 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Tue, 27 Dec 2016 12:00:22 +0100 Subject: [PATCH 2/5] makes signatures aware of spaces between numbers and letter --- app/models/signature_sheet.rb | 2 +- spec/models/signature_sheet_spec.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/models/signature_sheet.rb b/app/models/signature_sheet.rb index 6852820bb..48447489d 100644 --- a/app/models/signature_sheet.rb +++ b/app/models/signature_sheet.rb @@ -29,7 +29,7 @@ class SignatureSheet < ActiveRecord::Base end def parsed_document_numbers - document_numbers.split(/\W+/) + document_numbers.split(/\r\n|\n|[,]/).collect {|d| d.gsub(/\s+/, '') } end def signable_found diff --git a/spec/models/signature_sheet_spec.rb b/spec/models/signature_sheet_spec.rb index d8f5c3513..473a7b96d 100644 --- a/spec/models/signature_sheet_spec.rb +++ b/spec/models/signature_sheet_spec.rb @@ -76,6 +76,12 @@ describe SignatureSheet do expect(signature_sheet.parsed_document_numbers).to eq(['123A', '456B', '789C', '123B']) end + + it "strips spaces between number and letter" do + signature_sheet.document_numbers = "123 A\n456 B \n 789C" + + expect(signature_sheet.parsed_document_numbers).to eq(['123A', '456B', '789C']) + end end end \ No newline at end of file From c9f62bf2b94a9114c34e008960ba42415c8daecf Mon Sep 17 00:00:00 2001 From: rgarcia Date: Tue, 27 Dec 2016 12:05:37 +0100 Subject: [PATCH 3/5] fixes conflicts --- config/initializers/delayed_job_config.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/delayed_job_config.rb b/config/initializers/delayed_job_config.rb index 07e961c9d..da165ab39 100644 --- a/config/initializers/delayed_job_config.rb +++ b/config/initializers/delayed_job_config.rb @@ -6,7 +6,7 @@ end Delayed::Worker.destroy_failed_jobs = false Delayed::Worker.sleep_delay = 2 Delayed::Worker.max_attempts = 3 -Delayed::Worker.max_run_time = 30.seconds +Delayed::Worker.max_run_time = 10.minutes Delayed::Worker.read_ahead = 10 Delayed::Worker.default_queue_name = 'default' Delayed::Worker.raise_signal_exceptions = :term From 0a6e86ea835f7fdcfa119fec2f568d8f9e0a54c9 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Tue, 27 Dec 2016 12:26:56 +0100 Subject: [PATCH 4/5] increase delayed job max run time to 30 minutes --- config/initializers/delayed_job_config.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/delayed_job_config.rb b/config/initializers/delayed_job_config.rb index da165ab39..eebdf0843 100644 --- a/config/initializers/delayed_job_config.rb +++ b/config/initializers/delayed_job_config.rb @@ -6,7 +6,7 @@ end Delayed::Worker.destroy_failed_jobs = false Delayed::Worker.sleep_delay = 2 Delayed::Worker.max_attempts = 3 -Delayed::Worker.max_run_time = 10.minutes +Delayed::Worker.max_run_time = 30.minutes Delayed::Worker.read_ahead = 10 Delayed::Worker.default_queue_name = 'default' Delayed::Worker.raise_signal_exceptions = :term From 122446ef62b6d3eaf9527b5422db87ff5f350706 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Tue, 27 Dec 2016 12:44:55 +0100 Subject: [PATCH 5/5] find or create signatures in case of a timeout --- app/models/signature_sheet.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/signature_sheet.rb b/app/models/signature_sheet.rb index 48447489d..9720c891f 100644 --- a/app/models/signature_sheet.rb +++ b/app/models/signature_sheet.rb @@ -22,7 +22,7 @@ class SignatureSheet < ActiveRecord::Base def verify_signatures parsed_document_numbers.each do |document_number| - signature = signatures.create(document_number: document_number) + signature = self.signatures.where(document_number: document_number).first_or_create signature.verify end update(processed: true)