From 10a050e26104a2c5e90de20878d9594be59bce8f Mon Sep 17 00:00:00 2001 From: Arthur Campbell Date: Mon, 23 Jan 2023 12:11:02 +0000 Subject: [PATCH] implement before validation check to ensure that if the user declares no mortgage will be used, mortgage value is set to 0 --- app/models/sales_log.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/models/sales_log.rb b/app/models/sales_log.rb index b78dd2321..87e9380e5 100644 --- a/app/models/sales_log.rb +++ b/app/models/sales_log.rb @@ -29,6 +29,7 @@ class SalesLog < Log before_validation :process_previous_postcode_changes!, if: :ppostcode_full_changed? before_validation :reset_location_fields!, unless: :postcode_known? before_validation :reset_previous_location_fields!, unless: :previous_postcode_known? + before_validation :set_mortgage_value_zero, if: :mortgage_not_used? scope :filter_by_year, ->(year) { where(saledate: Time.zone.local(year.to_i, 4, 1)...Time.zone.local(year.to_i + 1, 4, 1)) } scope :search_by, ->(param) { filter_by_id(param) } @@ -186,6 +187,10 @@ class SalesLog < Log mortgageused == 2 end + def set_mortgage_value_zero + self.mortgage = 0 + end + def process_postcode_changes! self.postcode_full = upcase_and_remove_whitespace(postcode_full) process_postcode(postcode_full, "pcodenk", "is_la_inferred", "la")