From 8274e460cab86cbe82bfe4260f7513f7d25f3ea9 Mon Sep 17 00:00:00 2001 From: Jack S Date: Wed, 19 Jul 2023 14:18:45 +0100 Subject: [PATCH] CLDC-2498 Prevent non-support from editing org name --- app/helpers/organisation_helper.rb | 16 ++++++++++++++++ app/models/organisation.rb | 1 - app/views/organisations/edit.html.erb | 5 +++-- app/views/organisations/show.html.erb | 1 + 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/helpers/organisation_helper.rb b/app/helpers/organisation_helper.rb index 68fa98242..7c42bf358 100644 --- a/app/helpers/organisation_helper.rb +++ b/app/helpers/organisation_helper.rb @@ -8,4 +8,20 @@ module OrganisationHelper current_organisation.name end end + + def organisation_name_row(user:, organisation:, summary_list:) + summary_list.row do |row| + row.key { "Name" } + row.value { organisation.name } + if user.support? + row.action( + visually_hidden_text: organisation.name.humanize.downcase, + href: edit_organisation_path(organisation), + html_attributes: { "data-qa": "change-#{organisation.name.downcase}" }, + ) + else + row.action + end + end + end end diff --git a/app/models/organisation.rb b/app/models/organisation.rb index 91c091720..b4317c3e0 100644 --- a/app/models/organisation.rb +++ b/app/models/organisation.rb @@ -104,7 +104,6 @@ class Organisation < ApplicationRecord def display_organisation_attributes [ - { name: "Name", value: name, editable: true }, { name: "Organisation ID", value: "ORG#{id}", editable: false }, { name: "Address", value: address_string, editable: true }, { name: "Telephone number", value: phone, editable: true }, diff --git a/app/views/organisations/edit.html.erb b/app/views/organisations/edit.html.erb index c217d26ad..21297ec86 100644 --- a/app/views/organisations/edit.html.erb +++ b/app/views/organisations/edit.html.erb @@ -11,8 +11,9 @@ <%= content_for(:title) %> - <%= f.govuk_text_field :name, - autocomplete: "name" %> + <% if current_user.support? %> + <%= f.govuk_text_field :name, autocomplete: "name" %> + <% end %> <%= f.govuk_text_field :address_line1, label: { text: "Address line 1" }, diff --git a/app/views/organisations/show.html.erb b/app/views/organisations/show.html.erb index 07af1970a..87020120d 100644 --- a/app/views/organisations/show.html.erb +++ b/app/views/organisations/show.html.erb @@ -14,6 +14,7 @@
<%= govuk_summary_list do |summary_list| %> + <%= organisation_name_row(user: current_user, organisation: @organisation, summary_list:) %> <% @organisation.display_organisation_attributes.each do |attr| %> <% if can_edit_org?(current_user) && attr[:editable] %> <%= summary_list.row do |row| %>