From 8814a9007d67ade6dc3b82f72278fa84409fc89b Mon Sep 17 00:00:00 2001 From: Arthur Campbell Date: Fri, 14 Jun 2024 13:53:27 +0100 Subject: [PATCH] update validation logic --- .../sales/sale_information_validations.rb | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/app/models/validations/sales/sale_information_validations.rb b/app/models/validations/sales/sale_information_validations.rb index 979757e51..7840f8ec0 100644 --- a/app/models/validations/sales/sale_information_validations.rb +++ b/app/models/validations/sales/sale_information_validations.rb @@ -147,15 +147,6 @@ module Validations::Sales::SaleInformationValidations end end - def validate_mortgage_used_and_stairbought(record) - return unless record.stairowned && record.mortgageused - - if !record.stairowned_100? && record.mortgageused == 3 - record.errors.add :stairowned, I18n.t("validations.sale_information.stairowned.mortgageused_dont_know") - record.errors.add :mortgageused, I18n.t("validations.sale_information.stairowned.mortgageused_dont_know") - end - end - def check_non_staircasing_socialhomebuy_mortgage(record) return unless record.cashdis @@ -237,16 +228,22 @@ module Validations::Sales::SaleInformationValidations end def validate_mortgage_used_dont_know(record) - return unless record.mortgageused == 3 + return unless record.mortgage_use_unknown? if record.discounted_ownership_sale? - record.errors.add(:mortgageused, I18n.t("validations.invalid_option", question: "Was a mortgage used for the purchase of this property?")) + record.errors.add(:mortgageused, I18n.t("validations.invalid_option", question: "was a mortgage used for the purchase of this property?")) end if record.outright_sale? && record.saledate && !record.form.start_year_after_2024? - record.errors.add(:mortgageused, I18n.t("validations.invalid_option", question: "Was a mortgage used for the purchase of this property?")) + record.errors.add(:mortgageused, I18n.t("validations.invalid_option", question: "was a mortgage used for the purchase of this property?")) + record.errors.add(:saledate, I18n.t("validations.financial.mortgage_used.year")) + end + if record.shared_ownership_scheme? && record.is_not_staircasing? + record.errors.add(:mortgageused, I18n.t("validations.invalid_option", question: "was a mortgage used for the purchase of this property?")) + record.errors.add(:staircase, I18n.t("validations.financial.mortgage_used.staircasing")) end - if record.shared_ownership_scheme? && record.staircase && record.staircase != 1 - record.errors.add(:mortgageused, I18n.t("validations.invalid_option", question: "Was a mortgage used for the purchase of this property?")) + if record.stairowned && !record.stairowned_100? + record.errors.add :stairowned, I18n.t("validations.sale_information.stairowned.mortgageused_dont_know") + record.errors.add :mortgageused, I18n.t("validations.sale_information.stairowned.mortgageused_dont_know") end end