@ -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
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?
""
@ -335,6 +335,7 @@ class User < ApplicationRecord
def phone_with_extension
#use this
return phone if phone_extension.blank?
"#{phone}, Ext. #{phone_extension}"
@ -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
@ -65,6 +65,21 @@
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" },
)
row.with_action
row.with_key { "Password" }
row.with_value { "••••••••" }