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 end
def is_internal_transfer? def is_internal_transfer?
# 1: Internal Transfer if form.start_year_2026_or_later?
referral == 1 referral_register == 2
else
# 1: Internal Transfer
referral == 1
end
end end
def is_from_prp_only_housing_register_or_waiting_list? 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) # 27 Owner occupation (low-cost home ownership)
# 28 Living with Friends or Family # 28 Living with Friends or Family
# 29 Prison / Approved Probation Hostel # 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) : "" 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 :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) 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) def validate_referral(record)
return unless record.owning_organisation 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 :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") record.errors.add :referral, :internal_transfer_fixed_or_lifetime, message: I18n.t("validations.lettings.household.referral.la_general_needs.internal_transfer")
end 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." internal_transfer: "Answer cannot be %{prevten} as this tenancy is an internal transfer."
la_general_needs: 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." 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: referral:
prevten_invalid: "Answer cannot be internal transfer as the household situation immediately before this letting was %{prevten}." prevten_invalid: "Answer cannot be internal transfer as the household situation immediately before this letting was %{prevten}."
la_general_needs: 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." 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