Rename SignatureSheet column
This new functionality will allow to retrieve in the signature sheet the document number, the date of birth and the postal code. So we renamed :document_numbers to :required_fields_to_veriry to clarify and adjust the name to its use.
This commit is contained in:
@@ -27,7 +27,7 @@ class Admin::SignatureSheetsController < Admin::BaseController
|
|||||||
private
|
private
|
||||||
|
|
||||||
def signature_sheet_params
|
def signature_sheet_params
|
||||||
params.require(:signature_sheet).permit(:signable_type, :signable_id, :document_numbers)
|
params.require(:signature_sheet).permit(:signable_type, :signable_id, :required_fields_to_verify)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ class SignatureSheet < ApplicationRecord
|
|||||||
|
|
||||||
validates :author, presence: true
|
validates :author, presence: true
|
||||||
validates :signable_type, inclusion: {in: VALID_SIGNABLES}
|
validates :signable_type, inclusion: {in: VALID_SIGNABLES}
|
||||||
validates :document_numbers, presence: true
|
validates :required_fields_to_verify, presence: true
|
||||||
validates :signable, presence: true
|
validates :signable, presence: true
|
||||||
validate :signable_found
|
validate :signable_found
|
||||||
|
|
||||||
@@ -21,15 +21,15 @@ class SignatureSheet < ApplicationRecord
|
|||||||
end
|
end
|
||||||
|
|
||||||
def verify_signatures
|
def verify_signatures
|
||||||
parsed_document_numbers.each do |document_number|
|
parsed_required_fields_to_verify_groups.each do |document_number|
|
||||||
signature = signatures.where(document_number: document_number).first_or_create
|
signature = signatures.where(document_number: document_number).first_or_create
|
||||||
signature.verify
|
signature.verify
|
||||||
end
|
end
|
||||||
update(processed: true)
|
update(processed: true)
|
||||||
end
|
end
|
||||||
|
|
||||||
def parsed_document_numbers
|
def parsed_required_fields_to_verify_groups
|
||||||
document_numbers.split(/\r\n|\n|[,]/).collect {|d| d.gsub(/\s+/, "") }
|
required_fields_to_verify.split(/\r\n|\n|[,]/).collect {|d| d.gsub(/\s+/, "") }
|
||||||
end
|
end
|
||||||
|
|
||||||
def signable_found
|
def signable_found
|
||||||
|
|||||||
@@ -14,9 +14,9 @@
|
|||||||
<%= f.text_field :signable_id %>
|
<%= f.text_field :signable_id %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= f.label :document_numbers %>
|
<%= f.label :required_fields_to_verify %>
|
||||||
<p class="help-text" id="document-numbers-help-text"><%= t("admin.signature_sheets.new.document_numbers_note") %></p>
|
<p class="help-text" id="required-fields-to-verify-help-text"><%= t("admin.signature_sheets.new.document_numbers_note") %></p>
|
||||||
<%= f.text_area :document_numbers, rows: "6", label: false, aria: {describedby: "document-numbers-help-text"} %>
|
<%= f.text_area :required_fields_to_verify, rows: "6", label: false, aria: {describedby: "required-fields-to-verify-help-text"} %>
|
||||||
|
|
||||||
<%= f.submit(class: "button", value: t("admin.signature_sheets.new.submit")) %>
|
<%= f.submit(class: "button", value: t("admin.signature_sheets.new.submit")) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<div class="callout margin-top">
|
<div class="callout margin-top">
|
||||||
<p><strong><%= t("admin.signature_sheets.show.documents") %></strong></p>
|
<p><strong><%= t("admin.signature_sheets.show.documents") %></strong></p>
|
||||||
<%= simple_format @signature_sheet.document_numbers %>
|
<%= simple_format @signature_sheet.required_fields_to_verify %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class RenameDocumentNumbersToRequiredFieldsToVerifyInSignatureSheets < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
rename_column :signature_sheets, :document_numbers, :required_fields_to_verify
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -1460,10 +1460,10 @@ ActiveRecord::Schema.define(version: 20190607160900) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
create_table "signature_sheets", force: :cascade do |t|
|
create_table "signature_sheets", force: :cascade do |t|
|
||||||
t.string "signable_type"
|
|
||||||
t.integer "signable_id"
|
t.integer "signable_id"
|
||||||
t.text "document_numbers"
|
t.string "signable_type"
|
||||||
t.boolean "processed", default: false
|
t.boolean "processed", default: false
|
||||||
|
t.text "required_fields_to_verify"
|
||||||
t.integer "author_id"
|
t.integer "author_id"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
t.datetime "updated_at"
|
t.datetime "updated_at"
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ FactoryBot.define do
|
|||||||
factory :signature_sheet do
|
factory :signature_sheet do
|
||||||
association :signable, factory: :proposal
|
association :signable, factory: :proposal
|
||||||
association :author, factory: :user
|
association :author, factory: :user
|
||||||
document_numbers "123A, 456B, 789C"
|
required_fields_to_verify "123A, 456B, 789C"
|
||||||
end
|
end
|
||||||
|
|
||||||
factory :signature do
|
factory :signature do
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ describe "Signature sheets" do
|
|||||||
|
|
||||||
select "Citizen proposal", from: "signature_sheet_signable_type"
|
select "Citizen proposal", from: "signature_sheet_signable_type"
|
||||||
fill_in "signature_sheet_signable_id", with: proposal.id
|
fill_in "signature_sheet_signable_id", with: proposal.id
|
||||||
fill_in "signature_sheet_document_numbers", with: "12345678Z, 1234567L, 99999999Z"
|
fill_in "signature_sheet_required_fields_to_verify", with: "12345678Z, 1234567L, 99999999Z"
|
||||||
click_button "Create signature sheet"
|
click_button "Create signature sheet"
|
||||||
|
|
||||||
expect(page).to have_content "Signature sheet created successfully"
|
expect(page).to have_content "Signature sheet created successfully"
|
||||||
@@ -61,7 +61,7 @@ describe "Signature sheets" do
|
|||||||
|
|
||||||
select "Investment", from: "signature_sheet_signable_type"
|
select "Investment", from: "signature_sheet_signable_type"
|
||||||
fill_in "signature_sheet_signable_id", with: investment.id
|
fill_in "signature_sheet_signable_id", with: investment.id
|
||||||
fill_in "signature_sheet_document_numbers", with: "12345678Z, 1234567L, 99999999Z"
|
fill_in "signature_sheet_required_fields_to_verify", with: "12345678Z, 1234567L, 99999999Z"
|
||||||
click_button "Create signature sheet"
|
click_button "Create signature sheet"
|
||||||
|
|
||||||
expect(page).to have_content "Signature sheet created successfully"
|
expect(page).to have_content "Signature sheet created successfully"
|
||||||
@@ -89,7 +89,7 @@ describe "Signature sheets" do
|
|||||||
user = Administrator.first.user
|
user = Administrator.first.user
|
||||||
signature_sheet = create(:signature_sheet,
|
signature_sheet = create(:signature_sheet,
|
||||||
signable: proposal,
|
signable: proposal,
|
||||||
document_numbers: "12345678Z, 123A, 123B",
|
required_fields_to_verify: "12345678Z, 123A, 123B",
|
||||||
author: user)
|
author: user)
|
||||||
signature_sheet.verify_signatures
|
signature_sheet.verify_signatures
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ describe SignatureSheet do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "is not valid without document numbers" do
|
it "is not valid without document numbers" do
|
||||||
signature_sheet.document_numbers = nil
|
signature_sheet.required_fields_to_verify = nil
|
||||||
expect(signature_sheet).not_to be_valid
|
expect(signature_sheet).not_to be_valid
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -57,7 +57,7 @@ describe SignatureSheet do
|
|||||||
|
|
||||||
describe "#verify_signatures" do
|
describe "#verify_signatures" do
|
||||||
it "creates signatures for each document number" do
|
it "creates signatures for each document number" do
|
||||||
signature_sheet = create(:signature_sheet, document_numbers: "123A, 456B")
|
signature_sheet = create(:signature_sheet, required_fields_to_verify: "123A, 456B")
|
||||||
signature_sheet.verify_signatures
|
signature_sheet.verify_signatures
|
||||||
|
|
||||||
expect(Signature.count).to eq(2)
|
expect(Signature.count).to eq(2)
|
||||||
|
|||||||
Reference in New Issue
Block a user