Browse Source

CLDC-4188: Add validation between prevten and referral_register

block two other validations from previous years
CLDC-4151-new-referral-questions
Samuel Young 3 weeks ago
parent
commit
4b7bfd3462
  1. 8
      app/models/lettings_log.rb
  2. 10
      app/models/validations/household_validations.rb
  3. 4
      config/locales/validations/lettings/household.en.yml

8
app/models/lettings_log.rb

@ -377,8 +377,12 @@ class LettingsLog < Log
end
def is_internal_transfer?
# 1: Internal Transfer
referral == 1
if form.start_year_2026_or_later?
referral_register == 2
else
# 1: Internal Transfer
referral == 1
end
end
def is_from_prp_only_housing_register_or_waiting_list?

10
app/models/validations/household_validations.rb

@ -162,7 +162,7 @@ module Validations::HouseholdValidations
# 27 Owner occupation (low-cost home ownership)
# 28 Living with Friends or Family
# 29 Prison / Approved Probation Hostel
if record.is_internal_transfer? && [3, 4, 7, 10, 13, 14, 19, 23, 24, 25, 26, 27, 28, 29].include?(record.prevten)
if record.is_internal_transfer? && [3, 4, 7, 10, 13, 14, 19, 23, 24, 25, 26, 27, 28, 29].include?(record.prevten) && !record.form.start_year_2026_or_later?
label = record.form.get_question("prevten", record).present? ? record.form.get_question("prevten", record).label_from_value(record.prevten) : ""
record.errors.add :prevten, :internal_transfer_non_social_housing, message: I18n.t("validations.lettings.household.prevten.internal_transfer", prevten: label)
record.errors.add :referral, :internal_transfer_non_social_housing, message: I18n.t("validations.lettings.household.referral.prevten_invalid", prevten: label)
@ -172,7 +172,13 @@ module Validations::HouseholdValidations
def validate_referral(record)
return unless record.owning_organisation
if record.is_internal_transfer? && record.owning_organisation.provider_type == "PRP" && record.is_prevten_la_general_needs?
if record.form.start_year_2026_or_later?
if record.is_internal_transfer? && record.owning_organisation.la? && ![30, 31, 32, 33, 35, 38, 6].include?(record.prevten)
label = record.form.get_question("prevten", record).present? ? record.form.get_question("prevten", record).label_from_value(record.prevten) : ""
record.errors.add :prevten, message: I18n.t("validations.lettings.household.prevten.general_needs.internal_transfer", prevten: label)
record.errors.add :referral_register, message: I18n.t("validations.lettings.household.referral.general_needs.internal_transfer", prevten: label)
end
elsif record.is_internal_transfer? && record.owning_organisation.provider_type == "PRP" && record.is_prevten_la_general_needs?
record.errors.add :prevten, :internal_transfer_fixed_or_lifetime, message: I18n.t("validations.lettings.household.prevten.la_general_needs.internal_transfer")
record.errors.add :referral, :internal_transfer_fixed_or_lifetime, message: I18n.t("validations.lettings.household.referral.la_general_needs.internal_transfer")
end

4
config/locales/validations/lettings/household.en.yml

@ -98,8 +98,12 @@ en:
internal_transfer: "Answer cannot be %{prevten} as this tenancy is an internal transfer."
la_general_needs:
internal_transfer: "Answer cannot be a fixed-term or lifetime local authority general needs tenancy as it’s an internal transfer and a private registered provider is on the tenancy agreement."
general_needs:
internal_transfer: "Answer cannot be %{prevten} as this tenancy is an internal transfer. Internal transfers are for existing social tenants only, your answer to where the household was immediately before this letting shows the tenant was not in the social sector immediately prior to this letting."
referral:
prevten_invalid: "Answer cannot be internal transfer as the household situation immediately before this letting was %{prevten}."
la_general_needs:
internal_transfer: "Answer cannot be internal transfer as it’s the same landlord on the tenancy agreement and the household had either a fixed-term or lifetime local authority general needs tenancy immediately before this letting."
general_needs:
internal_transfer: "Answer cannot be internal transfer as the household situation immediately before this letting was %{prevten}. Internal transfers are for existing social tenants only, your answer to where the household was immediately before this letting shows the tenant was not in the social sector immediately prior to this letting."

Loading…
Cancel
Save