adds a rake task to assign missing geozones
This commit is contained in:
@@ -2,6 +2,7 @@ module Verification
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
scope :residence_verified, -> { where.not(residence_verified_at: nil) }
|
||||
scope :level_three_verified, -> { where.not(verified_at: nil) }
|
||||
scope :level_two_verified, -> { where("users.level_two_verified_at IS NOT NULL OR (users.confirmed_phone IS NOT NULL AND users.residence_verified_at IS NOT NULL) AND verified_at IS NULL") }
|
||||
scope :level_two_or_three_verified, -> { where("users.verified_at IS NOT NULL OR users.level_two_verified_at IS NOT NULL OR (users.confirmed_phone IS NOT NULL AND users.residence_verified_at IS NOT NULL)") }
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace :users do
|
||||
task count_failed_census_calls: :environment do
|
||||
User.find_each{ |user| User.reset_counters(user.id, :failed_census_calls)}
|
||||
end
|
||||
|
||||
|
||||
desc "Assigns official level to users with the officials' email domain"
|
||||
task check_for_official_emails: :environment do
|
||||
domain = Setting['email_domain_for_officials']
|
||||
@@ -22,4 +22,16 @@ namespace :users do
|
||||
end
|
||||
end
|
||||
|
||||
desc "Associates a geozone to each user who doesn't have it already but has validated his residence using the census API"
|
||||
task assign_geozones: :environment do
|
||||
User.residence_verified.where(geozone_id: nil).find_each do |u|
|
||||
response = CensusApi.new.call(u.document_type, u.document_number)
|
||||
if response.valid?
|
||||
u.geozone = Geozone.where(census_code: response.district_code).first
|
||||
u.save
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user