diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb index 13eab0d14..931f18680 100644 --- a/app/helpers/user_helper.rb +++ b/app/helpers/user_helper.rb @@ -85,13 +85,15 @@ module UserHelper current_user.data_coordinator? || current_user.support? ? govuk_link_to("Select role", aliased_user_edit(user, current_user), class: "govuk-link govuk-link--no-visited-state") : "No role assigned" when "phone" govuk_link_to("Enter telephone number", aliased_user_edit(user, current_user), class: "govuk-link govuk-link--no-visited-state") + when "phone_extension" + current_user.data_coordinator? || current_user.support? ? govuk_link_to("Enter extension number", aliased_user_edit(user, current_user), class: "govuk-link govuk-link--no-visited-state") : "No answer provided" else "No answer provided" end end def user_action_text(user, attribute) - return "Change" if %w[role phone].include?(attribute) && user.send(attribute).present? + return "Change" if %w[role phone phone_extension].include?(attribute) && user.send(attribute).present? "" end diff --git a/app/models/user.rb b/app/models/user.rb index ea8289e53..4e80df2b8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -335,6 +335,7 @@ class User < ApplicationRecord end def phone_with_extension + #use this return phone if phone_extension.blank? "#{phone}, Ext. #{phone_extension}" diff --git a/app/policies/user_policy.rb b/app/policies/user_policy.rb index dc8aaf28e..48beb1216 100644 --- a/app/policies/user_policy.rb +++ b/app/policies/user_policy.rb @@ -26,6 +26,7 @@ class UserPolicy %w[ edit_emails? edit_telephone_numbers? + edit_extension_numbers? edit_names? ].each do |method_name| define_method method_name do diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index a1f104b10..06fda18a3 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -65,6 +65,21 @@ end end %> + <%= summary_list.with_row do |row| + row.with_key { "Extension number" } + row.with_value { user_details_html(@user, current_user, "phone_extension") } + if UserPolicy.new(current_user, @user).edit_extension_numbers? && @user.phone_extension.present? + row.with_action( + text: user_action_text(@user, "phone_extension"), + visually_hidden_text: "extension number", + href: aliased_user_edit(@user, current_user), + html_attributes: { "data-qa": "change-extension-number" }, + ) + else + row.with_action + end + end %> + <%= summary_list.with_row do |row| row.with_key { "Password" } row.with_value { "••••••••" }