From 9efe368dfd38de4306a6191211f90f4be333f57b Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Fri, 16 Jun 2023 18:25:23 +0100 Subject: [PATCH] Add method for importing the 'offered' field into already imported lettings logs --- .../lettings_logs_field_import_service.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/services/imports/lettings_logs_field_import_service.rb b/app/services/imports/lettings_logs_field_import_service.rb index e59e178f2..694eb943d 100644 --- a/app/services/imports/lettings_logs_field_import_service.rb +++ b/app/services/imports/lettings_logs_field_import_service.rb @@ -8,6 +8,8 @@ module Imports import_from(folder, :update_major_repairs) when "lettings_allocation" import_from(folder, :update_lettings_allocation) + when "offered" + import_from(folder, :update_offered) else raise "Updating #{field} is not supported by the field import service" end @@ -15,6 +17,23 @@ module Imports private + def update_offered(xml_doc) + old_id = meta_field_value(xml_doc, "document-id") + record = LettingsLog.find_by(old_id:) + + if record.present? + if record.offered.present? + @logger.info("lettings log #{record.id} has a value for offered, skipping update") + else + offered = safe_string_as_integer(xml_doc, "Q20") + record.update!(offered:) + @logger.info("lettings log #{record.id}'s offered value has been set to #{offered}'") + end + else + @logger.warn("lettings log with old id #{old_id} not found") + end + end + def update_lettings_allocation(xml_doc) old_id = meta_field_value(xml_doc, "document-id") previous_status = meta_field_value(xml_doc, "status")