Browse Source

Merge branch 'main' into CLDC-1464-completion-date-validations

# Conflicts:
#	config/locales/en.yml
#	spec/models/form_handler_spec.rb
pull/1259/head
natdeanlewissoftwire 3 years ago
parent
commit
40ddad9c36
  1. 6
      app/components/check_answers_summary_list_card_component.html.erb
  2. 15
      app/components/check_answers_summary_list_card_component.rb
  3. 4
      app/controllers/lettings_logs_controller.rb
  4. 4
      app/frontend/styles/application.scss
  5. 16
      app/helpers/collection_time_helper.rb
  6. 46
      app/mailers/bulk_upload_mailer.rb
  7. 8
      app/models/bulk_upload.rb
  8. 5
      app/models/form/lettings/pages/access_needs_exist.rb
  9. 5
      app/models/form/lettings/pages/allocation_system.rb
  10. 5
      app/models/form/lettings/pages/armed_forces.rb
  11. 11
      app/models/form/lettings/pages/armed_forces_injured.rb
  12. 11
      app/models/form/lettings/pages/armed_forces_serving.rb
  13. 5
      app/models/form/lettings/pages/benefits_proportion.rb
  14. 17
      app/models/form/lettings/pages/care_home_4_weekly.rb
  15. 17
      app/models/form/lettings/pages/care_home_bi_weekly.rb
  16. 17
      app/models/form/lettings/pages/care_home_monthly.rb
  17. 27
      app/models/form/lettings/pages/care_home_weekly.rb
  18. 11
      app/models/form/lettings/pages/declaration.rb
  19. 19
      app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_lead_age_value_check.rb
  20. 19
      app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_lead_hhmemb_value_check.rb
  21. 19
      app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_lead_value_check.rb
  22. 36
      app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check.rb
  23. 36
      app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check.rb
  24. 19
      app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_value_check.rb
  25. 11
      app/models/form/lettings/pages/first_time_property_let_as_social_housing.rb
  26. 11
      app/models/form/lettings/pages/health_condition_effects.rb
  27. 5
      app/models/form/lettings/pages/health_conditions.rb
  28. 5
      app/models/form/lettings/pages/homelessness.rb
  29. 11
      app/models/form/lettings/pages/household_members.rb
  30. 5
      app/models/form/lettings/pages/housing_benefit.rb
  31. 15
      app/models/form/lettings/pages/income_amount.rb
  32. 11
      app/models/form/lettings/pages/income_known.rb
  33. 5
      app/models/form/lettings/pages/joint.rb
  34. 14
      app/models/form/lettings/pages/lead_tenant_age.rb
  35. 11
      app/models/form/lettings/pages/lead_tenant_ethnic_background_arab.rb
  36. 11
      app/models/form/lettings/pages/lead_tenant_ethnic_background_asian.rb
  37. 11
      app/models/form/lettings/pages/lead_tenant_ethnic_background_black.rb
  38. 11
      app/models/form/lettings/pages/lead_tenant_ethnic_background_mixed.rb
  39. 11
      app/models/form/lettings/pages/lead_tenant_ethnic_background_white.rb
  40. 11
      app/models/form/lettings/pages/lead_tenant_ethnic_group.rb
  41. 11
      app/models/form/lettings/pages/lead_tenant_gender_identity.rb
  42. 11
      app/models/form/lettings/pages/lead_tenant_nationality.rb
  43. 32
      app/models/form/lettings/pages/lead_tenant_over_retirement_value_check.rb
  44. 32
      app/models/form/lettings/pages/lead_tenant_under_retirement_value_check.rb
  45. 11
      app/models/form/lettings/pages/lead_tenant_working_situation.rb
  46. 10
      app/models/form/lettings/pages/location.rb
  47. 25
      app/models/form/lettings/pages/max_rent_value_check.rb
  48. 25
      app/models/form/lettings/pages/min_rent_value_check.rb
  49. 19
      app/models/form/lettings/pages/net_income_value_check.rb
  50. 15
      app/models/form/lettings/pages/new_build_handover_date.rb
  51. 19
      app/models/form/lettings/pages/no_females_pregnant_household_lead_age_value_check.rb
  52. 19
      app/models/form/lettings/pages/no_females_pregnant_household_lead_hhmemb_value_check.rb
  53. 19
      app/models/form/lettings/pages/no_females_pregnant_household_lead_value_check.rb
  54. 19
      app/models/form/lettings/pages/no_females_pregnant_household_person_age_value_check.rb
  55. 19
      app/models/form/lettings/pages/no_females_pregnant_household_person_value_check.rb
  56. 19
      app/models/form/lettings/pages/no_females_pregnant_household_value_check.rb
  57. 16
      app/models/form/lettings/pages/outstanding.rb
  58. 14
      app/models/form/lettings/pages/outstanding_amount.rb
  59. 15
      app/models/form/lettings/pages/person_age.rb
  60. 12
      app/models/form/lettings/pages/person_gender_identity.rb
  61. 13
      app/models/form/lettings/pages/person_known.rb
  62. 36
      app/models/form/lettings/pages/person_over_retirement_value_check.rb
  63. 12
      app/models/form/lettings/pages/person_relationship_to_lead.rb
  64. 36
      app/models/form/lettings/pages/person_under_retirement_value_check.rb
  65. 21
      app/models/form/lettings/pages/person_working_situation.rb
  66. 5
      app/models/form/lettings/pages/pregnant.rb
  67. 11
      app/models/form/lettings/pages/previous_housing_situation.rb
  68. 11
      app/models/form/lettings/pages/previous_housing_situation_renewal.rb
  69. 14
      app/models/form/lettings/pages/previous_local_authority.rb
  70. 8
      app/models/form/lettings/pages/previous_postcode.rb
  71. 11
      app/models/form/lettings/pages/property_building_type.rb
  72. 11
      app/models/form/lettings/pages/property_let_type.rb
  73. 11
      app/models/form/lettings/pages/property_local_authority.rb
  74. 25
      app/models/form/lettings/pages/property_major_repairs.rb
  75. 13
      app/models/form/lettings/pages/property_major_repairs_value_check.rb
  76. 11
      app/models/form/lettings/pages/property_number_of_bedrooms.rb
  77. 11
      app/models/form/lettings/pages/property_number_of_times_relet_not_social_let.rb
  78. 11
      app/models/form/lettings/pages/property_number_of_times_relet_social_let.rb
  79. 14
      app/models/form/lettings/pages/property_postcode.rb
  80. 11
      app/models/form/lettings/pages/property_unit_type.rb
  81. 11
      app/models/form/lettings/pages/property_vacancy_reason_first_let.rb
  82. 11
      app/models/form/lettings/pages/property_vacancy_reason_not_first_let.rb
  83. 11
      app/models/form/lettings/pages/property_wheelchair_accessible.rb
  84. 14
      app/models/form/lettings/pages/reason_for_leaving_last_settled_home.rb
  85. 11
      app/models/form/lettings/pages/reason_for_leaving_last_settled_home_renewal.rb
  86. 5
      app/models/form/lettings/pages/reasonable_preference.rb
  87. 11
      app/models/form/lettings/pages/reasonable_preference_reason.rb
  88. 11
      app/models/form/lettings/pages/referral.rb
  89. 11
      app/models/form/lettings/pages/referral_prp.rb
  90. 11
      app/models/form/lettings/pages/referral_supported_housing.rb
  91. 11
      app/models/form/lettings/pages/referral_supported_housing_prp.rb
  92. 23
      app/models/form/lettings/pages/rent_4_weekly.rb
  93. 23
      app/models/form/lettings/pages/rent_bi_weekly.rb
  94. 23
      app/models/form/lettings/pages/rent_monthly.rb
  95. 11
      app/models/form/lettings/pages/rent_or_other_charges.rb
  96. 11
      app/models/form/lettings/pages/rent_period.rb
  97. 43
      app/models/form/lettings/pages/rent_weekly.rb
  98. 8
      app/models/form/lettings/pages/scheme.rb
  99. 11
      app/models/form/lettings/pages/shelteredaccom.rb
  100. 5
      app/models/form/lettings/pages/starter_tenancy.rb
  101. Some files were not shown because too many files have changed in this diff Show More

6
app/components/check_answers_summary_list_card_component.html.erb

@ -5,6 +5,7 @@
<h3 class="x-govuk-summary-card__title"><%= check_answers_card_title(applicable_questions.first) %></h3>
</div>
<% end %>
<div class="x-govuk-summary-card__body">
<%= govuk_summary_list do |summary_list| %>
<% applicable_questions.each do |question| %>
@ -12,15 +13,20 @@
<% row.key { question.check_answer_label.to_s.presence || question.header.to_s } %>
<% row.value do %>
<span class="govuk-!-margin-right-4"><%= get_answer_label(question) %></span>
<% extra_value = question.get_extra_check_answer_value(log) %>
<% if extra_value %>
<span class="govuk-!-font-weight-regular app-!-colour-muted"><%= extra_value %></span>
<% end %>
<br>
<% question.get_inferred_answers(log).each do |inferred_answer| %>
<span class="govuk-!-font-weight-regular app-!-colour-muted"><%= inferred_answer %></span>
<% end %>
<% end %>
<% if @log.collection_period_open? %>
<% row.action(
text: question.action_text(log),

15
app/components/check_answers_summary_list_card_component.rb

@ -5,6 +5,7 @@ class CheckAnswersSummaryListCardComponent < ViewComponent::Base
@questions = questions
@log = log
@user = user
super
end
@ -13,7 +14,7 @@ class CheckAnswersSummaryListCardComponent < ViewComponent::Base
end
def get_answer_label(question)
question.answer_label(log, user).presence || "<span class=\"app-!-colour-muted\">You didn’t answer this question</span>".html_safe
question.answer_label(log, user).presence || unanswered_value
end
def check_answers_card_title(question)
@ -36,6 +37,18 @@ class CheckAnswersSummaryListCardComponent < ViewComponent::Base
private
def unanswered_value
if bulk_uploaded?
"<span class=\"app-!-colour-red\">You still need to answer this question</span>".html_safe
else
"<span class=\"app-!-colour-muted\">You didn’t answer this question</span>".html_safe
end
end
def bulk_uploaded?
log.bulk_upload
end
def number_of_buyers
log[:jointpur] == 1 ? 2 : 1
end

4
app/controllers/lettings_logs_controller.rb

@ -119,8 +119,8 @@ private
end
def extract_bulk_upload_from_session_filters
id = ((@session_filters["bulk_upload_id"] || []).reject(&:blank?))[0]
@bulk_upload = current_user.bulk_uploads.find_by(id:)
filter_service = FilterService.new(current_user:, session:)
@bulk_upload = filter_service.bulk_upload
end
def permitted_log_params

4
app/frontend/styles/application.scss

@ -51,6 +51,10 @@ $govuk-breakpoints: (
color: $govuk-secondary-text-colour !important;
}
.app-\!-colour-red {
color: govuk-colour("red");
}
.app-\!-font-tabular {
@include govuk-font($size: false, $tabular: true);
}

16
app/helpers/collection_time_helper.rb

@ -0,0 +1,16 @@
module CollectionTimeHelper
def current_collection_start_year
today = Time.zone.now
window_end_date = Time.zone.local(today.year, 4, 1)
today < window_end_date ? today.year - 1 : today.year
end
def collection_start_date(date)
window_end_date = Time.zone.local(date.year, 4, 1)
date < window_end_date ? Time.zone.local(date.year - 1, 4, 1) : Time.zone.local(date.year, 4, 1)
end
def current_collection_start_date
Time.zone.local(current_collection_start_year, 4, 1)
end
end

46
app/mailers/bulk_upload_mailer.rb

@ -1,20 +1,34 @@
class BulkUploadMailer < NotifyMailer
include ActionView::Helpers::TextHelper
BULK_UPLOAD_COMPLETE_TEMPLATE_ID = "83279578-c890-4168-838b-33c9cf0dc9f0".freeze
BULK_UPLOAD_FAILED_CSV_ERRORS_TEMPLATE_ID = "e27abcd4-5295-48c2-b127-e9ee4b781b75".freeze
BULK_UPLOAD_FAILED_FILE_SETUP_ERROR_TEMPLATE_ID = "24c9f4c7-96ad-470a-ba31-eb51b7cbafd9".freeze
BULK_UPLOAD_FAILED_SERVICE_ERROR_TEMPLATE_ID = "c3f6288c-7a74-4e77-99ee-6c4a0f6e125a".freeze
BULK_UPLOAD_WITH_ERRORS_TEMPLATE_ID = "eb539005-6234-404e-812d-167728cf4274".freeze
def send_bulk_upload_complete_mail(user, bulk_upload)
def send_bulk_upload_complete_mail(user:, bulk_upload:)
url = if bulk_upload.lettings?
lettings_logs_url
else
sales_logs_url
end
n_logs = pluralize(bulk_upload.logs.count, "log")
title = "You’ve successfully uploaded #{n_logs}"
success_description = "The #{bulk_upload.log_type} #{bulk_upload.year_combo} data you uploaded has been checked. The #{n_logs} you uploaded are now complete."
send_email(
user.email,
BULK_UPLOAD_COMPLETE_TEMPLATE_ID,
{
title: "[#{bulk_upload} title]",
filename: "[#{bulk_upload} filename]",
upload_timestamp: "[#{bulk_upload} upload_timestamp]",
success_description: "[#{bulk_upload} success_description]",
logs_link: "[#{bulk_upload} logs_link]",
title:,
filename: bulk_upload.filename,
upload_timestamp: bulk_upload.created_at,
success_description:,
logs_link: url,
},
)
end
@ -49,16 +63,22 @@ class BulkUploadMailer < NotifyMailer
)
end
def send_bulk_upload_failed_service_error_mail(user, bulk_upload)
def send_bulk_upload_failed_service_error_mail(bulk_upload:)
bulk_upload_link = if bulk_upload.lettings?
start_bulk_upload_lettings_logs_url
else
start_bulk_upload_sales_logs_url
end
send_email(
user.email,
bulk_upload.user.email,
BULK_UPLOAD_FAILED_SERVICE_ERROR_TEMPLATE_ID,
{
filename: "[#{bulk_upload} filename]",
upload_timestamp: "[#{bulk_upload} upload_timestamp]",
lettings_or_sales: "[#{bulk_upload} lettings_or_sales]",
year_combo: "[#{bulk_upload} year_combo]",
bulk_upload_link: "[#{bulk_upload} bulk_upload_link]",
filename: bulk_upload.filename,
upload_timestamp: bulk_upload.created_at,
lettings_or_sales: bulk_upload.log_type,
year_combo: bulk_upload.year_combo,
bulk_upload_link:,
},
)
end

8
app/models/bulk_upload.rb

@ -14,6 +14,14 @@ class BulkUpload < ApplicationRecord
"#{year}/#{year - 2000 + 1}"
end
def logs
if lettings?
lettings_logs
else
sales_logs
end
end
private
def generate_identifier

5
app/models/form/lettings/pages/access_needs_exist.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::AccessNeedsExist < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::Housingneeds.new(nil, nil, self)]
end
end

5
app/models/form/lettings/pages/allocation_system.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::AllocationSystem < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::LettingAllocation.new(nil, nil, self)]
end
end

5
app/models/form/lettings/pages/armed_forces.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::ArmedForces < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::Armedforces.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/armed_forces_injured.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::ArmedForcesInjured < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "armed_forces_injured"
@depends_on = [{ "armedforces" => 1 }, { "armedforces" => 4 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Reservist.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/armed_forces_serving.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::ArmedForcesServing < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "armed_forces_serving"
@depends_on = [{ "armedforces" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Leftreg.new(nil, nil, self)]
end
end

5
app/models/form/lettings/pages/benefits_proportion.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::BenefitsProportion < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::Benefits.new(nil, nil, self)]
end
end

17
app/models/form/lettings/pages/care_home_4_weekly.rb

@ -0,0 +1,17 @@
class Form::Lettings::Pages::CareHome4Weekly < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "care_home_4_weekly"
@depends_on = [
{ "period" => 3, "needstype" => 2, "household_charge" => 0 },
{ "period" => 3, "needstype" => 2, "household_charge" => nil },
]
end
def questions
@questions ||= [
Form::Lettings::Questions::IsCarehome.new(nil, nil, self),
Form::Lettings::Questions::Chcharge4Weekly.new(nil, nil, self),
]
end
end

17
app/models/form/lettings/pages/care_home_bi_weekly.rb

@ -0,0 +1,17 @@
class Form::Lettings::Pages::CareHomeBiWeekly < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "care_home_bi_weekly"
@depends_on = [
{ "period" => 2, "needstype" => 2, "household_charge" => 0 },
{ "period" => 2, "needstype" => 2, "household_charge" => nil },
]
end
def questions
@questions ||= [
Form::Lettings::Questions::IsCarehome.new(nil, nil, self),
Form::Lettings::Questions::ChchargeBiWeekly.new(nil, nil, self),
]
end
end

17
app/models/form/lettings/pages/care_home_monthly.rb

@ -0,0 +1,17 @@
class Form::Lettings::Pages::CareHomeMonthly < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "care_home_monthly"
@depends_on = [
{ "period" => 4, "needstype" => 2, "household_charge" => 0 },
{ "period" => 4, "needstype" => 2, "household_charge" => nil },
]
end
def questions
@questions ||= [
Form::Lettings::Questions::IsCarehome.new(nil, nil, self),
Form::Lettings::Questions::ChchargeMonthly.new(nil, nil, self),
]
end
end

27
app/models/form/lettings/pages/care_home_weekly.rb

@ -0,0 +1,27 @@
class Form::Lettings::Pages::CareHomeWeekly < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "care_home_weekly"
@depends_on = [
{ "period" => 1, "needstype" => 2, "household_charge" => 0 },
{ "period" => 1, "needstype" => 2, "household_charge" => nil },
{ "period" => 5, "needstype" => 2, "household_charge" => 0 },
{ "period" => 5, "needstype" => 2, "household_charge" => nil },
{ "period" => 6, "needstype" => 2, "household_charge" => 0 },
{ "period" => 6, "needstype" => 2, "household_charge" => nil },
{ "period" => 7, "needstype" => 2, "household_charge" => 0 },
{ "period" => 7, "needstype" => 2, "household_charge" => nil },
{ "period" => 8, "needstype" => 2, "household_charge" => 0 },
{ "period" => 8, "needstype" => 2, "household_charge" => nil },
{ "period" => 9, "needstype" => 2, "household_charge" => 0 },
{ "period" => 9, "needstype" => 2, "household_charge" => nil },
]
end
def questions
@questions ||= [
Form::Lettings::Questions::IsCarehome.new(nil, nil, self),
Form::Lettings::Questions::ChchargeWeekly.new(nil, nil, self),
]
end
end

11
app/models/form/lettings/pages/declaration.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::Declaration < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "declaration"
@header = "Department for Levelling Up, Housing & Communities privacy notice"
end
def questions
@questions ||= [Form::Lettings::Questions::Declaration.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_lead_age_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdLeadAgeValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "females_in_soft_age_range_in_pregnant_household_lead_age_value_check"
@depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.females_not_in_soft_age_range",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_lead_hhmemb_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdLeadHhmembValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "females_in_soft_age_range_in_pregnant_household_lead_hhmemb_value_check"
@depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.females_not_in_soft_age_range",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_lead_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdLeadValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "females_in_soft_age_range_in_pregnant_household_lead_value_check"
@depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.females_not_in_soft_age_range",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

36
app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check.rb

@ -0,0 +1,36 @@
class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "females_in_soft_age_range_in_pregnant_household_person_#{person_index}_age_value_check"
@depends_on = [
{
"female_in_pregnant_household_in_soft_validation_range?" => true,
"age#{person_index}_known" => 0,
},
]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [
{
"key" => "sex1",
"label" => true,
"i18n_template" => "sex1",
},
],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.females_not_in_soft_age_range",
"arguments" => [
{
"key" => "sex1",
"label" => true,
"i18n_template" => "sex1",
},
],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

36
app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check.rb

@ -0,0 +1,36 @@
class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "females_in_soft_age_range_in_pregnant_household_person_#{person_index}_value_check"
@depends_on = [
{
"female_in_pregnant_household_in_soft_validation_range?" => true,
"details_known_#{person_index}" => 0,
},
]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [
{
"key" => "sex1",
"label" => true,
"i18n_template" => "sex1",
},
],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.females_not_in_soft_age_range",
"arguments" => [
{
"key" => "sex1",
"label" => true,
"i18n_template" => "sex1",
},
],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "females_in_soft_age_range_in_pregnant_household_value_check"
@depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.females_not_in_soft_age_range",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/first_time_property_let_as_social_housing.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::FirstTimePropertyLetAsSocialHousing < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "first_time_property_let_as_social_housing"
@depends_on = [{ "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::FirstTimePropertyLetAsSocialHousing.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/health_condition_effects.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::HealthConditionEffects < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "health_condition_effects"
@depends_on = [{ "illness" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::ConditionEffects.new(nil, nil, self)]
end
end

5
app/models/form/lettings/pages/health_conditions.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::HealthConditions < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::Illness.new(nil, nil, self)]
end
end

5
app/models/form/lettings/pages/homelessness.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::Homelessness < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::Homeless.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/household_members.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::HouseholdMembers < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "household_members"
@depends_on = [{ "declaration" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Hhmemb.new(nil, nil, self)]
end
end

5
app/models/form/lettings/pages/housing_benefit.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::HousingBenefit < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::Hb.new(nil, nil, self)]
end
end

15
app/models/form/lettings/pages/income_amount.rb

@ -0,0 +1,15 @@
class Form::Lettings::Pages::IncomeAmount < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "income_amount"
@header = "Total household income"
@depends_on = [{ "net_income_known" => 0 }]
end
def questions
@questions ||= [
Form::Lettings::Questions::Earnings.new(nil, nil, self),
Form::Lettings::Questions::Incfreq.new(nil, nil, self),
]
end
end

11
app/models/form/lettings/pages/income_known.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::IncomeKnown < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "income_known"
@header = "Household’s combined income after tax"
end
def questions
@questions ||= [Form::Lettings::Questions::NetIncomeKnown.new(nil, nil, self)]
end
end

5
app/models/form/lettings/pages/joint.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::Joint < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::Joint.new(nil, nil, self)]
end
end

14
app/models/form/lettings/pages/lead_tenant_age.rb

@ -0,0 +1,14 @@
class Form::Lettings::Pages::LeadTenantAge < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_age"
@depends_on = [{ "declaration" => 1 }]
end
def questions
@questions ||= [
Form::Lettings::Questions::Age1Known.new(nil, nil, self),
Form::Lettings::Questions::Age1.new(nil, nil, self),
]
end
end

11
app/models/form/lettings/pages/lead_tenant_ethnic_background_arab.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::LeadTenantEthnicBackgroundArab < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_ethnic_background_arab"
@depends_on = [{ "ethnic_group" => 4 }]
end
def questions
@questions ||= [Form::Lettings::Questions::EthnicArab.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/lead_tenant_ethnic_background_asian.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::LeadTenantEthnicBackgroundAsian < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_ethnic_background_asian"
@depends_on = [{ "ethnic_group" => 2 }]
end
def questions
@questions ||= [Form::Lettings::Questions::EthnicAsian.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/lead_tenant_ethnic_background_black.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::LeadTenantEthnicBackgroundBlack < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_ethnic_background_black"
@depends_on = [{ "ethnic_group" => 3 }]
end
def questions
@questions ||= [Form::Lettings::Questions::EthnicBlack.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/lead_tenant_ethnic_background_mixed.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::LeadTenantEthnicBackgroundMixed < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_ethnic_background_mixed"
@depends_on = [{ "ethnic_group" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::EthnicMixed.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/lead_tenant_ethnic_background_white.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::LeadTenantEthnicBackgroundWhite < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_ethnic_background_white"
@depends_on = [{ "ethnic_group" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::EthnicWhite.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/lead_tenant_ethnic_group.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::LeadTenantEthnicGroup < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_ethnic_group"
@depends_on = [{ "declaration" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::EthnicGroup.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/lead_tenant_gender_identity.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::LeadTenantGenderIdentity < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_gender_identity"
@depends_on = [{ "declaration" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::GenderIdentity1.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/lead_tenant_nationality.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::LeadTenantNationality < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_nationality"
@depends_on = [{ "declaration" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::National.new(nil, nil, self)]
end
end

32
app/models/form/lettings/pages/lead_tenant_over_retirement_value_check.rb

@ -0,0 +1,32 @@
class Form::Lettings::Pages::LeadTenantOverRetirementValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_over_retirement_value_check"
@depends_on = [{ "person_1_not_retired_over_soft_max_age?" => true }]
@title_text = {
"translation" => "soft_validations.retirement.max.title",
"arguments" => [
{
"key" => "retirement_age_for_person_1",
"label" => false,
"i18n_template" => "age",
},
],
}
@informative_text = {
"translation" => "soft_validations.retirement.max.hint_text",
"arguments" => [
{ "key" => "plural_gender_for_person_1", "label" => false, "i18n_template" => "gender" },
{
"key" => "retirement_age_for_person_1",
"label" => false,
"i18n_template" => "age",
},
],
}
end
def questions
@questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)]
end
end

32
app/models/form/lettings/pages/lead_tenant_under_retirement_value_check.rb

@ -0,0 +1,32 @@
class Form::Lettings::Pages::LeadTenantUnderRetirementValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_under_retirement_value_check"
@depends_on = [{ "person_1_retired_under_soft_min_age?" => true }]
@title_text = {
"translation" => "soft_validations.retirement.min.title",
"arguments" => [
{
"key" => "retirement_age_for_person_1",
"label" => false,
"i18n_template" => "age",
},
],
}
@informative_text = {
"translation" => "soft_validations.retirement.min.hint_text",
"arguments" => [
{ "key" => "plural_gender_for_person_1", "label" => false, "i18n_template" => "gender" },
{
"key" => "retirement_age_for_person_1",
"label" => false,
"i18n_template" => "age",
},
],
}
end
def questions
@questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/lead_tenant_working_situation.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::LeadTenantWorkingSituation < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "lead_tenant_working_situation"
@depends_on = [{ "declaration" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::WorkingSituation1.new(nil, nil, self)]
end
end

10
app/models/form/lettings/pages/location.rb

@ -1,10 +1,12 @@
class Form::Lettings::Pages::Location < ::Form::Page
def initialize(_id, hsh, subsection)
super("location", hsh, subsection)
@depends_on = [{
"needstype" => 2,
"scheme_has_multiple_locations?" => true,
}]
@depends_on = [
{
"needstype" => 2,
"scheme_has_multiple_locations?" => true,
},
]
@next_unresolved_page_id = :check_answers
end

25
app/models/form/lettings/pages/max_rent_value_check.rb

@ -0,0 +1,25 @@
class Form::Lettings::Pages::MaxRentValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "max_rent_value_check"
@depends_on = [{ "rent_in_soft_max_range?" => true }]
@title_text = {
"translation" => "soft_validations.rent.max.title_text",
"arguments" => [{ "key" => "brent", "label" => true, "i18n_template" => "brent" }],
}
@informative_text = {
"translation" => "soft_validations.rent.max.hint_text",
"arguments" => [
{
"key" => "soft_max_for_period",
"label" => false,
"i18n_template" => "soft_max_for_period",
},
],
}
end
def questions
@questions ||= [Form::Lettings::Questions::RentValueCheck.new(nil, nil, self)]
end
end

25
app/models/form/lettings/pages/min_rent_value_check.rb

@ -0,0 +1,25 @@
class Form::Lettings::Pages::MinRentValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "min_rent_value_check"
@depends_on = [{ "rent_in_soft_min_range?" => true }]
@title_text = {
"translation" => "soft_validations.rent.min.title_text",
"arguments" => [{ "key" => "brent", "label" => true, "i18n_template" => "brent" }],
}
@informative_text = {
"translation" => "soft_validations.rent.min.hint_text",
"arguments" => [
{
"key" => "soft_min_for_period",
"label" => false,
"i18n_template" => "soft_min_for_period",
},
],
}
end
def questions
@questions ||= [Form::Lettings::Questions::RentValueCheck.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/net_income_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::NetIncomeValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "net_income_value_check"
@depends_on = [{ "net_income_soft_validation_triggered?" => true }]
@title_text = { "translation" => "soft_validations.net_income.title_text" }
@informative_text = {
"translation" => "soft_validations.net_income.hint_text",
"arguments" => [
{ "key" => "ecstat1", "label" => true, "i18n_template" => "ecstat1" },
{ "key" => "earnings", "label" => true, "i18n_template" => "earnings" },
],
}
end
def questions
@questions ||= [Form::Lettings::Questions::NetIncomeValueCheck.new(nil, nil, self)]
end
end

15
app/models/form/lettings/pages/new_build_handover_date.rb

@ -0,0 +1,15 @@
class Form::Lettings::Pages::NewBuildHandoverDate < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "new_build_handover_date"
@depends_on = [
{ "renewal" => 0, "rsnvac" => 15 },
{ "renewal" => 0, "rsnvac" => 16 },
{ "renewal" => 0, "rsnvac" => 17 },
]
end
def questions
@questions ||= [Form::Lettings::Questions::VoiddateNewBuild.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/no_females_pregnant_household_lead_age_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::NoFemalesPregnantHouseholdLeadAgeValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "no_females_pregnant_household_lead_age_value_check"
@depends_on = [{ "no_females_in_a_pregnant_household?" => true }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.no_females",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/no_females_pregnant_household_lead_hhmemb_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::NoFemalesPregnantHouseholdLeadHhmembValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "no_females_pregnant_household_lead_hhmemb_value_check"
@depends_on = [{ "no_females_in_a_pregnant_household?" => true }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.no_females",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/no_females_pregnant_household_lead_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::NoFemalesPregnantHouseholdLeadValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "no_females_pregnant_household_lead_value_check"
@depends_on = [{ "no_females_in_a_pregnant_household?" => true }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.no_females",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/no_females_pregnant_household_person_age_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonAgeValueCheck < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "no_females_pregnant_household_person_#{person_index}_age_value_check"
@depends_on = [{ "no_females_in_a_pregnant_household?" => true, "age#{person_index}_known" => 0 }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.no_females",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/no_females_pregnant_household_person_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonValueCheck < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "no_females_pregnant_household_person_#{person_index}_value_check"
@depends_on = [{ "no_females_in_a_pregnant_household?" => true, "details_known_#{person_index}" => 0 }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.no_females",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

19
app/models/form/lettings/pages/no_females_pregnant_household_value_check.rb

@ -0,0 +1,19 @@
class Form::Lettings::Pages::NoFemalesPregnantHouseholdValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "no_females_pregnant_household_value_check"
@depends_on = [{ "no_females_in_a_pregnant_household?" => true }]
@title_text = {
"translation" => "soft_validations.pregnancy.title",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
@informative_text = {
"translation" => "soft_validations.pregnancy.no_females",
"arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }],
}
end
def questions
@questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)]
end
end

16
app/models/form/lettings/pages/outstanding.rb

@ -0,0 +1,16 @@
class Form::Lettings::Pages::Outstanding < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "outstanding"
@depends_on = [
{ "hb" => 1, "household_charge" => 0 },
{ "hb" => 1, "household_charge" => nil },
{ "hb" => 6, "household_charge" => 0 },
{ "hb" => 6, "household_charge" => nil },
]
end
def questions
@questions ||= [Form::Lettings::Questions::Hbrentshortfall.new(nil, nil, self)]
end
end

14
app/models/form/lettings/pages/outstanding_amount.rb

@ -0,0 +1,14 @@
class Form::Lettings::Pages::OutstandingAmount < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "outstanding_amount"
@depends_on = [{ "hb" => 1, "hbrentshortfall" => 1 }, { "hb" => 6, "hbrentshortfall" => 1 }]
end
def questions
@questions ||= [
Form::Lettings::Questions::TshortfallKnown.new(nil, nil, self),
Form::Lettings::Questions::Tshortfall.new(nil, nil, self),
]
end
end

15
app/models/form/lettings/pages/person_age.rb

@ -0,0 +1,15 @@
class Form::Lettings::Pages::PersonAge < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "person_#{person_index}_age"
@depends_on = [{ "details_known_#{person_index}" => 0 }]
@person_index = person_index
end
def questions
@questions ||= [
Form::Lettings::Questions::AgeKnown.new(nil, nil, self, person_index: @person_index),
Form::Lettings::Questions::Age.new(nil, nil, self, person_index: @person_index),
]
end
end

12
app/models/form/lettings/pages/person_gender_identity.rb

@ -0,0 +1,12 @@
class Form::Lettings::Pages::PersonGenderIdentity < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "person_#{person_index}_gender_identity"
@depends_on = [{ "details_known_#{person_index}" => 0 }]
@person_index = person_index
end
def questions
@questions ||= [Form::Lettings::Questions::PersonGenderIdentity.new(nil, nil, self, person_index: @person_index)]
end
end

13
app/models/form/lettings/pages/person_known.rb

@ -0,0 +1,13 @@
class Form::Lettings::Pages::PersonKnown < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "person_#{person_index}_known"
@header = "You’ve given us the details for #{person_index - 1} person in the household"
@depends_on = (person_index..8).map { |index| { "hhmemb" => index } }
@person_index = person_index
end
def questions
@questions ||= [Form::Lettings::Questions::DetailsKnown.new(nil, nil, self, person_index: @person_index)]
end
end

36
app/models/form/lettings/pages/person_over_retirement_value_check.rb

@ -0,0 +1,36 @@
class Form::Lettings::Pages::PersonOverRetirementValueCheck < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "person_#{person_index}_over_retirement_value_check"
@depends_on = [{ "person_#{person_index}_not_retired_over_soft_max_age?" => true }]
@title_text = {
"translation" => "soft_validations.retirement.max.title",
"arguments" => [
{
"key" => "retirement_age_for_person_#{person_index}",
"label" => false,
"i18n_template" => "age",
},
],
}
@informative_text = {
"translation" => "soft_validations.retirement.max.hint_text",
"arguments" => [
{
"key" => "plural_gender_for_person_#{person_index}",
"label" => false,
"i18n_template" => "gender",
},
{
"key" => "retirement_age_for_person_#{person_index}",
"label" => false,
"i18n_template" => "age",
},
],
}
end
def questions
@questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)]
end
end

12
app/models/form/lettings/pages/person_relationship_to_lead.rb

@ -0,0 +1,12 @@
class Form::Lettings::Pages::PersonRelationshipToLead < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "person_#{person_index}_relationship_to_lead"
@depends_on = [{ "details_known_#{person_index}" => 0 }]
@person_index = person_index
end
def questions
@questions ||= [Form::Lettings::Questions::PersonRelationship.new(nil, nil, self, person_index: @person_index)]
end
end

36
app/models/form/lettings/pages/person_under_retirement_value_check.rb

@ -0,0 +1,36 @@
class Form::Lettings::Pages::PersonUnderRetirementValueCheck < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "person_#{person_index}_under_retirement_value_check"
@depends_on = [{ "person_#{person_index}_retired_under_soft_min_age?" => true }]
@title_text = {
"translation" => "soft_validations.retirement.min.title",
"arguments" => [
{
"key" => "retirement_age_for_person_#{person_index}",
"label" => false,
"i18n_template" => "age",
},
],
}
@informative_text = {
"translation" => "soft_validations.retirement.min.hint_text",
"arguments" => [
{
"key" => "plural_gender_for_person_#{person_index}",
"label" => false,
"i18n_template" => "gender",
},
{
"key" => "retirement_age_for_person_#{person_index}",
"label" => false,
"i18n_template" => "age",
},
],
}
end
def questions
@questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.new(nil, nil, self)]
end
end

21
app/models/form/lettings/pages/person_working_situation.rb

@ -0,0 +1,21 @@
class Form::Lettings::Pages::PersonWorkingSituation < ::Form::Page
def initialize(id, hsh, subsection, person_index:)
super(id, hsh, subsection)
@id = "person_#{person_index}_working_situation"
@depends_on = [
{
"details_known_#{person_index}" => 0,
"age#{person_index}" => {
"operator" => ">",
"operand" => 15,
},
},
{ "details_known_#{person_index}" => 0, "age#{person_index}" => nil },
]
@person_index = person_index
end
def questions
@questions ||= [Form::Lettings::Questions::PersonWorkingSituation.new(nil, nil, self, person_index: @person_index)]
end
end

5
app/models/form/lettings/pages/pregnant.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::Pregnant < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::PregOcc.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/previous_housing_situation.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PreviousHousingSituation < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "previous_housing_situation"
@depends_on = [{ "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Prevten.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/previous_housing_situation_renewal.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PreviousHousingSituationRenewal < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "previous_housing_situation_renewal"
@depends_on = [{ "renewal" => 1, "needstype" => 2 }]
end
def questions
@questions ||= [Form::Lettings::Questions::PrevtenRenewal.new(nil, nil, self)]
end
end

14
app/models/form/lettings/pages/previous_local_authority.rb

@ -0,0 +1,14 @@
class Form::Lettings::Pages::PreviousLocalAuthority < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "previous_local_authority"
@depends_on = [{ "is_previous_la_inferred" => false }]
end
def questions
@questions ||= [
Form::Lettings::Questions::PreviousLaKnown.new(nil, nil, self),
Form::Lettings::Questions::Prevloc.new(nil, nil, self),
]
end
end

8
app/models/form/lettings/pages/previous_postcode.rb

@ -0,0 +1,8 @@
class Form::Lettings::Pages::PreviousPostcode < ::Form::Page
def questions
@questions ||= [
Form::Lettings::Questions::Ppcodenk.new(nil, nil, self),
Form::Lettings::Questions::PpostcodeFull.new(nil, nil, self),
]
end
end

11
app/models/form/lettings/pages/property_building_type.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyBuildingType < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_building_type"
@depends_on = [{ "needstype" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Builtype.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/property_let_type.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyLetType < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_let_type"
@depends_on = [{ "first_time_property_let_as_social_housing" => 0, "renewal" => 0, "needstype" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Unitletas.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/property_local_authority.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyLocalAuthority < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_local_authority"
@depends_on = [{ "is_la_inferred" => false, "needstype" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::La.new(nil, nil, self)]
end
end

25
app/models/form/lettings/pages/property_major_repairs.rb

@ -0,0 +1,25 @@
class Form::Lettings::Pages::PropertyMajorRepairs < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_major_repairs"
@depends_on = [
{ "renewal" => 0, "rsnvac" => 5 },
{ "renewal" => 0, "rsnvac" => 6 },
{ "renewal" => 0, "rsnvac" => 8 },
{ "renewal" => 0, "rsnvac" => 9 },
{ "renewal" => 0, "rsnvac" => 10 },
{ "renewal" => 0, "rsnvac" => 11 },
{ "renewal" => 0, "rsnvac" => 12 },
{ "renewal" => 0, "rsnvac" => 13 },
{ "renewal" => 0, "rsnvac" => 18 },
{ "renewal" => 0, "rsnvac" => 19 },
]
end
def questions
@questions ||= [
Form::Lettings::Questions::Majorrepairs.new(nil, nil, self),
Form::Lettings::Questions::Mrcdate.new(nil, nil, self),
]
end
end

13
app/models/form/lettings/pages/property_major_repairs_value_check.rb

@ -0,0 +1,13 @@
class Form::Lettings::Pages::PropertyMajorRepairsValueCheck < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_major_repairs_value_check"
@depends_on = [{ "major_repairs_date_in_soft_range?" => true }]
@title_text = { "translation" => "soft_validations.major_repairs_date.title_text" }
@informative_text = {}
end
def questions
@questions ||= [Form::Lettings::Questions::MajorRepairsDateValueCheck.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/property_number_of_bedrooms.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyNumberOfBedrooms < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_number_of_bedrooms"
@depends_on = [{ "needstype" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Beds.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/property_number_of_times_relet_not_social_let.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyNumberOfTimesReletNotSocialLet < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_number_of_times_relet_not_social_let"
@depends_on = [{ "first_time_property_let_as_social_housing" => 0, "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Offered.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/property_number_of_times_relet_social_let.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyNumberOfTimesReletSocialLet < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_number_of_times_relet_social_let"
@depends_on = [{ "first_time_property_let_as_social_housing" => 1, "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::OfferedSocialLet.new(nil, nil, self)]
end
end

14
app/models/form/lettings/pages/property_postcode.rb

@ -0,0 +1,14 @@
class Form::Lettings::Pages::PropertyPostcode < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_postcode"
@depends_on = [{ "needstype" => 1 }]
end
def questions
@questions ||= [
Form::Lettings::Questions::PostcodeKnown.new(nil, nil, self),
Form::Lettings::Questions::PostcodeFull.new(nil, nil, self),
]
end
end

11
app/models/form/lettings/pages/property_unit_type.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyUnitType < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_unit_type"
@depends_on = [{ "needstype" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::UnittypeGn.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/property_vacancy_reason_first_let.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyVacancyReasonFirstLet < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_vacancy_reason_first_let"
@depends_on = [{ "first_time_property_let_as_social_housing" => 1, "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::RsnvacFirstLet.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/property_vacancy_reason_not_first_let.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyVacancyReasonNotFirstLet < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_vacancy_reason_not_first_let"
@depends_on = [{ "first_time_property_let_as_social_housing" => 0, "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Rsnvac.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/property_wheelchair_accessible.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::PropertyWheelchairAccessible < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "property_wheelchair_accessible"
@depends_on = [{ "needstype" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Wchair.new(nil, nil, self)]
end
end

14
app/models/form/lettings/pages/reason_for_leaving_last_settled_home.rb

@ -0,0 +1,14 @@
class Form::Lettings::Pages::ReasonForLeavingLastSettledHome < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "reason_for_leaving_last_settled_home"
@depends_on = [{ "renewal" => 0 }]
end
def questions
@questions ||= [
Form::Lettings::Questions::Reason.new(nil, nil, self),
Form::Lettings::Questions::Reasonother.new(nil, nil, self),
]
end
end

11
app/models/form/lettings/pages/reason_for_leaving_last_settled_home_renewal.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::ReasonForLeavingLastSettledHomeRenewal < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "reason_for_leaving_last_settled_home_renewal"
@depends_on = [{ "renewal" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::ReasonRenewal.new(nil, nil, self)]
end
end

5
app/models/form/lettings/pages/reasonable_preference.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::ReasonablePreference < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::Reasonpref.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/reasonable_preference_reason.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::ReasonablePreferenceReason < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "reasonable_preference_reason"
@depends_on = [{ "reasonpref" => 1 }]
end
def questions
@questions ||= [Form::Lettings::Questions::ReasonablePreferenceReason.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/referral.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::Referral < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "referral"
@depends_on = [{ "managing_organisation_provider_type" => "LA", "needstype" => 1, "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Referral.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/referral_prp.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::ReferralPrp < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "referral_prp"
@depends_on = [{ "managing_organisation_provider_type" => "PRP", "needstype" => 1, "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::ReferralPrp.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/referral_supported_housing.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::ReferralSupportedHousing < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "referral_supported_housing"
@depends_on = [{ "managing_organisation_provider_type" => "LA", "needstype" => 2, "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::ReferralSupportedHousing.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/referral_supported_housing_prp.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::ReferralSupportedHousingPrp < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "referral_supported_housing_prp"
@depends_on = [{ "managing_organisation_provider_type" => "PRP", "needstype" => 2, "renewal" => 0 }]
end
def questions
@questions ||= [Form::Lettings::Questions::ReferralSupportedHousingPrp.new(nil, nil, self)]
end
end

23
app/models/form/lettings/pages/rent_4_weekly.rb

@ -0,0 +1,23 @@
class Form::Lettings::Pages::Rent4Weekly < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "rent_4_weekly"
@header = "Household rent and charges"
@depends_on = [
{ "household_charge" => 0, "period" => 3, "is_carehome" => 0 },
{ "household_charge" => nil, "period" => 3, "is_carehome" => 0 },
{ "household_charge" => 0, "period" => 3, "is_carehome" => nil },
{ "household_charge" => nil, "period" => 3, "is_carehome" => nil },
]
end
def questions
@questions ||= [
Form::Lettings::Questions::Brent4Weekly.new(nil, nil, self),
Form::Lettings::Questions::Scharge4Weekly.new(nil, nil, self),
Form::Lettings::Questions::Pscharge4Weekly.new(nil, nil, self),
Form::Lettings::Questions::Supcharg4Weekly.new(nil, nil, self),
Form::Lettings::Questions::Tcharge4Weekly.new(nil, nil, self),
]
end
end

23
app/models/form/lettings/pages/rent_bi_weekly.rb

@ -0,0 +1,23 @@
class Form::Lettings::Pages::RentBiWeekly < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "rent_bi_weekly"
@header = "Household rent and charges"
@depends_on = [
{ "household_charge" => 0, "period" => 2, "is_carehome" => 0 },
{ "household_charge" => nil, "period" => 2, "is_carehome" => 0 },
{ "household_charge" => 0, "period" => 2, "is_carehome" => nil },
{ "household_charge" => nil, "period" => 2, "is_carehome" => nil },
]
end
def questions
@questions ||= [
Form::Lettings::Questions::BrentBiWeekly.new(nil, nil, self),
Form::Lettings::Questions::SchargeBiWeekly.new(nil, nil, self),
Form::Lettings::Questions::PschargeBiWeekly.new(nil, nil, self),
Form::Lettings::Questions::SupchargBiWeekly.new(nil, nil, self),
Form::Lettings::Questions::TchargeBiWeekly.new(nil, nil, self),
]
end
end

23
app/models/form/lettings/pages/rent_monthly.rb

@ -0,0 +1,23 @@
class Form::Lettings::Pages::RentMonthly < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "rent_monthly"
@header = "Household rent and charges"
@depends_on = [
{ "household_charge" => 0, "period" => 4, "is_carehome" => 0 },
{ "household_charge" => nil, "period" => 4, "is_carehome" => 0 },
{ "household_charge" => 0, "period" => 4, "is_carehome" => nil },
{ "household_charge" => nil, "period" => 4, "is_carehome" => nil },
]
end
def questions
@questions ||= [
Form::Lettings::Questions::BrentMonthly.new(nil, nil, self),
Form::Lettings::Questions::SchargeMonthly.new(nil, nil, self),
Form::Lettings::Questions::PschargeMonthly.new(nil, nil, self),
Form::Lettings::Questions::SupchargMonthly.new(nil, nil, self),
Form::Lettings::Questions::TchargeMonthly.new(nil, nil, self),
]
end
end

11
app/models/form/lettings/pages/rent_or_other_charges.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::RentOrOtherCharges < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "rent_or_other_charges"
@depends_on = [{ "needstype" => 2 }]
end
def questions
@questions ||= [Form::Lettings::Questions::HouseholdCharge.new(nil, nil, self)]
end
end

11
app/models/form/lettings/pages/rent_period.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::RentPeriod < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "rent_period"
@depends_on = [{ "household_charge" => 0 }, { "household_charge" => nil }]
end
def questions
@questions ||= [Form::Lettings::Questions::Period.new(nil, nil, self)]
end
end

43
app/models/form/lettings/pages/rent_weekly.rb

@ -0,0 +1,43 @@
class Form::Lettings::Pages::RentWeekly < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "rent_weekly"
@header = "Household rent and charges"
@depends_on = [
{ "period" => 1, "household_charge" => 0, "is_carehome" => 0 },
{ "period" => 1, "household_charge" => nil, "is_carehome" => 0 },
{ "period" => 5, "household_charge" => 0, "is_carehome" => 0 },
{ "period" => 5, "household_charge" => nil, "is_carehome" => 0 },
{ "period" => 6, "household_charge" => 0, "is_carehome" => 0 },
{ "period" => 6, "household_charge" => nil, "is_carehome" => 0 },
{ "period" => 7, "household_charge" => 0, "is_carehome" => 0 },
{ "period" => 7, "household_charge" => nil, "is_carehome" => 0 },
{ "period" => 8, "household_charge" => 0, "is_carehome" => 0 },
{ "period" => 8, "household_charge" => nil, "is_carehome" => 0 },
{ "period" => 9, "household_charge" => 0, "is_carehome" => 0 },
{ "period" => 9, "household_charge" => nil, "is_carehome" => 0 },
{ "period" => 1, "household_charge" => 0, "is_carehome" => nil },
{ "period" => 1, "household_charge" => nil, "is_carehome" => nil },
{ "period" => 5, "household_charge" => 0, "is_carehome" => nil },
{ "period" => 5, "household_charge" => nil, "is_carehome" => nil },
{ "period" => 6, "household_charge" => 0, "is_carehome" => nil },
{ "period" => 6, "household_charge" => nil, "is_carehome" => nil },
{ "period" => 7, "household_charge" => 0, "is_carehome" => nil },
{ "period" => 7, "household_charge" => nil, "is_carehome" => nil },
{ "period" => 8, "household_charge" => 0, "is_carehome" => nil },
{ "period" => 8, "household_charge" => nil, "is_carehome" => nil },
{ "period" => 9, "household_charge" => 0, "is_carehome" => nil },
{ "period" => 9, "household_charge" => nil, "is_carehome" => nil },
]
end
def questions
@questions ||= [
Form::Lettings::Questions::BrentWeekly.new(nil, nil, self),
Form::Lettings::Questions::SchargeWeekly.new(nil, nil, self),
Form::Lettings::Questions::PschargeWeekly.new(nil, nil, self),
Form::Lettings::Questions::SupchargWeekly.new(nil, nil, self),
Form::Lettings::Questions::TchargeWeekly.new(nil, nil, self),
]
end
end

8
app/models/form/lettings/pages/scheme.rb

@ -1,9 +1,11 @@
class Form::Lettings::Pages::Scheme < ::Form::Page
def initialize(_id, hsh, subsection)
super("scheme", hsh, subsection)
@depends_on = [{
"needstype" => 2,
}]
@depends_on = [
{
"needstype" => 2,
},
]
@next_unresolved_page_id = "location"
end

11
app/models/form/lettings/pages/shelteredaccom.rb

@ -0,0 +1,11 @@
class Form::Lettings::Pages::Shelteredaccom < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "shelteredaccom"
@depends_on = [{ "needstype" => 2 }]
end
def questions
@questions ||= [Form::Lettings::Questions::Sheltered.new(nil, nil, self)]
end
end

5
app/models/form/lettings/pages/starter_tenancy.rb

@ -0,0 +1,5 @@
class Form::Lettings::Pages::StarterTenancy < ::Form::Page
def questions
@questions ||= [Form::Lettings::Questions::Startertenancy.new(nil, nil, self)]
end
end

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save