From 3d5b42e09bf23dc82400cb9a749ce1f6e36841c4 Mon Sep 17 00:00:00 2001 From: oscar-richardson-softwire Date: Mon, 9 Feb 2026 14:56:23 +0000 Subject: [PATCH] Fix inference logic --- .../derived_variables/lettings_log_variables.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/models/derived_variables/lettings_log_variables.rb b/app/models/derived_variables/lettings_log_variables.rb index 22541c2e0..5669089e3 100644 --- a/app/models/derived_variables/lettings_log_variables.rb +++ b/app/models/derived_variables/lettings_log_variables.rb @@ -247,6 +247,17 @@ private if form.start_year_2024_or_later? && (unittype_gn_changed? && unittype_gn_was == 2) self.beds = nil end + if form.start_year_2026_or_later? + (2..8).each do |i| + if send("relat#{i}_changed?") && send("relat#{i}_was") == "P" + (i + 1..8).each do |j| + if self["relat#{j}"] == "X" + self["relat#{j}"] = nil + end + end + end + end + end end def get_totelder @@ -300,7 +311,10 @@ private end def infer_at_most_one_relationship! - if partner_numbers.any? + new_partner_numbers = partner_numbers.select { |i| public_send("relat#{i}_changed?") } + if new_partner_numbers.any? + infer_only_partner!(new_partner_numbers.first) + elsif partner_numbers.any? infer_only_partner!(partner_numbers.first) end end