From a19fcb81fc2a74c317f125650adc397e5c0499ef Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Tue, 15 Apr 2025 12:27:01 +0100 Subject: [PATCH] Update organisation label methods to accept date parameter for accurate historical representation --- .../lettings_log_summary_component.html.erb | 4 ++-- app/components/sales_log_summary_component.html.erb | 4 ++-- app/controllers/merge_requests_controller.rb | 5 +++-- .../form/lettings/questions/managing_organisation.rb | 4 ++-- app/models/form/lettings/questions/stock_owner.rb | 12 ++++++------ .../form/sales/questions/managing_organisation.rb | 2 +- .../form/sales/questions/owning_organisation_id.rb | 2 +- app/models/merge_request.rb | 2 +- 8 files changed, 18 insertions(+), 17 deletions(-) diff --git a/app/components/lettings_log_summary_component.html.erb b/app/components/lettings_log_summary_component.html.erb index 7686e3559..47978f1a8 100644 --- a/app/components/lettings_log_summary_component.html.erb +++ b/app/components/lettings_log_summary_component.html.erb @@ -33,13 +33,13 @@ <% if log.owning_organisation %>
<% end %> <% if log.managing_organisation %> <% end %> diff --git a/app/components/sales_log_summary_component.html.erb b/app/components/sales_log_summary_component.html.erb index 1d376aa4a..7e392c7bb 100644 --- a/app/components/sales_log_summary_component.html.erb +++ b/app/components/sales_log_summary_component.html.erb @@ -26,13 +26,13 @@ <% if log.owning_organisation %> <% end %> <% if log.managing_organisation %> <% end %> diff --git a/app/controllers/merge_requests_controller.rb b/app/controllers/merge_requests_controller.rb index bbb9c8ee9..32f7b2d0c 100644 --- a/app/controllers/merge_requests_controller.rb +++ b/app/controllers/merge_requests_controller.rb @@ -105,8 +105,9 @@ private answer_options = { "" => "Select an option" } if current_user.support? - Organisation.all.pluck(:id, :name).each do |organisation| - answer_options[organisation[0]] = organisation[1] + Organisation.all.each do |organisation| + date = @merge_request.merge_date || Time.zone.today + answer_options[organisation.id] = organisation.name(date:) end end diff --git a/app/models/form/lettings/questions/managing_organisation.rb b/app/models/form/lettings/questions/managing_organisation.rb index e415837fe..9c766ebe0 100644 --- a/app/models/form/lettings/questions/managing_organisation.rb +++ b/app/models/form/lettings/questions/managing_organisation.rb @@ -15,7 +15,7 @@ class Form::Lettings::Questions::ManagingOrganisation < ::Form::Question return opts unless log if log.managing_organisation.present? - org_value = log.managing_organisation.label + org_value = log.managing_organisation.label(date: log.startdate) opts = opts.merge({ log.managing_organisation.id => org_value }) end @@ -74,7 +74,7 @@ class Form::Lettings::Questions::ManagingOrganisation < ::Form::Question organisation = Organisation.find_by(id: log.managing_organisation_id) return unless organisation - organisation.label + organisation.label(date: log.startdate) end private diff --git a/app/models/form/lettings/questions/stock_owner.rb b/app/models/form/lettings/questions/stock_owner.rb index 6fc418b62..466b08e3f 100644 --- a/app/models/form/lettings/questions/stock_owner.rb +++ b/app/models/form/lettings/questions/stock_owner.rb @@ -15,7 +15,7 @@ class Form::Lettings::Questions::StockOwner < ::Form::Question return answer_opts unless log if log.owning_organisation_id.present? - org_value = log.owning_organisation.label + org_value = log.owning_organisation.label(date: log.startdate) answer_opts[log.owning_organisation.id] = org_value end @@ -31,19 +31,19 @@ class Form::Lettings::Questions::StockOwner < ::Form::Question if user.support? Organisation.visible.filter_by_active.where(holds_own_stock: true).find_each do |org| if org.merge_date.present? - answer_opts[org.id] = "#{org.name} (inactive as of #{org.merge_date.to_fs(:govuk_date)})" if org.merge_date >= FormHandler.instance.start_date_of_earliest_open_for_editing_collection_period + answer_opts[org.id] = "#{org.name(date: org.merge_date)} (inactive as of #{org.merge_date.to_fs(:govuk_date)})" if org.merge_date >= FormHandler.instance.start_date_of_earliest_open_for_editing_collection_period elsif org.absorbed_organisations.merged_during_open_collection_period.exists? && org.available_from.present? - answer_opts[org.id] = "#{org.name} (active as of #{org.available_from.to_fs(:govuk_date)})" + answer_opts[org.id] = "#{org.name(date: org.available_from)} (active as of #{org.available_from.to_fs(:govuk_date)})" else - answer_opts[org.id] = org.name + answer_opts[org.id] = org.name(date: log.startdate) end end else user.organisation.stock_owners.visible.filter_by_active.each do |stock_owner| - answer_opts[stock_owner.id] = stock_owner.name + answer_opts[stock_owner.id] = stock_owner.name(date: log.startdate) end recently_absorbed_organisations.visible.each do |absorbed_org| - answer_opts[absorbed_org.id] = merged_organisation_label(absorbed_org.name, absorbed_org.merge_date) if absorbed_org.holds_own_stock? + answer_opts[absorbed_org.id] = merged_organisation_label(absorbed_org.name(date: log.startdate), absorbed_org.merge_date) if absorbed_org.holds_own_stock? end end diff --git a/app/models/form/sales/questions/managing_organisation.rb b/app/models/form/sales/questions/managing_organisation.rb index c5cf8f112..ffe143ab5 100644 --- a/app/models/form/sales/questions/managing_organisation.rb +++ b/app/models/form/sales/questions/managing_organisation.rb @@ -15,7 +15,7 @@ class Form::Sales::Questions::ManagingOrganisation < ::Form::Question return opts unless log if log.managing_organisation.present? - org_value = log.managing_organisation.label + org_value = log.managing_organisation.label(date: log.startdate) opts = opts.merge({ log.managing_organisation.id => org_value }) end diff --git a/app/models/form/sales/questions/owning_organisation_id.rb b/app/models/form/sales/questions/owning_organisation_id.rb index 6ff940865..d4ece8554 100644 --- a/app/models/form/sales/questions/owning_organisation_id.rb +++ b/app/models/form/sales/questions/owning_organisation_id.rb @@ -15,7 +15,7 @@ class Form::Sales::Questions::OwningOrganisationId < ::Form::Question return answer_opts unless log if log.owning_organisation_id.present? - org_value = log.owning_organisation.label + org_value = log.owning_organisation.label(date: log.startdate) answer_opts[log.owning_organisation.id] = org_value end diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 47ffc84dc..725160afb 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -25,7 +25,7 @@ class MergeRequest < ApplicationRecord } def absorbing_organisation_name - absorbing_organisation&.name || "" + absorbing_organisation&.name(date: merge_date) || "" end def dpo_user