Browse Source

Update validation

pull/2793/head
Manny Dinssa 9 months ago
parent
commit
e4da4f3d09
  1. 2
      app/models/derived_variables/sales_log_variables.rb
  2. 4
      app/models/sales_log.rb
  3. 5
      app/models/validations/sales/sale_information_validations.rb
  4. 1
      config/locales/validations/sales/sale_information.en.yml

2
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)

4
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

5
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)

1
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."

Loading…
Cancel
Save