Browse Source

Update organisation label methods to accept date parameter for accurate historical representation

pull/3053/head
Manny Dinssa 3 weeks ago
parent
commit
a19fcb81fc
  1. 4
      app/components/lettings_log_summary_component.html.erb
  2. 4
      app/components/sales_log_summary_component.html.erb
  3. 5
      app/controllers/merge_requests_controller.rb
  4. 4
      app/models/form/lettings/questions/managing_organisation.rb
  5. 12
      app/models/form/lettings/questions/stock_owner.rb
  6. 2
      app/models/form/sales/questions/managing_organisation.rb
  7. 2
      app/models/form/sales/questions/owning_organisation_id.rb
  8. 2
      app/models/merge_request.rb

4
app/components/lettings_log_summary_component.html.erb

@ -33,13 +33,13 @@
<% if log.owning_organisation %>
<div class="app-metadata__item">
<dt class="app-metadata__term">Owned by</dt>
<dd class="app-metadata__definition"><%= log.owning_organisation&.label %></dd>
<dd class="app-metadata__definition"><%= log.owning_organisation&.label(date: log.startdate) %></dd>
</div>
<% end %>
<% if log.managing_organisation %>
<div class="app-metadata__item">
<dt class="app-metadata__term">Managed by</dt>
<dd class="app-metadata__definition"><%= log.managing_organisation&.label %></dd>
<dd class="app-metadata__definition"><%= log.managing_organisation&.label(date: log.startdate) %></dd>
</div>
<% end %>
</dl>

4
app/components/sales_log_summary_component.html.erb

@ -26,13 +26,13 @@
<% if log.owning_organisation %>
<div class="app-metadata__item">
<dt class="app-metadata__term">Owned by</dt>
<dd class="app-metadata__definition"><%= log.owning_organisation&.label %></dd>
<dd class="app-metadata__definition"><%= log.owning_organisation&.label(date: log.startdate) %></dd>
</div>
<% end %>
<% if log.managing_organisation %>
<div class="app-metadata__item">
<dt class="app-metadata__term">Reported by</dt>
<dd class="app-metadata__definition"><%= log.managing_organisation&.label %></dd>
<dd class="app-metadata__definition"><%= log.managing_organisation&.label(date: log.startdate) %></dd>
</div>
<% end %>
</dl>

5
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

4
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

12
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

2
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

2
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

2
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

Loading…
Cancel
Save