diff --git a/app/models/derived_variables/sales_log_variables.rb b/app/models/derived_variables/sales_log_variables.rb index 09bc9898c..2083734f2 100644 --- a/app/models/derived_variables/sales_log_variables.rb +++ b/app/models/derived_variables/sales_log_variables.rb @@ -75,7 +75,7 @@ module DerivedVariables::SalesLogVariables self.nationality_all = nationality_all_group if nationality_uk_or_prefers_not_to_say? self.nationality_all_buyer2 = nationality_all_buyer2_group if nationality2_uk_or_prefers_not_to_say? - self.numstair = nil if is_firststair? + self.numstair = is_firststair? ? 1 : nil if self.numstair == 1 && self.firststair_changed? self.mrent = 0 if stairowned_100? set_encoded_derived_values!(DEPENDENCIES) diff --git a/app/models/sales_log.rb b/app/models/sales_log.rb index 361aab6f6..51e75fa73 100644 --- a/app/models/sales_log.rb +++ b/app/models/sales_log.rb @@ -561,4 +561,8 @@ class SalesLog < Log def is_firststair? firststair == 1 end + + def is_not_firststair? + firststair != 1 + end end diff --git a/app/models/validations/sales/sale_information_validations.rb b/app/models/validations/sales/sale_information_validations.rb index 9c5b85e3a..3dcca0b6f 100644 --- a/app/models/validations/sales/sale_information_validations.rb +++ b/app/models/validations/sales/sale_information_validations.rb @@ -359,13 +359,10 @@ module Validations::Sales::SaleInformationValidations def validate_number_of_staircase_transactions(record) return unless record.numstair - if record.firststair == 1 && record.numstair >= 2 || record.firststair != 1 && record.numstair == 1 + if record.firststair == 2 && record.numstair < 2 record.errors.add :numstair, I18n.t("validations.sales.sale_information.numstair.must_be_greater_than_one") record.errors.add :firststair, I18n.t("validations.sales.sale_information.firststair.more_than_one_transaction") end - if record.numstair > 10 - record.errors.add :numstair, I18n.t("validations.sales.sale_information.numstair.must_be_ten_or_less") - end end def over_tolerance?(expected, actual, tolerance, strict: false) diff --git a/config/locales/validations/sales/sale_information.en.yml b/config/locales/validations/sales/sale_information.en.yml index ceed78646..013b45d44 100644 --- a/config/locales/validations/sales/sale_information.en.yml +++ b/config/locales/validations/sales/sale_information.en.yml @@ -127,6 +127,5 @@ en: value_over_discounted_max: "The percentage discount multiplied by the purchase price is %{discount_value}. This figure should not be more than £102,400 for properties outside of London." numstair: must_be_greater_than_one: "The number of staircasing transactions must be greater than 1 when this is not the first staircasing transaction." - must_be_ten_or_less: "The number of staircasing transactions cannot be greater than 10." firststair: more_than_one_transaction: "The answer to 'Is this the first staircasing transaction?' cannot be 'yes' if the number of staircasing transactions is more than 1."