|
|
|
|
@ -2,14 +2,6 @@ module Validations::Sales::SoftValidations
|
|
|
|
|
include Validations::Sales::SaleInformationValidations |
|
|
|
|
|
|
|
|
|
ALLOWED_INCOME_RANGES_SALES = { |
|
|
|
|
2024 => { |
|
|
|
|
1 => OpenStruct.new(soft_min: 5000), |
|
|
|
|
2 => OpenStruct.new(soft_min: 1500), |
|
|
|
|
3 => OpenStruct.new(soft_min: 1000), |
|
|
|
|
5 => OpenStruct.new(soft_min: 2000), |
|
|
|
|
0 => OpenStruct.new(soft_min: 2000), |
|
|
|
|
}, |
|
|
|
|
2025 => { |
|
|
|
|
1 => OpenStruct.new(soft_min: 13_400, soft_max: 150_000), |
|
|
|
|
2 => OpenStruct.new(soft_min: 2_600, soft_max: 80_000), |
|
|
|
|
3 => OpenStruct.new(soft_min: 2_080, soft_max: 30_000), |
|
|
|
|
@ -20,7 +12,6 @@ module Validations::Sales::SoftValidations
|
|
|
|
|
8 => OpenStruct.new(soft_min: 520, soft_max: 150_000), |
|
|
|
|
9 => OpenStruct.new(soft_min: 520, soft_max: 150_000), |
|
|
|
|
0 => OpenStruct.new(soft_min: 520, soft_max: 150_000), |
|
|
|
|
}, |
|
|
|
|
}.freeze |
|
|
|
|
|
|
|
|
|
def income1_outside_soft_range_for_ecstat? |
|
|
|
|
@ -76,7 +67,7 @@ module Validations::Sales::SoftValidations
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def savings_over_soft_max? |
|
|
|
|
soft_max = form.start_year_2025_or_later? && type == 24 ? 200_000 : 100_000 |
|
|
|
|
soft_max = type == 24 ? 200_000 : 100_000 |
|
|
|
|
|
|
|
|
|
savings && savings > soft_max |
|
|
|
|
end |
|
|
|
|
@ -145,7 +136,7 @@ module Validations::Sales::SoftValidations
|
|
|
|
|
|
|
|
|
|
def grant_outside_common_range? |
|
|
|
|
return unless grant && type && saledate |
|
|
|
|
return if form.start_year_2024_or_later? && [21, 8].include?(type) |
|
|
|
|
return if [21, 8].include?(type) |
|
|
|
|
|
|
|
|
|
!grant.between?(9_000, 16_000) |
|
|
|
|
end |
|
|
|
|
@ -222,10 +213,9 @@ private
|
|
|
|
|
def income_under_soft_min?(income, ecstat) |
|
|
|
|
return unless income && ecstat |
|
|
|
|
|
|
|
|
|
income_ranges = form.start_year_2025_or_later? ? ALLOWED_INCOME_RANGES_SALES[2025] : ALLOWED_INCOME_RANGES_SALES[2024] |
|
|
|
|
return false unless income_ranges[ecstat] |
|
|
|
|
return false unless ALLOWED_INCOME_RANGES_SALES[ecstat] |
|
|
|
|
|
|
|
|
|
income < income_ranges[ecstat][:soft_min] |
|
|
|
|
income < ALLOWED_INCOME_RANGES_SALES[ecstat][:soft_min] |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def income1_over_soft_max_for_ecstat? |
|
|
|
|
@ -237,11 +227,11 @@ private
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def income_over_soft_max?(income, ecstat) |
|
|
|
|
return unless income && ecstat && form.start_year_2025_or_later? |
|
|
|
|
return unless income && ecstat |
|
|
|
|
|
|
|
|
|
return false unless ALLOWED_INCOME_RANGES_SALES[2025][ecstat] |
|
|
|
|
return false unless ALLOWED_INCOME_RANGES_SALES[ecstat] |
|
|
|
|
|
|
|
|
|
income > ALLOWED_INCOME_RANGES_SALES[2025][ecstat][:soft_max] |
|
|
|
|
income > ALLOWED_INCOME_RANGES_SALES[ecstat][:soft_max] |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def income_over_discounted_sale_soft_max?(income) |
|
|
|
|
|