diff --git a/app/helpers/form_page_error_helper.rb b/app/helpers/form_page_error_helper.rb index 8a46accca..c2c13e0c6 100644 --- a/app/helpers/form_page_error_helper.rb +++ b/app/helpers/form_page_error_helper.rb @@ -4,6 +4,15 @@ module FormPageErrorHelper other_page_error_ids.each { |id| lettings_log.errors.delete(id) } end + def remove_duplicate_page_errors(lettings_log) + lettings_log.errors.group_by(&:message).each do |_, errors| + next if errors.size == 1 + + errors.shift + errors.each { |error| lettings_log.errors.delete(error.attribute) } + end + end + def all_questions_affected_by_errors(log) log.errors.map(&:attribute) - [:base] end diff --git a/app/models/validations/sales/sale_information_validations.rb b/app/models/validations/sales/sale_information_validations.rb index 42c6a6172..8bfa46783 100644 --- a/app/models/validations/sales/sale_information_validations.rb +++ b/app/models/validations/sales/sale_information_validations.rb @@ -222,7 +222,7 @@ module Validations::Sales::SaleInformationValidations value: record.field_formatted_as_currency("value"), equity: "#{record.equity}%", mortgage_and_deposit_total: record.field_formatted_as_currency("mortgage_and_deposit_total"), - expected_shared_ownership_deposit_value: record.field_formatted_as_currency("expected_shared_ownership_deposit_value")) + expected_shared_ownership_deposit_value: record.field_formatted_as_currency("expected_shared_ownership_deposit_value")).html_safe end record.errors.add :type, :skip_bu_error, message: I18n.t("validations.sale_information.non_staircasing_mortgage.mortgage_used", mortgage: record.field_formatted_as_currency("mortgage"), @@ -230,7 +230,7 @@ module Validations::Sales::SaleInformationValidations value: record.field_formatted_as_currency("value"), equity: "#{record.equity}%", mortgage_and_deposit_total: record.field_formatted_as_currency("mortgage_and_deposit_total"), - expected_shared_ownership_deposit_value: record.field_formatted_as_currency("expected_shared_ownership_deposit_value")) + expected_shared_ownership_deposit_value: record.field_formatted_as_currency("expected_shared_ownership_deposit_value")).html_safe end elsif record.mortgage_not_used? if over_tolerance?(record.deposit, record.expected_shared_ownership_deposit_value, 1) diff --git a/app/views/form/check_errors.html.erb b/app/views/form/check_errors.html.erb index 27fa3ea0c..bab4858a5 100644 --- a/app/views/form/check_errors.html.erb +++ b/app/views/form/check_errors.html.erb @@ -2,6 +2,7 @@