Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ group :development, :test do
gem 'brakeman', require: false
gem 'bullet', '~> 7.0'
gem 'capybara-webmock', git: 'https://github.com/hashrocket/capybara-webmock.git', ref: 'd3f3b7c'
gem 'erb_lint', '~> 0.4.0', require: false
gem 'erb_lint', '~> 0.5.0', require: false
gem 'i18n-tasks', '~> 1.0'
gem 'knapsack'
gem 'listen'
Expand Down
75 changes: 39 additions & 36 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,8 @@ GEM
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
ahoy_matey (3.3.0)
activesupport (>= 5)
device_detector
Expand Down Expand Up @@ -197,11 +197,11 @@ GEM
aws-sigv4 (~> 1.1)
aws-sigv4 (1.8.0)
aws-eventstream (~> 1, >= 1.0.2)
axe-core-api (4.9.0)
axe-core-api (4.9.1)
dumb_delegator
virtus
axe-core-rspec (4.9.0)
axe-core-api
axe-core-rspec (4.9.1)
axe-core-api (= 4.9.1)
dumb_delegator
virtus
axiom-types (0.1.1)
Expand All @@ -217,7 +217,7 @@ GEM
erubi (>= 1.0.0)
rack (>= 0.9.0)
rouge (>= 1.0.0)
better_html (2.0.2)
better_html (2.1.1)
actionview (>= 6.0)
activesupport (>= 6.0)
ast (~> 2.0)
Expand All @@ -230,7 +230,7 @@ GEM
msgpack (~> 1.2)
brakeman (6.1.0)
browser (6.0.0)
builder (3.2.4)
builder (3.3.0)
bullet (7.1.4)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
Expand All @@ -257,12 +257,13 @@ GEM
coderay (1.1.3)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
concurrent-ruby (1.3.1)
concurrent-ruby (1.3.3)
connection_pool (2.4.1)
cose (1.3.0)
cbor (~> 0.5.9)
openssl-signature_algorithm (~> 1.0)
crack (0.4.5)
crack (1.0.0)
bigdecimal
rexml
crass (1.0.6)
css_parser (1.14.0)
Expand Down Expand Up @@ -304,15 +305,15 @@ GEM
htmlentities (~> 4.3.3)
launchy (~> 2.1)
mail (~> 2.7)
erb_lint (0.4.0)
erb_lint (0.5.0)
activesupport
better_html (>= 2.0.1)
parser (>= 2.7.1.4)
rainbow
rubocop
smart_properties
errbase (0.2.1)
erubi (1.12.0)
erubi (1.13.0)
et-orbi (1.2.7)
tzinfo
factory_bot (6.4.6)
Expand Down Expand Up @@ -349,11 +350,11 @@ GEM
railties (>= 6.0.0)
thor (>= 0.14.1)
google-protobuf (3.24.4)
hashdiff (1.0.1)
hashdiff (1.1.0)
heapy (0.2.0)
thor
highline (2.1.0)
htmlbeautifier (1.4.2)
htmlbeautifier (1.4.3)
htmlentities (4.3.4)
http_accept_language (2.1.1)
i18n (1.14.5)
Expand All @@ -371,13 +372,13 @@ GEM
terminal-table (>= 1.5.1)
ice_nine (0.11.2)
io-console (0.7.2)
irb (1.13.1)
irb (1.13.2)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jmespath (1.6.2)
jsbundling-rails (1.1.2)
railties (>= 6.0.0)
json (2.7.1)
json (2.7.2)
jwe (0.4.0)
jwt (2.7.1)
knapsack (4.0.0)
Expand All @@ -390,6 +391,7 @@ GEM
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.6.0)
lograge (0.11.2)
actionpack (>= 4)
activesupport (>= 4)
Expand Down Expand Up @@ -424,7 +426,7 @@ GEM
mini_histogram (0.3.1)
mini_mime (1.1.5)
mini_portile2 (2.8.7)
minitest (5.23.1)
minitest (5.24.1)
msgpack (1.7.2)
multiset (0.5.3)
mutex_m (0.2.0)
Expand All @@ -444,18 +446,18 @@ GEM
net-ssh (6.1.0)
newrelic_rpm (9.7.0)
nio4r (2.7.3)
nokogiri (1.16.5)
nokogiri (1.16.6)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
openssl (3.0.2)
openssl-signature_algorithm (1.2.1)
openssl (> 2.0, < 3.1)
orm_adapter (0.5.0)
parallel (1.24.0)
parser (3.3.1.0)
parallel (1.25.1)
parser (3.3.3.0)
ast (~> 2.4.1)
racc
pg (1.5.4)
pg (1.5.6)
pg_query (4.2.3)
google-protobuf (>= 3.22.3)
phonelib (0.8.9)
Expand Down Expand Up @@ -489,7 +491,7 @@ GEM
pry (>= 0.10.4)
psych (5.1.2)
stringio
public_suffix (5.0.5)
public_suffix (6.0.0)
puma (6.4.2)
nio4r (~> 2.0)
raabro (1.4.0)
Expand Down Expand Up @@ -558,21 +560,21 @@ GEM
psych (>= 4.0.0)
redacted_struct (2.0.0)
redcarpet (3.6.0)
redis (5.1.0)
redis-client (>= 0.17.0)
redis-client (0.22.0)
redis (5.2.0)
redis-client (>= 0.22.0)
redis-client (0.22.2)
connection_pool
regexp_parser (2.9.1)
reline (0.5.8)
regexp_parser (2.9.2)
reline (0.5.9)
io-console (~> 0.5)
request_store (1.5.1)
rack (>= 1.4)
responders (3.0.1)
actionpack (>= 5.0)
railties (>= 5.0)
retries (0.0.5)
rexml (3.2.8)
strscan (>= 3.0.9)
rexml (3.3.1)
strscan
rotp (6.3.0)
rouge (4.2.0)
rqrcode (2.1.0)
Expand Down Expand Up @@ -615,8 +617,8 @@ GEM
rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.31.2)
parser (>= 3.3.0.4)
rubocop-ast (1.31.3)
parser (>= 3.3.1.0)
rubocop-capybara (2.19.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.24.0)
Expand Down Expand Up @@ -647,8 +649,9 @@ GEM
jwt (~> 2.0)
scrypt (3.0.7)
ffi-compiler (>= 1.0, < 2.0)
selenium-webdriver (4.20.1)
selenium-webdriver (4.22.0)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
Expand All @@ -673,9 +676,9 @@ GEM
unf (~> 0.1.4)
smart_properties (1.17.0)
stringex (2.8.5)
stringio (3.1.0)
strong_migrations (1.6.4)
activerecord (>= 5.2)
stringio (3.1.1)
strong_migrations (2.0.0)
activerecord (>= 6.1)
strscan (3.1.0)
tableparser (1.0.1)
terminal-table (3.0.2)
Expand Down Expand Up @@ -734,7 +737,7 @@ GEM
xpath (3.2.0)
nokogiri (~> 1.8)
yard (0.9.36)
zeitwerk (2.6.15)
zeitwerk (2.6.16)
zlib (3.0.0)
zonebie (0.6.1)
zxcvbn (0.1.9)
Expand Down Expand Up @@ -773,7 +776,7 @@ DEPENDENCIES
devise (~> 4.8)
dotiw (>= 4.0.1)
email_spec
erb_lint (~> 0.4.0)
erb_lint (~> 0.5.0)
factory_bot_rails (>= 6.2.0)
faker
faraday (~> 2)
Expand Down
8 changes: 0 additions & 8 deletions app/assets/stylesheets/email.css.scss
Original file line number Diff line number Diff line change
Expand Up @@ -119,14 +119,6 @@ h6 {
}
}

@media only screen and (max-width: #{$global-breakpoint}) {
table.body .columns,
table.body .column {
padding-left: $global-gutter-small !important;
padding-right: $global-gutter-small !important;
}
}

.info-alert,
.warning-alert {
padding: 0 units(0.5);
Expand Down
5 changes: 0 additions & 5 deletions app/components/badge_component.scss
Original file line number Diff line number Diff line change
@@ -1,7 +1,2 @@
@use 'uswds-core' as *;
@forward 'usa-verification-badge';

// Upstream: https://github.com/18F/identity-design-system/pull/445
.lg-verification-badge .usa-icon {
margin-right: units(1);
}
9 changes: 5 additions & 4 deletions app/components/one_time_code_input_component.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

lg-one-time-code-input {
display: block;

@include at-media('tablet') {
width: 50%;
}
}

.one-time-code-input__input {
&.usa-input {
@include at-media('tablet') {
max-width: 50%;
}
}
@include u-font-family('mono');
}
14 changes: 4 additions & 10 deletions app/controllers/concerns/idv_step_concern.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
module IdvStepConcern
extend ActiveSupport::Concern

include VerifyProfileConcern
include IdvSessionConcern
include RateLimitConcern
include FraudReviewConcern
Expand All @@ -14,9 +15,7 @@ module IdvStepConcern
before_action :confirm_personal_key_acknowledged_if_needed
before_action :confirm_idv_needed
before_action :confirm_letter_recently_enqueued
before_action :confirm_no_pending_gpo_profile
before_action :confirm_no_pending_in_person_enrollment
before_action :handle_fraud
before_action :confirm_no_pending_profile
before_action :check_for_mail_only_outage
end

Expand All @@ -35,13 +34,8 @@ def confirm_letter_recently_enqueued
return redirect_to idv_letter_enqueued_url if letter_recently_enqueued?
end

def confirm_no_pending_gpo_profile
redirect_to idv_verify_by_mail_enter_code_url if letter_not_recently_enqueued?
end

def confirm_no_pending_in_person_enrollment
return if !IdentityConfig.store.in_person_proofing_enabled
redirect_to idv_in_person_ready_to_verify_url if current_user&.pending_in_person_enrollment
def confirm_no_pending_profile
redirect_to url_for_pending_profile_reason if user_has_pending_profile?
end

def check_for_mail_only_outage
Expand Down
9 changes: 5 additions & 4 deletions app/controllers/concerns/verify_profile_concern.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,12 @@ module VerifyProfileConcern
def url_for_pending_profile_reason
return idv_verify_by_mail_enter_code_url if current_user.gpo_verification_pending_profile?
return idv_in_person_ready_to_verify_url if current_user.in_person_pending_profile?
# We don't want to hit idv_please_call_url in cases where the user
# has fraud review pending and not passed at the post office
return idv_welcome_url if user_failed_ipp_with_fraud_review_pending?
return idv_please_call_url if current_user.fraud_review_pending?
idv_not_verified_url if current_user.fraud_rejection?
end

def user_has_pending_profile?
pending_profile_policy.user_has_pending_profile?
pending_profile_policy.user_has_pending_profile? && !user_failed_ipp_with_fraud_review_pending?
end

def pending_profile_policy
Expand All @@ -25,6 +22,10 @@ def pending_profile_policy
)
end

# Returns true if the user has not passed IPP at the post office and is
# flagged for fraud review, or has been rejected for fraud.
# Ultimately this is to allow users who fail at the post office to create another enrollment
# bypassing the typical flow of showing the Please Call or Fraud Rejection screens.
def user_failed_ipp_with_fraud_review_pending?
IdentityConfig.store.in_person_proofing_enforce_tmx &&
current_user.ipp_enrollment_status_not_passed? &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,19 @@ def index
)
locations = proofer.request_facilities(candidate, false)

render json: localized_locations(locations).to_json
render json: locations.to_json
end

def options
head :ok
end

private
protected

def proofer
@proofer ||= UspsInPersonProofing::EnrollmentHelper.usps_proofer
end

def localized_locations(locations)
return nil if locations.nil?
locations.map do |location|
UspsInPersonProofing::EnrollmentHelper.localized_location(location)
end
end

def enabled?
IdentityConfig.store.in_person_public_address_search_enabled
end
Expand Down
Loading