From 2033d099c2e310071dfbaf1e066055f347e2a7b7 Mon Sep 17 00:00:00 2001 From: Nat Dean-Lewis Date: Thu, 5 Feb 2026 11:48:22 +0000 Subject: [PATCH] CLDC-4141: revert breaking export service changes --- .../exports/lettings_log_export_service.rb | 48 +++++-------------- 1 file changed, 12 insertions(+), 36 deletions(-) diff --git a/app/services/exports/lettings_log_export_service.rb b/app/services/exports/lettings_log_export_service.rb index 811d0e439..5e67b4854 100644 --- a/app/services/exports/lettings_log_export_service.rb +++ b/app/services/exports/lettings_log_export_service.rb @@ -162,38 +162,16 @@ module Exports attribute_hash["location_status"] = location.status_at(attribute_hash["startdate"]) end - def is_included_field?(field_name, fields_for_form) - details_known_prefix = "details_known_" + def is_omitted_field?(field_name, lettings_log) pattern_age = /age\d_known/ - - if field_name.starts_with?(details_known_prefix) || pattern_age.match(field_name) - false - end - - fields_for_form.include?(field_name) - end - - def get_fields_for_form(lettings_log) - included_fields = Set[] - included_fields.merge(EXPORT_FIELDS) - - if lettings_log.form.start_year_2024_or_later? - included_fields.merge(POST_2024_EXPORT_FIELDS) - else - included_fields.merge(PRE_2024_EXPORT_FIELDS) - end - - unless lettings_log.form.start_year_2025_or_later? - included_fields.merge(PRE_2025_EXPORT_FIELDS) - end - - if lettings_log.form.start_year_2026_or_later? - included_fields.merge(POST_2026_EXPORT_FIELDS) - else - included_fields.merge(PRE_2026_EXPORT_FIELDS) - end - - included_fields + details_known_prefix = "details_known_" + field_name.starts_with?(details_known_prefix) || + pattern_age.match(field_name) || + !EXPORT_FIELDS.include?(field_name) || + (lettings_log.form.start_year_2024_or_later? && PRE_2024_EXPORT_FIELDS.include?(field_name)) || + (!lettings_log.form.start_year_2024_or_later? && POST_2024_EXPORT_FIELDS.include?(field_name)) || + (lettings_log.form.start_year_2025_or_later? && PRE_2025_EXPORT_FIELDS.include?(field_name)) || + (lettings_log.form.start_year_2026_or_later? && PRE_2026_EXPORT_FIELDS.include?(field_name)) end def build_export_xml(lettings_logs) @@ -203,13 +181,11 @@ module Exports attribute_hash = apply_cds_transformation(lettings_log, EXPORT_MODE[:xml]) form = doc.create_element("form") doc.at("forms") << form - fields_for_form = get_fields_for_form(lettings_log) - attribute_hash.each do |key, value| - if is_included_field?(key, fields_for_form) - form << doc.create_element(key, value) - else + if is_omitted_field?(key, lettings_log) next + else + form << doc.create_element(key, value) end end form << doc.create_element("providertype", lettings_log.owning_organisation&.read_attribute_before_type_cast(:provider_type))