Merge pull request #1752 from MariaCheca/1725-census_local_copy_user_verification
Allow users to verify their account against a local copy of the Census
This commit is contained in:
6
app/models/local_census_record.rb
Normal file
6
app/models/local_census_record.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
class LocalCensusRecord < ActiveRecord::Base
|
||||
validates :document_number, presence: true
|
||||
validates :document_type, presence: true
|
||||
validates :date_of_birth, presence: true
|
||||
validates :postal_code, presence: true
|
||||
end
|
||||
@@ -4,7 +4,7 @@ class Officing::Residence
|
||||
|
||||
attr_accessor :user, :officer, :document_number, :document_type, :year_of_birth
|
||||
|
||||
before_validation :call_census_api
|
||||
before_validation :retrieve_census_data
|
||||
|
||||
validates :document_number, presence: true
|
||||
validates :document_type, presence: true
|
||||
@@ -101,8 +101,8 @@ class Officing::Residence
|
||||
|
||||
private
|
||||
|
||||
def call_census_api
|
||||
@census_api_response = CensusApi.new.call(document_type, document_number)
|
||||
def retrieve_census_data
|
||||
@census_api_response = CensusCaller.new.call(document_type, document_number)
|
||||
end
|
||||
|
||||
def residency_valid?
|
||||
|
||||
@@ -35,7 +35,7 @@ class Poll
|
||||
end
|
||||
|
||||
def census_api_response
|
||||
@census_api_response ||= CensusApi.new.call(document_type, document_number)
|
||||
@census_api_response ||= CensusCaller.new.call(document_type, document_number)
|
||||
end
|
||||
|
||||
def fill_stats_fields
|
||||
|
||||
@@ -69,7 +69,7 @@ class Signature < ActiveRecord::Base
|
||||
|
||||
def in_census?
|
||||
document_types.detect do |document_type|
|
||||
response = CensusApi.new.call(document_type, document_number)
|
||||
response = CensusCaller.new.call(document_type, document_number)
|
||||
if response.valid?
|
||||
@census_api_response = response
|
||||
true
|
||||
@@ -94,4 +94,4 @@ class Signature < ActiveRecord::Base
|
||||
%w(1 2 3 4)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -18,7 +18,7 @@ class Verification::Management::Document
|
||||
end
|
||||
|
||||
def in_census?
|
||||
response = CensusApi.new.call(document_type, document_number)
|
||||
response = CensusCaller.new.call(document_type, document_number)
|
||||
response.valid? && valid_age?(response)
|
||||
end
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ class Verification::Residence
|
||||
|
||||
attr_accessor :user, :document_number, :document_type, :date_of_birth, :postal_code, :terms_of_service
|
||||
|
||||
before_validation :call_census_api
|
||||
before_validation :retrieve_census_data
|
||||
|
||||
validates :document_number, presence: true
|
||||
validates :document_type, presence: true
|
||||
@@ -61,23 +61,23 @@ class Verification::Residence
|
||||
end
|
||||
|
||||
def district_code
|
||||
@census_api_response.district_code
|
||||
@census_data.district_code
|
||||
end
|
||||
|
||||
def gender
|
||||
@census_api_response.gender
|
||||
@census_data.gender
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def call_census_api
|
||||
@census_api_response = CensusApi.new.call(document_type, document_number)
|
||||
def retrieve_census_data
|
||||
@census_data = CensusCaller.new.call(document_type, document_number)
|
||||
end
|
||||
|
||||
def residency_valid?
|
||||
@census_api_response.valid? &&
|
||||
@census_api_response.postal_code == postal_code &&
|
||||
@census_api_response.date_of_birth == date_of_birth
|
||||
@census_data.valid? &&
|
||||
@census_data.postal_code == postal_code &&
|
||||
@census_data.date_of_birth == date_of_birth
|
||||
end
|
||||
|
||||
def clean_document_number
|
||||
|
||||
Reference in New Issue
Block a user