Browse Source

Separate tenancy startdate and scheme validation & fix bug

pull/2510/head
Manny Dinssa 2 years ago
parent
commit
ab69841f7c
  1. 1
      app/models/validations/setup_validations.rb
  2. 15
      app/models/validations/shared_validations.rb

1
app/models/validations/setup_validations.rb

@ -82,6 +82,7 @@ module Validations::SetupValidations
def validate_scheme(record)
scheme_during_startdate_validation(record)
tenancy_startdate_with_scheme_locations(record)
end
def validate_location(record)

15
app/models/validations/shared_validations.rb

@ -77,17 +77,15 @@ module Validations::SharedValidations
def scheme_during_startdate_validation(record)
scheme_inactive_status = inactive_status(record.startdate, record.scheme)
if scheme_inactive_status.present?
date, scope, deactivation_date = scheme_inactive_status.values_at(:date, :scope, :deactivation_date)
record.errors.add :startdate, I18n.t("validations.setup.startdate.scheme.#{scope}.startdate", name: record.scheme.service_name, date:, deactivation_date:)
record.errors.add :scheme_id, I18n.t("validations.setup.startdate.scheme.#{scope}.scheme_id", name: record.scheme.service_name, date:, deactivation_date:)
end
if record.scheme.present? && !record.scheme.has_active_locations_on_date?(record.startdate)
record.errors.add :startdate, I18n.t("validations.setup.startdate.scheme.locations_inactive.startdate", name: record.scheme.service_name)
record.errors.add :scheme_id, I18n.t("validations.setup.startdate.scheme.locations_inactive.scheme_id", name: record.scheme.service_name)
end
end
def inactive_status(date, resource)
return if date.blank? || resource.blank?
@ -106,6 +104,15 @@ module Validations::SharedValidations
{ scope: status, date: date&.to_formatted_s(:govuk_date), deactivation_date: closest_reactivation&.deactivation_date&.to_formatted_s(:govuk_date) }
end
def tenancy_startdate_with_scheme_locations(record)
return unless record.respond_to?(:scheme)
return if record.scheme.blank? || record.startdate.blank?
return if record.scheme.has_active_locations_on_date?(record.startdate)
record.errors.add :startdate, I18n.t("validations.setup.startdate.scheme.locations_inactive.startdate", name: record.scheme.service_name)
record.errors.add :scheme_id, I18n.t("validations.setup.startdate.scheme.locations_inactive.scheme_id", name: record.scheme.service_name)
end
def shared_validate_partner_count(record, max_people)
return if record.form.start_year_after_2024?

Loading…
Cancel
Save