Skip to content

Commit

Permalink
Merge pull request #10289 from DFE-Digital/cv/one-login-wrong-email-page
Browse files Browse the repository at this point in the history
Introduce candidate to wrong email address page
  • Loading branch information
CatalinVoineag authored Jan 21, 2025
2 parents 9471f17 + 05f8df4 commit f051ef7
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 2 deletions.
5 changes: 5 additions & 0 deletions app/controllers/candidate_interface/errors_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ module CandidateInterface
class ErrorsController < CandidateInterfaceController
skip_before_action :verify_authenticity_token
skip_before_action :authenticate_candidate!
allow_unauthenticated_access only: [:wrong_email_address]

def account_locked
render 'errors/account_locked', status: :forbidden, formats: :html
Expand All @@ -10,5 +11,9 @@ def account_locked
def not_found
render 'errors/not_found', status: :not_found, formats: :html
end

def wrong_email_address
render 'errors/wrong_email_address_used_for_candidate', status: :forbidden, formats: :html
end
end
end
2 changes: 1 addition & 1 deletion app/controllers/one_login_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def sign_out
def sign_out_complete
if session[:session_error_id].present?
reset_session
redirect_to internal_server_error_path
redirect_to candidate_interface_wrong_email_address_path
else
redirect_to candidate_interface_create_account_or_sign_in_path
end
Expand Down
23 changes: 23 additions & 0 deletions app/views/errors/wrong_email_address_used_for_candidate.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<%= content_for :title, t('page_titles.there_is_a_problem') %>

<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<h1 class="govuk-heading-l"><%= t('page_titles.there_is_a_problem') %></h1>
<div class="govuk-body">
<%= t(
'.body_html',
button_link: render(
ButtonToAsLinkComponent.new(
name: t('.sign_in'),
path: OneLogin.bypass? ? '/auth/one-login-developer' : '/auth/one_login',
),
),
) %>
</div>

<p class="govuk-body">
If you have any questions, please email us at
<%= govuk_mail_to '[email protected]' %>
</p>
</div>
</div>
5 changes: 5 additions & 0 deletions config/locales/candidate_interface/errors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
en:
errors:
wrong_email_address_used_for_candidate:
body_html: You should use the email address you use for GOV.UK One Login to %{button_link}.
sign_in: sign in to Apply for teacher training
1 change: 1 addition & 0 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ en:
get_your_details_back: Get your details back
dismiss: Dismiss
page_titles:
there_is_a_problem: There is a problem
account_recovery: Enter the code we sent to %{email}
account_recovery_resend_email: Enter the new code we sent to %{email}
account_recovery_request: Get your account details back
Expand Down
1 change: 1 addition & 0 deletions config/routes/candidate.rb
Original file line number Diff line number Diff line change
Expand Up @@ -608,6 +608,7 @@
end

get '/account-locked', to: 'errors#account_locked'
get '/wrong-email-address', to: 'errors#wrong_email_address'

get '/about-the-teacher-training-application-process', to: 'guidance#index', as: :guidance

Expand Down
2 changes: 1 addition & 1 deletion spec/requests/one_login_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@
"One login session error, check session_error record #{SessionError.last.id}",
level: :error,
)
expect(response).to redirect_to(internal_server_error_path)
expect(response).to redirect_to(candidate_interface_wrong_email_address_path)
end
end

Expand Down

0 comments on commit f051ef7

Please sign in to comment.