18F/identity-idp

View on GitHub
app/views/accounts/_identity_verification.html.erb

Summary

Maintainability
Test Coverage
<div class="grid-row margin-bottom-2">
  <h2 class="grid-col-fill margin-y-0">
    <%= t('account.index.verification.identity_verification') %>
  </h2>
  <div class="grid-col-auto">
    <% if @presenter.active_profile_for_authn_context? %>
      <%= render TooltipComponent.new(tooltip_text: @presenter.identity_verified_with_facial_match? ? t('account.index.verification.verified_facial_match_badge_tooltip') : t('account.index.verification.verified_badge_tooltip')) do %>
        <%= render BadgeComponent.new(icon: :check_circle).with_content(t('account.index.verification.verified_badge')) %>
      <% end %>
    <% elsif @presenter.pending_gpo? || @presenter.pending_ipp? %>
      <%= render TooltipComponent.new(tooltip_text: t('account.index.verification.pending_badge_tooltip')) do %>
        <%= render BadgeComponent.new(icon: :info).with_content(t('account.index.verification.pending_badge')) %>
      <% end %>
    <% else %>
      <%= render TooltipComponent.new(tooltip_text: t('account.index.verification.unverified_badge_tooltip')) do %>
        <%= render BadgeComponent.new(icon: :warning).with_content(t('account.index.verification.unverified_badge')) %>
      <% end %>
    <% end %>
  </div>
</div>

<% if @presenter.active_profile? || @presenter.pending_ipp? || @presenter.pending_gpo? %>
  <p>
    <% if @presenter.active_profile_for_authn_context? %>
      <% if @presenter.identity_verified_with_facial_match? %>
        <%= t('account.index.verification.you_verified_your_facial_match_identity', app_name: APP_NAME) %>
      <% else %>
        <%= t('account.index.verification.you_verified_your_identity_html', sp_name: @presenter.user.active_profile.initiating_service_provider&.friendly_name || APP_NAME) %>
      <% end %>
    <% elsif @presenter.active_profile? %>
      <%= t('account.index.verification.legacy_verified_html', app_name: APP_NAME, date: @presenter.formatted_legacy_idv_date) %>
    <% elsif @presenter.sp_name || @presenter.user.pending_profile.initiating_service_provider %>
      <%= t('account.index.verification.finish_verifying_html', sp_name: @presenter.sp_name || @presenter.user.pending_profile.initiating_service_provider.friendly_name) %>
    <% else %>
      <%= t('account.index.verification.finish_verifying_no_sp', app_name: APP_NAME) %>
    <% end %>

    <% if !@presenter.active_profile? || @presenter.active_profile_for_authn_context? %>
      <%= new_tab_link_to t('account.index.verification.learn_more_link'), help_center_redirect_path(category: 'verify-your-identity', article: 'overview', flow: :account_show, location: :idv) %>
    <% end %>
  </p>
<% end %>

<% if @presenter.active_profile? && !@presenter.active_profile_for_authn_context? %>
  <p>
    <%= t('account.index.verification.verify_with_facial_match_html', sp_name: @presenter.sp_name) %>
  </p>
  <p>
    <%= new_tab_link_to t('account.index.verification.learn_more_link'), help_center_redirect_path(category: 'verify-your-identity', article: 'overview', flow: :account_show, location: :idv) %>
  </p>
<% end %>

<% if @presenter.pending_gpo? %>
  <%= render AlertComponent.new(type: :info, text_tag: 'div') do %>
    <p>
      <%= t('account.index.verification.instructions') %>
    </p>
    <p>
      <%= link_to(t('account.index.verification.reactivate_button'), idv_verify_by_mail_enter_code_path) %>
    </p>
  <% end %>
<% elsif @presenter.pending_ipp? %>
  <%= render AlertComponent.new(type: :info, text_tag: 'div') do %>
    <p>
      <%= t('account.index.verification.in_person_instructions_html', deadline: @presenter.formatted_ipp_due_date) %>
    </p>
    <p>
      <%= link_to(t('account.index.verification.show_bar_code', app_name: APP_NAME), idv_in_person_ready_to_verify_url) %>
    </p>
  <% end %>
<% elsif !@presenter.active_profile_for_authn_context? %>
  <%= render AlertComponent.new(type: :warning, text_tag: 'div') do %>
    <p>
      <% if @presenter.sp_name && !@presenter.active_profile? %>
        <%= t('account.index.verification.finish_verifying_html', sp_name: @presenter.sp_name) %>
      <% else %>
        <%= t('account.index.verification.finish_verifying_no_sp', app_name: APP_NAME) %>
      <% end %>
    </p>
    <p>
      <%= link_to(t('account.index.verification.continue_idv'), idv_path) %>
    </p>
  <% end %>
<% end %>

<% if @presenter.active_profile_for_authn_context? %>
  <%= render 'accounts/pii', pii: @presenter.pii, locked_for_session: @presenter.locked_for_session %>
<% end %>