diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index a4a3f9192..b168cffa5 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -518,6 +518,21 @@ class LettingsLog < Log is_carehome == 1 end + def blank_compound_invalid_non_setup_fields! + super + + validate_property_postcode(self) + self.postcode_known = nil if errors.of_kind?(:postcode_full, :wrong_format) + + validate_net_income(self) + if errors.of_kind?(:earnings, :under_hard_min) + self.earnings = nil + self.incfreq = nil + self.incref = 1 + self.net_income_known = 2 + end + end + private def reset_derived_questions diff --git a/app/models/log.rb b/app/models/log.rb index 4ee748eda..37c9a336f 100644 --- a/app/models/log.rb +++ b/app/models/log.rb @@ -98,6 +98,8 @@ class Log < ApplicationRecord def blank_invalid_non_setup_fields! setup_ids = form.setup_sections.flat_map(&:subsections).flat_map(&:questions).map(&:id) + blank_compound_invalid_non_setup_fields! + errors.each do |error| next if setup_ids.include?(error.attribute.to_s) @@ -136,6 +138,22 @@ class Log < ApplicationRecord format_as_currency(field_value) end + def blank_compound_invalid_non_setup_fields! + validate_previous_accommodation_postcode(self) + self.ppcodenk = nil if errors.of_kind?(:ppostcode_full, :wrong_format) + + process_uprn_change! + if errors.of_kind?(:uprn, :uprn_error) + self.uprn_known = 0 + self.uprn_confirmed = nil + self.address_line1 = nil + self.address_line2 = nil + self.town_or_city = nil + self.postcode_full = nil + self.county = nil + end + end + private # Handle logs that are older than previous collection start date diff --git a/app/models/sales_log.rb b/app/models/sales_log.rb index 4c849826d..d8ed31f0b 100644 --- a/app/models/sales_log.rb +++ b/app/models/sales_log.rb @@ -355,4 +355,16 @@ class SalesLog < Log "outright sale" end end + + def blank_compound_invalid_non_setup_fields! + super + + validate_property_postcode(self) + self.pcodenk = nil if errors.of_kind?(:postcode_full, :wrong_format) + + validate_previous_postcode(self) + if errors.of_kind?(:postcode_full, :postcodes_not_matching) + self.ppcodenk = nil + end + end end