From 3011c8f059fd1de0099653d309af14d936de74fe Mon Sep 17 00:00:00 2001
From: Mitchell Henke
Date: Mon, 25 Oct 2021 12:37:14 -0500
Subject: [PATCH 1/7] simple version of continuing to SP after recovering with
personal key
---
app/controllers/accounts/connected_accounts_controller.rb | 2 ++
app/controllers/accounts/history_controller.rb | 2 ++
.../accounts/two_factor_authentication_controller.rb | 2 ++
app/controllers/accounts_controller.rb | 2 ++
app/controllers/events_controller.rb | 2 ++
app/view_models/account_show.rb | 8 ++++++--
app/views/accounts/_personal_key.html.erb | 6 ++++++
7 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/app/controllers/accounts/connected_accounts_controller.rb b/app/controllers/accounts/connected_accounts_controller.rb
index 6c2a5db033f..4a60e70ccbd 100644
--- a/app/controllers/accounts/connected_accounts_controller.rb
+++ b/app/controllers/accounts/connected_accounts_controller.rb
@@ -9,6 +9,8 @@ def show
@view_model = AccountShow.new(
decrypted_pii: nil,
personal_key: flash[:personal_key],
+ sp_session_request_url: sp_session_request_url_without_prompt_login,
+ sp_name: decorated_session.sp_name,
decorated_user: current_user.decorate,
locked_for_session: pii_locked_for_session?(current_user),
)
diff --git a/app/controllers/accounts/history_controller.rb b/app/controllers/accounts/history_controller.rb
index ff60ea139bf..5919aadb0d1 100644
--- a/app/controllers/accounts/history_controller.rb
+++ b/app/controllers/accounts/history_controller.rb
@@ -9,6 +9,8 @@ def show
@view_model = AccountShow.new(
decrypted_pii: nil,
personal_key: flash[:personal_key],
+ sp_session_request_url: sp_session_request_url_without_prompt_login,
+ sp_name: decorated_session.sp_name,
decorated_user: current_user.decorate,
locked_for_session: pii_locked_for_session?(current_user),
)
diff --git a/app/controllers/accounts/two_factor_authentication_controller.rb b/app/controllers/accounts/two_factor_authentication_controller.rb
index ba93183a373..94119e693ef 100644
--- a/app/controllers/accounts/two_factor_authentication_controller.rb
+++ b/app/controllers/accounts/two_factor_authentication_controller.rb
@@ -10,6 +10,8 @@ def show
@view_model = AccountShow.new(
decrypted_pii: nil,
personal_key: flash[:personal_key],
+ sp_session_request_url: sp_session_request_url_without_prompt_login,
+ sp_name: decorated_session.sp_name,
decorated_user: current_user.decorate,
locked_for_session: pii_locked_for_session?(current_user),
)
diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb
index e327e8dbf43..7d5394d58c3 100644
--- a/app/controllers/accounts_controller.rb
+++ b/app/controllers/accounts_controller.rb
@@ -11,6 +11,8 @@ def show
@view_model = AccountShow.new(
decrypted_pii: cacher.fetch,
personal_key: flash[:personal_key],
+ sp_session_request_url: sp_session_request_url_without_prompt_login,
+ sp_name: decorated_session.sp_name,
decorated_user: current_user.decorate,
locked_for_session: pii_locked_for_session?(current_user),
)
diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb
index c7b6e6f885f..8686b1e62ec 100644
--- a/app/controllers/events_controller.rb
+++ b/app/controllers/events_controller.rb
@@ -10,6 +10,8 @@ def show
@view_model = AccountShow.new(
decrypted_pii: nil,
personal_key: nil,
+ sp_session_request_url: sp_session_request_url_without_prompt_login,
+ sp_name: decorated_session.sp_name,
decorated_user: current_user.decorate,
locked_for_session: pii_locked_for_session?(current_user),
)
diff --git a/app/view_models/account_show.rb b/app/view_models/account_show.rb
index da0bfdd61bf..376e82dfdcb 100644
--- a/app/view_models/account_show.rb
+++ b/app/view_models/account_show.rb
@@ -1,10 +1,14 @@
class AccountShow
- attr_reader :decorated_user, :decrypted_pii, :personal_key, :locked_for_session, :pii
+ attr_reader :decorated_user, :decrypted_pii, :personal_key, :locked_for_session, :pii,
+ :sp_session_request_url, :sp_name
- def initialize(decrypted_pii:, personal_key:, decorated_user:, locked_for_session:)
+ def initialize(decrypted_pii:, personal_key:, sp_session_request_url:, sp_name:, decorated_user:,
+ locked_for_session:)
@decrypted_pii = decrypted_pii
@personal_key = personal_key
@decorated_user = decorated_user
+ @sp_name = sp_name
+ @sp_session_request_url = sp_session_request_url
@locked_for_session = locked_for_session
@pii = determine_pii
end
diff --git a/app/views/accounts/_personal_key.html.erb b/app/views/accounts/_personal_key.html.erb
index a757ac96739..0c5bbe8e131 100644
--- a/app/views/accounts/_personal_key.html.erb
+++ b/app/views/accounts/_personal_key.html.erb
@@ -9,4 +9,10 @@
<%= view_model.personal_key %>
+
+
+ <% if view_model.sp_session_request_url %>
+ <%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %>
+ <% end %>
+
<% end %>
From f091669915154b0e918a966d8c48aaf05e8e9c89 Mon Sep 17 00:00:00 2001
From: Mitchell Henke
Date: Mon, 25 Oct 2021 14:55:02 -0500
Subject: [PATCH 2/7] Update app/views/accounts/_personal_key.html.erb
Co-authored-by: Zach Margolis
---
app/views/accounts/_personal_key.html.erb | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/app/views/accounts/_personal_key.html.erb b/app/views/accounts/_personal_key.html.erb
index 0c5bbe8e131..d07b160ab41 100644
--- a/app/views/accounts/_personal_key.html.erb
+++ b/app/views/accounts/_personal_key.html.erb
@@ -10,9 +10,10 @@
<%= view_model.personal_key %>
-
- <% if view_model.sp_session_request_url %>
+ <% if view_model.sp_session_request_url %>
+
+ <%# TODO: translate %>
<%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %>
- <% end %>
-
+
+ <% end %>
<% end %>
From c60f779841ffd5b8da54b808e3d0630855c03f27 Mon Sep 17 00:00:00 2001
From: Mitchell Henke
Date: Mon, 25 Oct 2021 15:47:37 -0500
Subject: [PATCH 3/7] fix specs
---
spec/controllers/accounts_controller_spec.rb | 4 ++++
spec/view_models/account_show_spec.rb | 10 ++++++++++
.../accounts/connected_accounts/show.html.erb_spec.rb | 1 +
spec/views/accounts/history/show.html.erb_spec.rb | 1 +
spec/views/accounts/show.html.erb_spec.rb | 1 +
.../two_factor_authentication/show.html.erb_spec.rb | 2 ++
6 files changed, 19 insertions(+)
diff --git a/spec/controllers/accounts_controller_spec.rb b/spec/controllers/accounts_controller_spec.rb
index aba60a92fd3..da9c64691a7 100644
--- a/spec/controllers/accounts_controller_spec.rb
+++ b/spec/controllers/accounts_controller_spec.rb
@@ -44,6 +44,8 @@
view_model = AccountShow.new(
decrypted_pii: nil,
personal_key: nil,
+ sp_session_request_url: nil,
+ sp_name: nil,
decorated_user: user.decorate,
locked_for_session: false,
)
@@ -86,6 +88,8 @@
view_model = AccountShow.new(
decrypted_pii: nil,
personal_key: nil,
+ sp_session_request_url: nil,
+ sp_name: nil,
decorated_user: user.decorate,
locked_for_session: false,
)
diff --git a/spec/view_models/account_show_spec.rb b/spec/view_models/account_show_spec.rb
index d940bbbf356..8551ba73c99 100644
--- a/spec/view_models/account_show_spec.rb
+++ b/spec/view_models/account_show_spec.rb
@@ -14,6 +14,7 @@
)
profile_index = AccountShow.new(
decrypted_pii: decrypted_pii, personal_key: '', decorated_user: user.decorate,
+ sp_session_request_url: nil, sp_name: nil,
locked_for_session: false
)
@@ -28,6 +29,7 @@
email_address.update!(last_sign_in_at: 1.minute.from_now)
profile_index = AccountShow.new(
decrypted_pii: {}, personal_key: '', decorated_user: decorated_user,
+ sp_session_request_url: nil, sp_name: nil,
locked_for_session: false
)
@@ -46,6 +48,7 @@
profile_index = AccountShow.new(
decrypted_pii: {}, personal_key: '', decorated_user: user.decorate,
+ sp_session_request_url: nil, sp_name: nil,
locked_for_session: false
)
@@ -61,6 +64,7 @@
).to receive(:enabled?).and_return(false)
profile_index = AccountShow.new(
decrypted_pii: {}, personal_key: '', decorated_user: user,
+ sp_session_request_url: nil, sp_name: nil,
locked_for_session: false
)
@@ -78,6 +82,8 @@
account_show = AccountShow.new(
decrypted_pii: {},
personal_key: '',
+ sp_session_request_url: nil,
+ sp_name: nil,
decorated_user: user.reload.decorate,
locked_for_session: false,
)
@@ -95,6 +101,8 @@
account_show = AccountShow.new(
decrypted_pii: {},
personal_key: '',
+ sp_session_request_url: nil,
+ sp_name: nil,
decorated_user: user.reload.decorate,
locked_for_session: false,
)
@@ -113,6 +121,8 @@
AccountShow.new(
decrypted_pii: decrypted_pii,
personal_key: '',
+ sp_session_request_url: nil,
+ sp_name: nil,
decorated_user: user.decorate,
locked_for_session: false,
)
diff --git a/spec/views/accounts/connected_accounts/show.html.erb_spec.rb b/spec/views/accounts/connected_accounts/show.html.erb_spec.rb
index 601117eceb9..123de533c63 100644
--- a/spec/views/accounts/connected_accounts/show.html.erb_spec.rb
+++ b/spec/views/accounts/connected_accounts/show.html.erb_spec.rb
@@ -10,6 +10,7 @@
:view_model,
AccountShow.new(
decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user,
+ sp_session_request_url: nil, sp_name: nil,
locked_for_session: false
),
)
diff --git a/spec/views/accounts/history/show.html.erb_spec.rb b/spec/views/accounts/history/show.html.erb_spec.rb
index a0ae03f63b8..b537e95feee 100644
--- a/spec/views/accounts/history/show.html.erb_spec.rb
+++ b/spec/views/accounts/history/show.html.erb_spec.rb
@@ -11,6 +11,7 @@
:view_model,
AccountShow.new(
decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user,
+ sp_session_request_url: nil, sp_name: nil,
locked_for_session: false
),
)
diff --git a/spec/views/accounts/show.html.erb_spec.rb b/spec/views/accounts/show.html.erb_spec.rb
index 4010a697d83..139f650ff0e 100644
--- a/spec/views/accounts/show.html.erb_spec.rb
+++ b/spec/views/accounts/show.html.erb_spec.rb
@@ -11,6 +11,7 @@
:view_model,
AccountShow.new(
decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user,
+ sp_session_request_url: nil, sp_name: nil,
locked_for_session: false
),
)
diff --git a/spec/views/accounts/two_factor_authentication/show.html.erb_spec.rb b/spec/views/accounts/two_factor_authentication/show.html.erb_spec.rb
index 58b129bf98c..bc2073e4d39 100644
--- a/spec/views/accounts/two_factor_authentication/show.html.erb_spec.rb
+++ b/spec/views/accounts/two_factor_authentication/show.html.erb_spec.rb
@@ -11,6 +11,7 @@
:view_model,
AccountShow.new(
decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user,
+ sp_session_request_url: nil, sp_name: nil,
locked_for_session: false
),
)
@@ -33,6 +34,7 @@
:view_model,
AccountShow.new(
decrypted_pii: nil, personal_key: nil, decorated_user: decorated_user,
+ sp_session_request_url: nil, sp_name: nil,
locked_for_session: false
),
)
From e05343dab7f4fd02a4d09709236c16e750a389cf Mon Sep 17 00:00:00 2001
From: Mitchell Henke
Date: Mon, 25 Oct 2021 16:03:21 -0500
Subject: [PATCH 4/7] fix erblint
---
.erb-lint.yml | 1 -
app/views/accounts/_personal_key.html.erb | 6 +-----
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/.erb-lint.yml b/.erb-lint.yml
index efe20705430..c3b8984df1f 100644
--- a/.erb-lint.yml
+++ b/.erb-lint.yml
@@ -14,7 +14,6 @@ linters:
- '*/app/views/accounts/_password_reset.html.erb'
- '*/app/views/accounts/_pending_profile_bounced_gpo.html.erb'
- '*/app/views/accounts/_pending_profile_gpo.html.erb'
- - '*/app/views/accounts/_personal_key.html.erb'
- '*/app/views/accounts/_phone.html.erb'
- '*/app/views/accounts/_piv_cac.html.erb'
- '*/app/views/accounts/_webauthn.html.erb'
diff --git a/app/views/accounts/_personal_key.html.erb b/app/views/accounts/_personal_key.html.erb
index d07b160ab41..5ddb400bff4 100644
--- a/app/views/accounts/_personal_key.html.erb
+++ b/app/views/accounts/_personal_key.html.erb
@@ -1,8 +1,4 @@
-<%= render 'shared/alert', {
- type: 'warning',
- class: 'margin-bottom-8',
- text_tag: 'div',
-} do %>
+<%= render 'shared/alert', { type: 'warning', class: 'margin-bottom-8', text_tag: 'div' } do %>
<%= t('idv.messages.personal_key') %>
From 1daeb208eda230d34c574c0df3d4383f815d8eab Mon Sep 17 00:00:00 2001
From: Mitchell Henke
Date: Mon, 25 Oct 2021 16:22:37 -0500
Subject: [PATCH 5/7] add spec
---
spec/views/accounts/show.html.erb_spec.rb | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/spec/views/accounts/show.html.erb_spec.rb b/spec/views/accounts/show.html.erb_spec.rb
index 139f650ff0e..eb14851fecc 100644
--- a/spec/views/accounts/show.html.erb_spec.rb
+++ b/spec/views/accounts/show.html.erb_spec.rb
@@ -150,4 +150,26 @@
expect(user.email_addresses.size).to eq(5)
end
end
+
+ context 'when a profile has just been re-activated with personal key during SP auth' do
+ let(:sp) { build(:service_provider, return_to_sp_url: 'https://www.example.com/auth') }
+ before do
+ assign(
+ :view_model,
+ AccountShow.new(
+ decrypted_pii: nil, personal_key: 'abc123', decorated_user: decorated_user,
+ sp_session_request_url: sp.return_to_sp_url, sp_name: sp.friendly_name,
+ locked_for_session: false
+ ),
+ )
+ end
+
+ it 'renders the link to continue to the SP' do
+ render
+
+ expect(rendered).to have_link(
+ "Continue to #{sp.friendly_name}", href: sp.return_to_sp_url
+ )
+ end
+ end
end
From 0121655f748e392dd3e40fc93fb311bf173065ab Mon Sep 17 00:00:00 2001
From: Mitchell Henke
Date: Tue, 26 Oct 2021 09:33:02 -0500
Subject: [PATCH 6/7] move sp continue into own partial
---
.erb-lint.yml | 3 --
app/view_models/account_show.rb | 14 ++++++++
app/views/accounts/_password_reset.html.erb | 6 +---
.../_pending_profile_bounced_gpo.html.erb | 6 +---
.../accounts/_pending_profile_gpo.html.erb | 6 +---
app/views/accounts/_personal_key.html.erb | 9 +----
.../_service_provider_continue.html.erb | 4 +++
app/views/accounts/show.html.erb | 33 ++++++++++++-------
8 files changed, 43 insertions(+), 38 deletions(-)
create mode 100644 app/views/accounts/_service_provider_continue.html.erb
diff --git a/.erb-lint.yml b/.erb-lint.yml
index c3b8984df1f..aae60fce722 100644
--- a/.erb-lint.yml
+++ b/.erb-lint.yml
@@ -11,9 +11,6 @@ linters:
- '*/app/views/accounts/_connected_app.html.erb'
- '*/app/views/accounts/_emails.html.erb'
- '*/app/views/accounts/_identity_item.html.erb'
- - '*/app/views/accounts/_password_reset.html.erb'
- - '*/app/views/accounts/_pending_profile_bounced_gpo.html.erb'
- - '*/app/views/accounts/_pending_profile_gpo.html.erb'
- '*/app/views/accounts/_phone.html.erb'
- '*/app/views/accounts/_piv_cac.html.erb'
- '*/app/views/accounts/_webauthn.html.erb'
diff --git a/app/view_models/account_show.rb b/app/view_models/account_show.rb
index 376e82dfdcb..855df2b7414 100644
--- a/app/view_models/account_show.rb
+++ b/app/view_models/account_show.rb
@@ -34,6 +34,20 @@ def show_manage_personal_key_partial?
end
end
+ def show_service_provider_continue_partial?
+ sp_name.present? && sp_session_request_url.present?
+ end
+
+ def show_gpo_partial?
+ decorated_user.pending_profile_requires_verification?
+ end
+
+ def showing_any_partials?
+ show_service_provider_continue_partial? || show_manage_personal_key_partial? ||
+ show_pii_partial? || show_password_reset_partial? || show_personal_key_partial? ||
+ show_gpo_partial?
+ end
+
def backup_codes_generated_at
decorated_user.user.backup_code_configurations.order(created_at: :asc).first&.created_at
end
diff --git a/app/views/accounts/_password_reset.html.erb b/app/views/accounts/_password_reset.html.erb
index 5c248d45449..219ee48c5bf 100644
--- a/app/views/accounts/_password_reset.html.erb
+++ b/app/views/accounts/_password_reset.html.erb
@@ -1,8 +1,4 @@
-<%= render 'shared/alert', {
- type: 'warning',
- class: 'margin-bottom-8',
- text_tag: 'div',
-} do %>
+<%= render 'shared/alert', { type: 'warning', text_tag: 'div' } do %>
<%= t('account.index.reactivation.instructions') %>
diff --git a/app/views/accounts/_pending_profile_bounced_gpo.html.erb b/app/views/accounts/_pending_profile_bounced_gpo.html.erb
index 2bb4f0f6ce6..6291582f886 100644
--- a/app/views/accounts/_pending_profile_bounced_gpo.html.erb
+++ b/app/views/accounts/_pending_profile_bounced_gpo.html.erb
@@ -1,8 +1,4 @@
-<%= render 'shared/alert', {
- type: 'warning',
- class: 'margin-bottom-8',
- text_tag: 'div',
-} do %>
+<%= render 'shared/alert', { type: 'warning', text_tag: 'div' } do %>
<%= t('account.index.verification.bounced') %>
diff --git a/app/views/accounts/_pending_profile_gpo.html.erb b/app/views/accounts/_pending_profile_gpo.html.erb
index 38ad9b713ad..413e069eda1 100644
--- a/app/views/accounts/_pending_profile_gpo.html.erb
+++ b/app/views/accounts/_pending_profile_gpo.html.erb
@@ -1,8 +1,4 @@
-<%= render 'shared/alert', {
- type: 'warning',
- class: 'margin-bottom-8',
- text_tag: 'div',
-} do %>
+<%= render 'shared/alert', { type: 'warning', text_tag: 'div' } do %>
<%= t('account.index.verification.instructions') %>
diff --git a/app/views/accounts/_personal_key.html.erb b/app/views/accounts/_personal_key.html.erb
index 5ddb400bff4..09c6adb4de2 100644
--- a/app/views/accounts/_personal_key.html.erb
+++ b/app/views/accounts/_personal_key.html.erb
@@ -1,15 +1,8 @@
-<%= render 'shared/alert', { type: 'warning', class: 'margin-bottom-8', text_tag: 'div' } do %>
+<%= render 'shared/alert', { type: 'warning', class: 'margin-bottom-2', text_tag: 'div' } do %>
<%= t('idv.messages.personal_key') %>
<%= view_model.personal_key %>
-
- <% if view_model.sp_session_request_url %>
-
- <%# TODO: translate %>
- <%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %>
-
- <% end %>
<% end %>
diff --git a/app/views/accounts/_service_provider_continue.html.erb b/app/views/accounts/_service_provider_continue.html.erb
new file mode 100644
index 00000000000..c2020380dfa
--- /dev/null
+++ b/app/views/accounts/_service_provider_continue.html.erb
@@ -0,0 +1,4 @@
+<%= render 'shared/alert', { type: 'info', text_tag: 'div' } do %>
+ <%# TODO: translate %>
+ <%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %>
+<% end %>
diff --git a/app/views/accounts/show.html.erb b/app/views/accounts/show.html.erb
index 4c4837219ee..a0e8707b8a9 100644
--- a/app/views/accounts/show.html.erb
+++ b/app/views/accounts/show.html.erb
@@ -1,18 +1,27 @@
<% title t('titles.account') %>
-<% if @view_model.show_personal_key_partial? %>
- <%= render 'accounts/personal_key', view_model: @view_model %>
-<% end %>
-<% if @view_model.show_password_reset_partial? %>
- <%= render 'accounts/password_reset', view_model: @view_model %>
-<% end %>
+<% if @view_model.showing_any_partials? %>
+
+ <% if @view_model.show_personal_key_partial? %>
+ <%= render 'accounts/personal_key', view_model: @view_model %>
+ <% end %>
-<% if @view_model.decorated_user.pending_profile_requires_verification? %>
- <% if @view_model.decorated_user.gpo_mail_bounced? %>
- <%= render 'accounts/pending_profile_bounced_gpo' %>
- <% else %>
- <%= render 'accounts/pending_profile_gpo' %>
- <% end %>
+ <% if @view_model.show_password_reset_partial? %>
+ <%= render 'accounts/password_reset', view_model: @view_model %>
+ <% end %>
+
+ <% if @view_model.show_gpo_partial? %>
+ <% if @view_model.decorated_user.gpo_mail_bounced? %>
+ <%= render 'accounts/pending_profile_bounced_gpo' %>
+ <% else %>
+ <%= render 'accounts/pending_profile_gpo' %>
+ <% end %>
+ <% end %>
+
+ <% if @view_model.show_service_provider_continue_partial? %>
+ <%= render 'accounts/service_provider_continue', view_model: @view_model %>
+ <% end %>
+
<% end %>
<%= render 'accounts/header', view_model: @view_model %>
From e030ef3d3237b907644da560d7a45d02c71cb45c Mon Sep 17 00:00:00 2001
From: Mitchell Henke
Date: Wed, 27 Oct 2021 09:08:26 -0500
Subject: [PATCH 7/7] add translations
---
app/views/accounts/_service_provider_continue.html.erb | 3 +--
config/locales/account/en.yml | 1 +
config/locales/account/es.yml | 1 +
config/locales/account/fr.yml | 1 +
spec/views/accounts/show.html.erb_spec.rb | 3 ++-
5 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/app/views/accounts/_service_provider_continue.html.erb b/app/views/accounts/_service_provider_continue.html.erb
index c2020380dfa..2b0e9d8f120 100644
--- a/app/views/accounts/_service_provider_continue.html.erb
+++ b/app/views/accounts/_service_provider_continue.html.erb
@@ -1,4 +1,3 @@
<%= render 'shared/alert', { type: 'info', text_tag: 'div' } do %>
- <%# TODO: translate %>
- <%= link_to("Continue to #{view_model.sp_name}", view_model.sp_session_request_url) %>
+ <%= link_to(t('account.index.continue_to_service_provider', service_provider: view_model.sp_name), view_model.sp_session_request_url) %>
<% end %>
diff --git a/config/locales/account/en.yml b/config/locales/account/en.yml
index 3880f507710..e8f9193574a 100644
--- a/config/locales/account/en.yml
+++ b/config/locales/account/en.yml
@@ -32,6 +32,7 @@ en:
backup_code_confirm_regenerate: Yes, regenerate codes
backup_codes_exist: Generated
backup_codes_no_exist: Not generated
+ continue_to_service_provider: Continue to %{service_provider}
default: default
device: '%{browser} on %{os}'
dob: Date of birth
diff --git a/config/locales/account/es.yml b/config/locales/account/es.yml
index 065aa4e4af2..cd8e05f037a 100644
--- a/config/locales/account/es.yml
+++ b/config/locales/account/es.yml
@@ -33,6 +33,7 @@ es:
backup_code_confirm_regenerate: Sí, regenerar códigos.
backup_codes_exist: Generado
backup_codes_no_exist: No generado
+ continue_to_service_provider: Continuar con %{service_provider}
default: defecto
device: '%{browser} en %{os}'
dob: Fecha de nacimiento
diff --git a/config/locales/account/fr.yml b/config/locales/account/fr.yml
index 56e33d63eb0..4692b6634a8 100644
--- a/config/locales/account/fr.yml
+++ b/config/locales/account/fr.yml
@@ -34,6 +34,7 @@ fr:
backup_code_confirm_regenerate: Oui, régénérer les codes
backup_codes_exist: Généré
backup_codes_no_exist: Non généré
+ continue_to_service_provider: Continuer à %{service_provider}
default: défaut
device: '%{browser} sur %{os}'
dob: Date de naissance
diff --git a/spec/views/accounts/show.html.erb_spec.rb b/spec/views/accounts/show.html.erb_spec.rb
index eb14851fecc..d9cb2be9302 100644
--- a/spec/views/accounts/show.html.erb_spec.rb
+++ b/spec/views/accounts/show.html.erb_spec.rb
@@ -168,7 +168,8 @@
render
expect(rendered).to have_link(
- "Continue to #{sp.friendly_name}", href: sp.return_to_sp_url
+ t('account.index.continue_to_service_provider', service_provider: sp.friendly_name),
+ href: sp.return_to_sp_url,
)
end
end