Browse Source

Merge branch 'main' into CLDC-3646-stop-unpending-logs

pull/2851/head
kosiakkatrina 8 months ago committed by GitHub
parent
commit
55c0169a64
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      app/controllers/schemes_controller.rb
  2. 18
      app/helpers/schemes_helper.rb
  3. 2
      app/models/form/sales/questions/equity.rb
  4. 2
      app/models/form/sales/questions/value.rb
  5. 8
      app/models/validations/sales/sale_information_validations.rb
  6. 2
      app/views/schemes/confirm_secondary.html.erb
  7. 2
      app/views/schemes/details.html.erb
  8. 8
      app/views/schemes/primary_client_group.html.erb
  9. 2
      app/views/schemes/secondary_client_group.html.erb
  10. 2
      app/views/schemes/support.html.erb
  11. 38
      config/locales/forms/2023/lettings/household_characteristics.en.yml
  12. 2
      config/locales/forms/2023/lettings/income_and_benefits.en.yml
  13. 58
      config/locales/forms/2023/sales/household_characteristics.en.yml
  14. 12
      config/locales/forms/2023/sales/income_benefits_and_savings.en.yml
  15. 24
      config/locales/forms/2023/sales/sale_information.en.yml
  16. 8
      config/locales/forms/2024/lettings/household_characteristics.en.yml
  17. 2
      config/locales/forms/2024/lettings/income_and_benefits.en.yml
  18. 58
      config/locales/forms/2024/sales/household_characteristics.en.yml
  19. 8
      config/locales/forms/2024/sales/income_benefits_and_savings.en.yml
  20. 24
      config/locales/forms/2024/sales/sale_information.en.yml
  21. 2
      config/locales/forms/2025/lettings/household_characteristics.en.yml
  22. 2
      config/locales/forms/2025/lettings/income_and_benefits.en.yml
  23. 20
      config/locales/forms/2025/sales/household_characteristics.en.yml
  24. 2
      config/locales/forms/2025/sales/income_benefits_and_savings.en.yml
  25. 8
      config/locales/forms/2025/sales/sale_information.en.yml
  26. 2
      config/locales/forms/2025/sales/setup.en.yml
  27. 4
      spec/models/form/sales/pages/equity_spec.rb
  28. 4
      spec/models/form/sales/pages/value_shared_ownership_spec.rb
  29. 4
      spec/models/form/sales/questions/equity_spec.rb
  30. 74
      spec/requests/schemes_controller_spec.rb

4
app/controllers/schemes_controller.rb

@ -150,7 +150,7 @@ class SchemesController < ApplicationController
@scheme.update!(secondary_client_group: nil) if @scheme.has_other_client_group == "No" @scheme.update!(secondary_client_group: nil) if @scheme.has_other_client_group == "No"
if scheme_params[:confirmed] == "true" || @scheme.confirmed? if scheme_params[:confirmed] == "true" || @scheme.confirmed?
if check_answers && should_direct_via_secondary_client_group_page?(page) if check_answers && should_direct_via_secondary_client_group_page?(page)
redirect_to scheme_secondary_client_group_path(@scheme, referrer: "check-answers") redirect_to scheme_secondary_client_group_path(@scheme, referrer: "has-other-client-group")
else else
@scheme.locations.update!(confirmed: true) @scheme.locations.update!(confirmed: true)
flash[:notice] = if scheme_previously_confirmed flash[:notice] = if scheme_previously_confirmed
@ -162,7 +162,7 @@ class SchemesController < ApplicationController
end end
elsif check_answers elsif check_answers
if should_direct_via_secondary_client_group_page?(page) if should_direct_via_secondary_client_group_page?(page)
redirect_to scheme_secondary_client_group_path(@scheme, referrer: "check-answers") redirect_to scheme_secondary_client_group_path(@scheme, referrer: "has-other-client-group")
else else
redirect_to scheme_check_answers_path(@scheme) redirect_to scheme_check_answers_path(@scheme)
end end

18
app/helpers/schemes_helper.rb

@ -101,6 +101,24 @@ module SchemesHelper
organisation.owned_schemes.duplicate_sets.any? || organisation.owned_schemes.any? { |scheme| scheme.locations.duplicate_sets.any? } organisation.owned_schemes.duplicate_sets.any? || organisation.owned_schemes.any? { |scheme| scheme.locations.duplicate_sets.any? }
end end
def scheme_back_button_path(scheme, current_page)
return scheme_check_answers_path(scheme) if request.params[:referrer] == "check-answers"
return scheme_confirm_secondary_client_group_path(scheme, referrer: "check-answers") if request.params[:referrer] == "has-other-client-group"
case current_page
when "details"
schemes_path
when "primary_client_group"
scheme_details_path(scheme)
when "confirm_secondary_client_group"
scheme_primary_client_group_path(scheme)
when "secondary_client_group"
scheme_confirm_secondary_client_group_path(scheme)
when "support"
scheme.has_other_client_group == "Yes" ? scheme_secondary_client_group_path(scheme) : scheme_confirm_secondary_client_group_path(scheme)
end
end
private private
ActivePeriod = Struct.new(:from, :to) ActivePeriod = Struct.new(:from, :to)

2
app/models/form/sales/questions/equity.rb

@ -2,7 +2,7 @@ class Form::Sales::Questions::Equity < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "equity" @id = "equity"
@copy_key = "sales.sale_information.equity.#{page.id}" @copy_key = form.start_year_2025_or_later? ? "sales.sale_information.equity.#{page.id}" : "sales.sale_information.equity"
@type = "numeric" @type = "numeric"
@min = 0 @min = 0
@max = 100 @max = 100

2
app/models/form/sales/questions/value.rb

@ -2,7 +2,7 @@ class Form::Sales::Questions::Value < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "value" @id = "value"
@copy_key = "sales.sale_information.value.#{page.id}" @copy_key = form.start_year_2025_or_later? ? "sales.sale_information.value.#{page.id}" : "sales.sale_information.value"
@type = "numeric" @type = "numeric"
@min = 0 @min = 0
@step = 1 @step = 1

8
app/models/validations/sales/sale_information_validations.rb

@ -64,7 +64,7 @@ module Validations::Sales::SaleInformationValidations
if over_tolerance?(record.mortgage_deposit_and_grant_total, record.value_with_discount, tolerance, strict: !record.discount.nil?) && record.discounted_ownership_sale? if over_tolerance?(record.mortgage_deposit_and_grant_total, record.value_with_discount, tolerance, strict: !record.discount.nil?) && record.discounted_ownership_sale?
deposit_and_grant_sentence = record.grant.present? ? ", cash deposit (#{record.field_formatted_as_currency('deposit')}), and grant (#{record.field_formatted_as_currency('grant')})" : " and cash deposit (#{record.field_formatted_as_currency('deposit')})" deposit_and_grant_sentence = record.grant.present? ? ", cash deposit (#{record.field_formatted_as_currency('deposit')}), and grant (#{record.field_formatted_as_currency('grant')})" : " and cash deposit (#{record.field_formatted_as_currency('deposit')})"
discount_sentence = record.discount.present? ? " (#{record.field_formatted_as_currency('value')}) subtracted by the sum of the full purchase price (#{record.field_formatted_as_currency('value')}) multiplied by the percentage discount (#{record.discount}%)" : "" discount_sentence = record.discount.present? ? " (#{record.field_formatted_as_currency('value')}) subtracted by the sum of the full purchase price (#{record.field_formatted_as_currency('value')}) multiplied by the percentage discount (#{record.discount}%)" : ""
%i[mortgageused mortgage value deposit ownershipsch discount grant].each do |field| %i[mortgageused mortgage value deposit discount grant].each do |field|
record.errors.add field, I18n.t("validations.sales.sale_information.#{field}.discounted_ownership_value", record.errors.add field, I18n.t("validations.sales.sale_information.#{field}.discounted_ownership_value",
mortgage: record.mortgage&.positive? ? " (#{record.field_formatted_as_currency('mortgage')})" : "", mortgage: record.mortgage&.positive? ? " (#{record.field_formatted_as_currency('mortgage')})" : "",
deposit_and_grant_sentence:, deposit_and_grant_sentence:,
@ -72,6 +72,12 @@ module Validations::Sales::SaleInformationValidations
discount_sentence:, discount_sentence:,
value_with_discount: record.field_formatted_as_currency("value_with_discount")).html_safe value_with_discount: record.field_formatted_as_currency("value_with_discount")).html_safe
end end
record.errors.add :ownershipsch, :skip_bu_error, message: I18n.t("validations.sales.sale_information.ownershipsch.discounted_ownership_value",
mortgage: record.mortgage&.positive? ? " (#{record.field_formatted_as_currency('mortgage')})" : "",
deposit_and_grant_sentence:,
mortgage_deposit_and_grant_total: record.field_formatted_as_currency("mortgage_deposit_and_grant_total"),
discount_sentence:,
value_with_discount: record.field_formatted_as_currency("value_with_discount")).html_safe
end end
end end

2
app/views/schemes/confirm_secondary.html.erb

@ -1,7 +1,7 @@
<% content_for :title, "Does this scheme provide for another client group?" %> <% content_for :title, "Does this scheme provide for another client group?" %>
<% content_for :before_content do %> <% content_for :before_content do %>
<%= govuk_back_link(href: :back) %> <%= govuk_back_link(href: scheme_back_button_path(@scheme, "confirm_secondary_client_group")) %>
<% end %> <% end %>
<%= render partial: "organisations/headings", locals: { main: "Does this scheme provide for another client group?", sub: @scheme.service_name } %> <%= render partial: "organisations/headings", locals: { main: "Does this scheme provide for another client group?", sub: @scheme.service_name } %>

2
app/views/schemes/details.html.erb

@ -1,7 +1,7 @@
<% content_for :title, "Create a new supported housing scheme" %> <% content_for :title, "Create a new supported housing scheme" %>
<% content_for :before_content do %> <% content_for :before_content do %>
<%= govuk_back_link(href: :back) %> <%= govuk_back_link(href: scheme_back_button_path(@scheme, "details")) %>
<% end %> <% end %>
<%= form_for(@scheme, method: :patch) do |f| %> <%= form_for(@scheme, method: :patch) do |f| %>

8
app/views/schemes/primary_client_group.html.erb

@ -1,13 +1,7 @@
<% content_for :title, "What client group is this scheme intended for?" %> <% content_for :title, "What client group is this scheme intended for?" %>
<% if request.referer&.include?("new") %>
<% back_button_path = scheme_details_path(@scheme) %>
<% else %>
<% back_button_path = :back %>
<% end %>
<% content_for :before_content do %> <% content_for :before_content do %>
<%= govuk_back_link(href: back_button_path) %> <%= govuk_back_link(href: scheme_back_button_path(@scheme, "primary_client_group")) %>
<% end %> <% end %>
<%= form_for(@scheme, method: :patch) do |f| %> <%= form_for(@scheme, method: :patch) do |f| %>

2
app/views/schemes/secondary_client_group.html.erb

@ -1,7 +1,7 @@
<% content_for :title, "What is the other client group?" %> <% content_for :title, "What is the other client group?" %>
<% content_for :before_content do %> <% content_for :before_content do %>
<%= govuk_back_link(href: :back) %> <%= govuk_back_link(href: scheme_back_button_path(@scheme, "secondary_client_group")) %>
<% end %> <% end %>
<%= form_for(@scheme, method: :patch) do |f| %> <%= form_for(@scheme, method: :patch) do |f| %>

2
app/views/schemes/support.html.erb

@ -1,7 +1,7 @@
<% content_for :title, "What support does this scheme provide?" %> <% content_for :title, "What support does this scheme provide?" %>
<% content_for :before_content do %> <% content_for :before_content do %>
<%= govuk_back_link(href: :back) %> <%= govuk_back_link(href: scheme_back_button_path(@scheme, "support")) %>
<% end %> <% end %>
<%= form_for(@scheme, method: :patch) do |f| %> <%= form_for(@scheme, method: :patch) do |f| %>

38
config/locales/forms/2023/lettings/household_characteristics.en.yml

@ -19,23 +19,23 @@ en:
page_header: "" page_header: ""
age1_known: age1_known:
check_answer_label: "" check_answer_label: ""
hint_text: "The lead’ or ’main’ tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest." hint_text: "The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest."
question_text: "Do you know the lead tenant’s age?" question_text: "Do you know the lead tenant’s age?"
age1: age1:
check_answer_label: "Lead tenant’s age" check_answer_label: "Lead tenant’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex1: sex1:
page_header: "" page_header: ""
check_answer_label: "Lead tenant’s gender identity" check_answer_label: "Lead tenant’s gender identity"
hint_text: "The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest." hint_text: "The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest."
question_text: "Which of these best describes the lead tenant’s gender identity?" question_text: "Which of these best describes the lead tenant’s gender identity?"
ethnic_group: ethnic_group:
page_header: "" page_header: ""
check_answer_label: "Lead tenant’s ethnic group" check_answer_label: "Lead tenant’s ethnic group"
hint_text: "The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest." hint_text: "The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest."
question_text: "What is the lead tenant’s ethnic group?" question_text: "What is the lead tenant’s ethnic group?"
ethnic: ethnic:
@ -97,13 +97,13 @@ en:
question_text: "Do you know person 2’s age?" question_text: "Do you know person 2’s age?"
age2: age2:
check_answer_label: "Person 2’s age" check_answer_label: "Person 2’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex2: sex2:
page_header: "" page_header: ""
check_answer_label: "Person 2’s gender identity" check_answer_label: "Person 2’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes person 2’s gender identity?" question_text: "Which of these best describes person 2’s gender identity?"
ecstat2: ecstat2:
@ -132,13 +132,13 @@ en:
question_text: "Do you know person 3’s age?" question_text: "Do you know person 3’s age?"
age3: age3:
check_answer_label: "Person 3’s age" check_answer_label: "Person 3’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex3: sex3:
page_header: "" page_header: ""
check_answer_label: "Person 3’s gender identity" check_answer_label: "Person 3’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes person 3’s gender identity?" question_text: "Which of these best describes person 3’s gender identity?"
ecstat3: ecstat3:
@ -167,13 +167,13 @@ en:
question_text: "Do you know person 4’s age?" question_text: "Do you know person 4’s age?"
age4: age4:
check_answer_label: "Person 4’s age" check_answer_label: "Person 4’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex4: sex4:
page_header: "" page_header: ""
check_answer_label: "Person 4’s gender identity" check_answer_label: "Person 4’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes person 4’s gender identity?" question_text: "Which of these best describes person 4’s gender identity?"
ecstat4: ecstat4:
@ -202,13 +202,13 @@ en:
question_text: "Do you know person 5’s age?" question_text: "Do you know person 5’s age?"
age5: age5:
check_answer_label: "Person 5’s age" check_answer_label: "Person 5’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex5: sex5:
page_header: "" page_header: ""
check_answer_label: "Person 5’s gender identity" check_answer_label: "Person 5’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes person 5’s gender identity?" question_text: "Which of these best describes person 5’s gender identity?"
ecstat5: ecstat5:
@ -237,13 +237,13 @@ en:
question_text: "Do you know person 6’s age?" question_text: "Do you know person 6’s age?"
age6: age6:
check_answer_label: "Person 6’s age" check_answer_label: "Person 6’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex6: sex6:
page_header: "" page_header: ""
check_answer_label: "Person 6’s gender identity" check_answer_label: "Person 6’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes person 6’s gender identity?" question_text: "Which of these best describes person 6’s gender identity?"
ecstat6: ecstat6:
@ -272,13 +272,13 @@ en:
question_text: "Do you know person 7’s age?" question_text: "Do you know person 7’s age?"
age7: age7:
check_answer_label: "Person 7’s age" check_answer_label: "Person 7’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex7: sex7:
page_header: "" page_header: ""
check_answer_label: "Person 7’s gender identity" check_answer_label: "Person 7’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes person 7’s gender identity?" question_text: "Which of these best describes person 7’s gender identity?"
ecstat7: ecstat7:
@ -307,17 +307,17 @@ en:
question_text: "Do you know person 8’s age?" question_text: "Do you know person 8’s age?"
age8: age8:
check_answer_label: "Person 8’s age" check_answer_label: "Person 8’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex8: sex8:
page_header: "" page_header: ""
check_answer_label: "Person 8’s gender identity" check_answer_label: "Person 8’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes person 8’s gender identity?" question_text: "Which of these best describes person 8’s gender identity?"
ecstat8: ecstat8:
page_header: "" page_header: ""
check_answer_label: "Person 8’s working situation" check_answer_label: "Person 8’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes person 8’s working situation?" question_text: "Which of these best describes person 8’s working situation?"

2
config/locales/forms/2023/lettings/income_and_benefits.en.yml

@ -103,6 +103,6 @@ en:
hint_text: "You only need to give an approximate figure." hint_text: "You only need to give an approximate figure."
question_text: "Can you estimate the outstanding amount?" question_text: "Can you estimate the outstanding amount?"
tshortfall: tshortfall:
check_answer_label: "Estimated outstanding amountt" check_answer_label: "Estimated outstanding amount"
hint_text: "Also known as the ‘outstanding amount’." hint_text: "Also known as the ‘outstanding amount’."
question_text: "Estimated outstanding amount" question_text: "Estimated outstanding amount"

58
config/locales/forms/2023/sales/household_characteristics.en.yml

@ -37,7 +37,7 @@ en:
check_answer_label: "Buyer 1’s age" check_answer_label: "Buyer 1’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex1: sex1:
page_header: "" page_header: ""
check_answer_label: "Buyer 1’s gender identity" check_answer_label: "Buyer 1’s gender identity"
@ -49,7 +49,7 @@ en:
check_answer_label: "Buyer 1’s ethnic group" check_answer_label: "Buyer 1’s ethnic group"
hint_text: "Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest." hint_text: "Buyer 1 is the person in the household who does the most paid work. If it’s a joint purchase and the buyers do the same amount of paid work, buyer 1 is whoever is the oldest."
question_text: "What is buyer 1’s ethnic group?" question_text: "What is buyer 1’s ethnic group?"
ethnic: ethnic:
ethnic_background_black: ethnic_background_black:
page_header: "" page_header: ""
@ -103,9 +103,9 @@ en:
question_text: "What is buyer 2's relationship to buyer 1?" question_text: "What is buyer 2's relationship to buyer 1?"
person: person:
page_header: "" page_header: ""
check_answer_label: "Person 2’s relationship to Buyer 1" check_answer_label: "Person 2’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 2’s relationship to Buyer 1?" question_text: "What is person 2’s relationship to buyer 1?"
age2: age2:
buyer: buyer:
@ -139,14 +139,14 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 2’s gender identity" check_answer_label: "Person 2’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 2’s gender identity?" question_text: "Which of these best describes person 2’s gender identity?"
ethnic_group2: ethnic_group2:
page_header: "" page_header: ""
check_answer_label: "Buyer 2’s ethnic group" check_answer_label: "Buyer 2’s ethnic group"
hint_text: "" hint_text: ""
question_text: "What is buyer 2’s ethnic group?" question_text: "What is buyer 2’s ethnic group?"
ethnicbuy2: ethnicbuy2:
ethnic_background_black: ethnic_background_black:
page_header: "" page_header: ""
@ -179,7 +179,7 @@ en:
check_answer_label: "Buyer 2’s nationality" check_answer_label: "Buyer 2’s nationality"
hint_text: "" hint_text: ""
question_text: "What is buyer 2’s nationality?" question_text: "What is buyer 2’s nationality?"
ecstat2: ecstat2:
buyer: buyer:
page_header: "" page_header: ""
@ -190,14 +190,14 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 2’s working situation" check_answer_label: "Person 2’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 2’s working situation?" question_text: "Which of these best describes person 2’s working situation?"
buy2livein: buy2livein:
page_header: "" page_header: ""
check_answer_label: "Will buyer 2 live in the property?" check_answer_label: "Will buyer 2 live in the property?"
hint_text: "" hint_text: ""
question_text: "Will buyer 2 live in the property?" question_text: "Will buyer 2 live in the property?"
hholdcount: hholdcount:
joint_purchase: joint_purchase:
page_header: "" page_header: ""
@ -224,9 +224,9 @@ en:
relat3: relat3:
page_header: "" page_header: ""
check_answer_label: "Person 3’s relationship to Buyer 1" check_answer_label: "Person 3’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 3’s relationship to Buyer 1?" question_text: "What is person 3’s relationship to buyer 1?"
age3: age3:
page_header: "" page_header: ""
@ -238,18 +238,18 @@ en:
check_answer_label: "Person 3’s age" check_answer_label: "Person 3’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex3: sex3:
page_header: "" page_header: ""
check_answer_label: "Person 3’s gender identity" check_answer_label: "Person 3’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 3’s gender identity?" question_text: "Which of these best describes person 3’s gender identity?"
ecstat3: ecstat3:
page_header: "" page_header: ""
check_answer_label: "Person 3’s working situation" check_answer_label: "Person 3’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 3’s working situation?" question_text: "Which of these best describes person 3’s working situation?"
details_known_4: details_known_4:
page_header: "" page_header: ""
@ -259,9 +259,9 @@ en:
relat4: relat4:
page_header: "" page_header: ""
check_answer_label: "Person 4’s relationship to Buyer 1" check_answer_label: "Person 4’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 4’s relationship to Buyer 1?" question_text: "What is person 4’s relationship to buyer 1?"
age4: age4:
page_header: "" page_header: ""
@ -273,18 +273,18 @@ en:
check_answer_label: "Person 4’s age" check_answer_label: "Person 4’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex4: sex4:
page_header: "" page_header: ""
check_answer_label: "Person 4’s gender identity" check_answer_label: "Person 4’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 4’s gender identity?" question_text: "Which of these best describes person 4’s gender identity?"
ecstat4: ecstat4:
page_header: "" page_header: ""
check_answer_label: "Person 4’s working situation" check_answer_label: "Person 4’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 4’s working situation?" question_text: "Which of these best describes person 4’s working situation?"
details_known_5: details_known_5:
page_header: "" page_header: ""
@ -294,9 +294,9 @@ en:
relat5: relat5:
page_header: "" page_header: ""
check_answer_label: "Person 5’s relationship to Buyer 1" check_answer_label: "Person 5’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 5’s relationship to Buyer 1?" question_text: "What is person 5’s relationship to buyer 1?"
age5: age5:
page_header: "" page_header: ""
@ -308,18 +308,18 @@ en:
check_answer_label: "Person 5’s age" check_answer_label: "Person 5’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex5: sex5:
page_header: "" page_header: ""
check_answer_label: "Person 5’s gender identity" check_answer_label: "Person 5’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 5’s gender identity?" question_text: "Which of these best describes person 5’s gender identity?"
ecstat5: ecstat5:
page_header: "" page_header: ""
check_answer_label: "Person 5’s working situation" check_answer_label: "Person 5’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 5’s working situation?" question_text: "Which of these best describes person 5’s working situation?"
details_known_6: details_known_6:
page_header: "" page_header: ""
@ -329,9 +329,9 @@ en:
relat6: relat6:
page_header: "" page_header: ""
check_answer_label: "Person 6’s relationship to Buyer 1" check_answer_label: "Person 6’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 6’s relationship to Buyer 1?" question_text: "What is person 6’s relationship to buyer 1?"
age6: age6:
page_header: "" page_header: ""
@ -343,15 +343,15 @@ en:
check_answer_label: "Person 6’s age" check_answer_label: "Person 6’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex6: sex6:
page_header: "" page_header: ""
check_answer_label: "Person 6’s gender identity" check_answer_label: "Person 6’s gender identity"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 6’s gender identity?" question_text: "Which of these best describes person 6’s gender identity?"
ecstat6: ecstat6:
page_header: "" page_header: ""
check_answer_label: "Person 6’s working situation" check_answer_label: "Person 6’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 6’s working situation?" question_text: "Which of these best describes person 6’s working situation?"

12
config/locales/forms/2023/sales/income_benefits_and_savings.en.yml

@ -13,7 +13,7 @@ en:
check_answer_label: "Buyer 1’s gross annual income" check_answer_label: "Buyer 1’s gross annual income"
hint_text: "Provide the gross annual income (i.e. salary before tax) plus the annual amount of benefits, Universal Credit or pensions, and income from investments." hint_text: "Provide the gross annual income (i.e. salary before tax) plus the annual amount of benefits, Universal Credit or pensions, and income from investments."
question_text: "Buyer 1’s gross annual income" question_text: "Buyer 1’s gross annual income"
inc1mort: inc1mort:
page_header: "" page_header: ""
check_answer_label: "Buyer 1’s income used for mortgage application" check_answer_label: "Buyer 1’s income used for mortgage application"
@ -33,7 +33,7 @@ en:
inc2mort: inc2mort:
page_header: "" page_header: ""
check_answer_label: "Buyer 2’s income used for mortgage application" check_answer_label: "Buyer 2’s income used for mortgage application"
hint_text: "" hint_text: ""
question_text: "Was buyer 2’s income used for a mortgage application?" question_text: "Was buyer 2’s income used for a mortgage application?"
@ -48,14 +48,14 @@ en:
check_answer_label: "Housing-related benefits buyer received before buying this property" check_answer_label: "Housing-related benefits buyer received before buying this property"
hint_text: "" hint_text: ""
question_text: "Was the buyer receiving any of these housing-related benefits immediately before buying this property?" question_text: "Was the buyer receiving any of these housing-related benefits immediately before buying this property?"
savings: savings:
joint_purchase: joint_purchase:
page_header: "" page_header: ""
savingsnk: savingsnk:
check_answer_label: "Buyers’ total savings known?" check_answer_label: "Buyers’ total savings known?"
hint_text: "" hint_text: ""
question_text: "Do you know how much the 'buyers' had in savings before they paid any deposit for the property?" question_text: "Do you know how much the buyers had in savings before they paid any deposit for the property?"
savings: savings:
check_answer_label: "Buyers’ total savings before any deposit paid" check_answer_label: "Buyers’ total savings before any deposit paid"
hint_text: "Include any savings, investments, ISAs, premium bonds, shares, or money held in a bank or building society account." hint_text: "Include any savings, investments, ISAs, premium bonds, shares, or money held in a bank or building society account."
@ -87,4 +87,4 @@ en:
page_header: "" page_header: ""
check_answer_label: "Previous property shared ownership?" check_answer_label: "Previous property shared ownership?"
hint_text: "For any buyer" hint_text: "For any buyer"
question_text: "Was the previous property under shared ownership?" question_text: "Was the previous property under shared ownership?"

24
config/locales/forms/2023/sales/sale_information.en.yml

@ -28,7 +28,7 @@ en:
staircasing: staircasing:
page_header: "" page_header: ""
check_answer_label: "Staircasing transaction" check_answer_label: "Staircasing transaction"
hint_text: "A staircasing transaction is when the household purchases more shares in their property, increasing the proportion they own and decreasing the proportion the housing association owns. Once the household purchases 100% of the shares, they own the property" hint_text: "A staircasing transaction is when the household purchases more shares in their property, increasing the proportion they own and decreasing the proportion the housing association owns. Once the household purchases 100% of the shares, they own the property."
question_text: "Is this a staircasing transaction?" question_text: "Is this a staircasing transaction?"
about_staircasing: about_staircasing:
page_header: "About the staircasing transaction" page_header: "About the staircasing transaction"
@ -69,7 +69,7 @@ en:
check_answer_label: "Household rehoused under a local authority nominations agreement?" check_answer_label: "Household rehoused under a local authority nominations agreement?"
hint_text: "A local authority nominations agreement is a written agreement between a local authority and private registered provider (PRP) that some or all of its sales vacancies are offered to local authorities for rehousing" hint_text: "A local authority nominations agreement is a written agreement between a local authority and private registered provider (PRP) that some or all of its sales vacancies are offered to local authorities for rehousing"
question_text: "Was the household rehoused under a 'local authority nominations agreement'?" question_text: "Was the household rehoused under a 'local authority nominations agreement'?"
soctenant: soctenant:
joint_purchase: joint_purchase:
page_header: "" page_header: ""
@ -81,11 +81,11 @@ en:
check_answer_label: "Buyer was a registered provider, housing association or local authority tenant immediately before this sale?" check_answer_label: "Buyer was a registered provider, housing association or local authority tenant immediately before this sale?"
hint_text: "" hint_text: ""
question_text: "Was the buyer a private registered provider, housing association or local authority tenant immediately before this sale?" question_text: "Was the buyer a private registered provider, housing association or local authority tenant immediately before this sale?"
frombeds: frombeds:
page_header: "About the buyers’ previous property" page_header: ""
check_answer_label: "Number of bedrooms in previous property" check_answer_label: "Number of bedrooms in previous property"
hint_text: "For bedsits enter 1" hint_text: "A bedsit has 1 bedroom."
question_text: "How many bedrooms did the property have?" question_text: "How many bedrooms did the property have?"
fromprop: fromprop:
@ -113,13 +113,13 @@ en:
question_text: "What was the initial percentage equity stake purchased?" question_text: "What was the initial percentage equity stake purchased?"
mortgageused: mortgageused:
page_header: "Mortgage Amount" page_header: ""
check_answer_label: "Mortgage used" check_answer_label: "Mortgage used"
hint_text: "" hint_text: ""
question_text: "Was a mortgage used for the purchase of this property?" question_text: "Was a mortgage used for the purchase of this property?"
mortgage: mortgage:
page_header: "Mortgage Amount" page_header: ""
check_answer_label: "Mortgage amount" check_answer_label: "Mortgage amount"
hint_text: "Enter the amount of mortgage agreed with the mortgage lender. Exclude any deposits or cash payments. Numeric in pounds. Rounded to the nearest pound." hint_text: "Enter the amount of mortgage agreed with the mortgage lender. Exclude any deposits or cash payments. Numeric in pounds. Rounded to the nearest pound."
question_text: "What is the mortgage amount?" question_text: "What is the mortgage amount?"
@ -135,7 +135,7 @@ en:
check_answer_label: "Other Mortgage Lender" check_answer_label: "Other Mortgage Lender"
hint_text: "" hint_text: ""
question_text: "What is the other mortgage lender?" question_text: "What is the other mortgage lender?"
mortlen: mortlen:
page_header: "" page_header: ""
check_answer_label: "Length of mortgage" check_answer_label: "Length of mortgage"
@ -147,7 +147,7 @@ en:
check_answer_label: "Any other borrowing?" check_answer_label: "Any other borrowing?"
hint_text: "" hint_text: ""
question_text: "Does this include any extra borrowing?" question_text: "Does this include any extra borrowing?"
deposit: deposit:
page_header: "About the deposit" page_header: "About the deposit"
check_answer_label: "Deposit amount" check_answer_label: "Deposit amount"
@ -165,7 +165,7 @@ en:
check_answer_label: "Monthly rent" check_answer_label: "Monthly rent"
hint_text: "Amount paid before any charges" hint_text: "Amount paid before any charges"
question_text: "What is the basic monthly rent?" question_text: "What is the basic monthly rent?"
leaseholdcharges: leaseholdcharges:
page_header: "" page_header: ""
has_mscharge: has_mscharge:
@ -199,10 +199,10 @@ en:
check_answer_label: "Percentage discount" check_answer_label: "Percentage discount"
hint_text: "For Right to Buy (RTB), Preserved Right to Buy (PRTB), and Voluntary Right to Buy (VRTB)</br></br>If discount capped, enter capped %</br></br>If the property is being sold to an existing tenant under the RTB, PRTB, or VRTB schemes, enter the % discount from the full market value that is being given." hint_text: "For Right to Buy (RTB), Preserved Right to Buy (PRTB), and Voluntary Right to Buy (VRTB)</br></br>If discount capped, enter capped %</br></br>If the property is being sold to an existing tenant under the RTB, PRTB, or VRTB schemes, enter the % discount from the full market value that is being given."
question_text: "What was the percentage discount?" question_text: "What was the percentage discount?"
grant: grant:
page_header: "About the price of the property" page_header: "About the price of the property"
check_answer_label: "Amount of any loan, grant or subsidy" check_answer_label: "Amount of any loan, grant or subsidy"
hint_text: "For all schemes except Right to Buy (RTB), Preserved Right to Buy (PRTB), Voluntary Right to Buy (VRTB) and Rent to Buy" hint_text: "For all schemes except Right to Buy (RTB), Preserved Right to Buy (PRTB), Voluntary Right to Buy (VRTB) and Rent to Buy"
question_text: "What was the amount of any loan, grant, discount or subsidy given?" question_text: "What was the amount of any loan, grant, discount or subsidy given?"

8
config/locales/forms/2024/lettings/household_characteristics.en.yml

@ -13,19 +13,19 @@ en:
page_header: "" page_header: ""
age1_known: age1_known:
check_answer_label: "" check_answer_label: ""
hint_text: "The lead’ or ’main’ tenant is the person in the household who does the most paid work. If several people do the same amount of paid work, the lead tenant is whoever is the oldest." hint_text: "The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest."
question_text: "Do you know the lead tenant’s age?" question_text: "Do you know the lead tenant’s age?"
age1: age1:
check_answer_label: "Lead tenant’s age" check_answer_label: "Lead tenant’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex1: sex1:
page_header: "" page_header: ""
check_answer_label: "Lead tenant’s gender identity" check_answer_label: "Lead tenant’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes the lead tenant’s gender identity?" question_text: "Which of these best describes the lead tenant’s gender identity?"
ethnic_group: ethnic_group:
page_header: "" page_header: ""
check_answer_label: "Lead tenant’s ethnic group" check_answer_label: "Lead tenant’s ethnic group"
@ -319,4 +319,4 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 8’s working situation" check_answer_label: "Person 8’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes person 8’s working situation?" question_text: "Which of these best describes person 8’s working situation?"

2
config/locales/forms/2024/lettings/income_and_benefits.en.yml

@ -103,6 +103,6 @@ en:
hint_text: "You only need to give an approximate figure." hint_text: "You only need to give an approximate figure."
question_text: "Can you estimate the outstanding amount?" question_text: "Can you estimate the outstanding amount?"
tshortfall: tshortfall:
check_answer_label: "Estimated outstanding amountt" check_answer_label: "Estimated outstanding amount"
hint_text: "Also known as the ‘outstanding amount’." hint_text: "Also known as the ‘outstanding amount’."
question_text: "Estimated outstanding amount" question_text: "Estimated outstanding amount"

58
config/locales/forms/2024/sales/household_characteristics.en.yml

@ -13,7 +13,7 @@ en:
check_answer_label: "Buyer 1’s age" check_answer_label: "Buyer 1’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex1: sex1:
page_header: "" page_header: ""
check_answer_label: "Buyer 1’s gender identity" check_answer_label: "Buyer 1’s gender identity"
@ -25,7 +25,7 @@ en:
check_answer_label: "Buyer 1’s ethnic group" check_answer_label: "Buyer 1’s ethnic group"
hint_text: "" hint_text: ""
question_text: "What is buyer 1’s ethnic group?" question_text: "What is buyer 1’s ethnic group?"
ethnic: ethnic:
ethnic_background_black: ethnic_background_black:
page_header: "" page_header: ""
@ -85,9 +85,9 @@ en:
question_text: "What is buyer 2's relationship to buyer 1?" question_text: "What is buyer 2's relationship to buyer 1?"
person: person:
page_header: "" page_header: ""
check_answer_label: "Person 2’s relationship to Buyer 1" check_answer_label: "Person 2’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 2’s relationship to Buyer 1?" question_text: "What is person 2’s relationship to buyer 1?"
age2: age2:
buyer: buyer:
@ -121,14 +121,14 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 2’s gender identity" check_answer_label: "Person 2’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 2’s gender identity?" question_text: "Which of these best describes person 2’s gender identity?"
ethnic_group2: ethnic_group2:
page_header: "" page_header: ""
check_answer_label: "Buyer 2’s ethnic group" check_answer_label: "Buyer 2’s ethnic group"
hint_text: "" hint_text: ""
question_text: "What is buyer 2’s ethnic group?" question_text: "What is buyer 2’s ethnic group?"
ethnicbuy2: ethnicbuy2:
ethnic_background_black: ethnic_background_black:
page_header: "" page_header: ""
@ -167,7 +167,7 @@ en:
check_answer_label: "Buyer 2’s nationality" check_answer_label: "Buyer 2’s nationality"
hint_text: "" hint_text: ""
question_text: "Enter a nationality" question_text: "Enter a nationality"
ecstat2: ecstat2:
buyer: buyer:
page_header: "" page_header: ""
@ -178,14 +178,14 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 2’s working situation" check_answer_label: "Person 2’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 2’s working situation?" question_text: "Which of these best describes person 2’s working situation?"
buy2livein: buy2livein:
page_header: "" page_header: ""
check_answer_label: "Will buyer 2 live in the property?" check_answer_label: "Will buyer 2 live in the property?"
hint_text: "" hint_text: ""
question_text: "Will buyer 2 live in the property?" question_text: "Will buyer 2 live in the property?"
hholdcount: hholdcount:
joint_purchase: joint_purchase:
page_header: "" page_header: ""
@ -212,9 +212,9 @@ en:
relat3: relat3:
page_header: "" page_header: ""
check_answer_label: "Person 3’s relationship to Buyer 1" check_answer_label: "Person 3’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 3’s relationship to Buyer 1?" question_text: "What is person 3’s relationship to buyer 1?"
age3: age3:
page_header: "" page_header: ""
@ -226,18 +226,18 @@ en:
check_answer_label: "Person 3’s age" check_answer_label: "Person 3’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex3: sex3:
page_header: "" page_header: ""
check_answer_label: "Person 3’s gender identity" check_answer_label: "Person 3’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 3’s gender identity?" question_text: "Which of these best describes person 3’s gender identity?"
ecstat3: ecstat3:
page_header: "" page_header: ""
check_answer_label: "Person 3’s working situation" check_answer_label: "Person 3’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 3’s working situation?" question_text: "Which of these best describes person 3’s working situation?"
details_known_4: details_known_4:
page_header: "" page_header: ""
@ -247,9 +247,9 @@ en:
relat4: relat4:
page_header: "" page_header: ""
check_answer_label: "Person 4’s relationship to Buyer 1" check_answer_label: "Person 4’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 4’s relationship to Buyer 1?" question_text: "What is person 4’s relationship to buyer 1?"
age4: age4:
page_header: "" page_header: ""
@ -261,18 +261,18 @@ en:
check_answer_label: "Person 4’s age" check_answer_label: "Person 4’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex4: sex4:
page_header: "" page_header: ""
check_answer_label: "Person 4’s gender identity" check_answer_label: "Person 4’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 4’s gender identity?" question_text: "Which of these best describes person 4’s gender identity?"
ecstat4: ecstat4:
page_header: "" page_header: ""
check_answer_label: "Person 4’s working situation" check_answer_label: "Person 4’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 4’s working situation?" question_text: "Which of these best describes person 4’s working situation?"
details_known_5: details_known_5:
page_header: "" page_header: ""
@ -282,9 +282,9 @@ en:
relat5: relat5:
page_header: "" page_header: ""
check_answer_label: "Person 5’s relationship to Buyer 1" check_answer_label: "Person 5’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 5’s relationship to Buyer 1?" question_text: "What is person 5’s relationship to buyer 1?"
age5: age5:
page_header: "" page_header: ""
@ -296,18 +296,18 @@ en:
check_answer_label: "Person 5’s age" check_answer_label: "Person 5’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex5: sex5:
page_header: "" page_header: ""
check_answer_label: "Person 5’s gender identity" check_answer_label: "Person 5’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 5’s gender identity?" question_text: "Which of these best describes person 5’s gender identity?"
ecstat5: ecstat5:
page_header: "" page_header: ""
check_answer_label: "Person 5’s working situation" check_answer_label: "Person 5’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 5’s working situation?" question_text: "Which of these best describes person 5’s working situation?"
details_known_6: details_known_6:
page_header: "" page_header: ""
@ -317,9 +317,9 @@ en:
relat6: relat6:
page_header: "" page_header: ""
check_answer_label: "Person 6’s relationship to Buyer 1" check_answer_label: "Person 6’s relationship to buyer 1"
hint_text: "" hint_text: ""
question_text: "What is Person 6’s relationship to Buyer 1?" question_text: "What is person 6’s relationship to buyer 1?"
age6: age6:
page_header: "" page_header: ""
@ -331,15 +331,15 @@ en:
check_answer_label: "Person 6’s age" check_answer_label: "Person 6’s age"
hint_text: "" hint_text: ""
question_text: "Age" question_text: "Age"
sex6: sex6:
page_header: "" page_header: ""
check_answer_label: "Person 6’s gender identity" check_answer_label: "Person 6’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 6’s gender identity?" question_text: "Which of these best describes person 6’s gender identity?"
ecstat6: ecstat6:
page_header: "" page_header: ""
check_answer_label: "Person 6’s working situation" check_answer_label: "Person 6’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 6’s working situation?" question_text: "Which of these best describes person 6’s working situation?"

8
config/locales/forms/2024/sales/income_benefits_and_savings.en.yml

@ -13,7 +13,7 @@ en:
check_answer_label: "Buyer 1’s gross annual income" check_answer_label: "Buyer 1’s gross annual income"
hint_text: "Provide the gross annual income (i.e. salary before tax) plus the annual amount of benefits, Universal Credit or pensions, and income from investments." hint_text: "Provide the gross annual income (i.e. salary before tax) plus the annual amount of benefits, Universal Credit or pensions, and income from investments."
question_text: "Buyer 1’s gross annual income" question_text: "Buyer 1’s gross annual income"
inc1mort: inc1mort:
page_header: "" page_header: ""
check_answer_label: "Buyer 1’s income used for mortgage application" check_answer_label: "Buyer 1’s income used for mortgage application"
@ -48,14 +48,14 @@ en:
check_answer_label: "Housing-related benefits buyer received before buying this property" check_answer_label: "Housing-related benefits buyer received before buying this property"
hint_text: "" hint_text: ""
question_text: "Was the buyer receiving any of these housing-related benefits immediately before buying this property?" question_text: "Was the buyer receiving any of these housing-related benefits immediately before buying this property?"
savings: savings:
joint_purchase: joint_purchase:
page_header: "" page_header: ""
savingsnk: savingsnk:
check_answer_label: "Buyers’ total savings known?" check_answer_label: "Buyers’ total savings known?"
hint_text: "" hint_text: ""
question_text: "Do you know how much the 'buyers' had in savings before they paid any deposit for the property?" question_text: "Do you know how much the buyers had in savings before they paid any deposit for the property?"
savings: savings:
check_answer_label: "Buyers’ total savings before any deposit paid" check_answer_label: "Buyers’ total savings before any deposit paid"
hint_text: "Include any savings, investments, ISAs, premium bonds, shares, or money held in a bank or building society account." hint_text: "Include any savings, investments, ISAs, premium bonds, shares, or money held in a bank or building society account."
@ -87,4 +87,4 @@ en:
page_header: "" page_header: ""
check_answer_label: "Previous property shared ownership?" check_answer_label: "Previous property shared ownership?"
hint_text: "For any buyer" hint_text: "For any buyer"
question_text: "Was the previous property under shared ownership?" question_text: "Was the previous property under shared ownership?"

24
config/locales/forms/2024/sales/sale_information.en.yml

@ -28,7 +28,7 @@ en:
staircasing: staircasing:
page_header: "" page_header: ""
check_answer_label: "Staircasing transaction" check_answer_label: "Staircasing transaction"
hint_text: "A staircasing transaction is when the household purchases more shares in their property, increasing the proportion they own and decreasing the proportion the housing association owns. Once the household purchases 100% of the shares, they own the property" hint_text: "A staircasing transaction is when the household purchases more shares in their property, increasing the proportion they own and decreasing the proportion the housing association owns. Once the household purchases 100% of the shares, they own the property."
question_text: "Is this a staircasing transaction?" question_text: "Is this a staircasing transaction?"
about_staircasing: about_staircasing:
page_header: "About the staircasing transaction" page_header: "About the staircasing transaction"
@ -73,7 +73,7 @@ en:
check_answer_label: "Household rehoused under a local authority nominations agreement?" check_answer_label: "Household rehoused under a local authority nominations agreement?"
hint_text: "A local authority nominations agreement is a written agreement between a local authority and private registered provider (PRP) that some or all of its sales vacancies are offered to local authorities for rehousing" hint_text: "A local authority nominations agreement is a written agreement between a local authority and private registered provider (PRP) that some or all of its sales vacancies are offered to local authorities for rehousing"
question_text: "Was the household rehoused under a 'local authority nominations agreement'?" question_text: "Was the household rehoused under a 'local authority nominations agreement'?"
soctenant: soctenant:
joint_purchase: joint_purchase:
page_header: "" page_header: ""
@ -85,11 +85,11 @@ en:
check_answer_label: "Buyer was a registered provider, housing association or local authority tenant immediately before this sale?" check_answer_label: "Buyer was a registered provider, housing association or local authority tenant immediately before this sale?"
hint_text: "" hint_text: ""
question_text: "Was the buyer a private registered provider, housing association or local authority tenant immediately before this sale?" question_text: "Was the buyer a private registered provider, housing association or local authority tenant immediately before this sale?"
frombeds: frombeds:
page_header: "About the buyers’ previous property" page_header: ""
check_answer_label: "Number of bedrooms in previous property" check_answer_label: "Number of bedrooms in previous property"
hint_text: "For bedsits enter 1" hint_text: "A bedsit has 1 bedroom."
question_text: "How many bedrooms did the property have?" question_text: "How many bedrooms did the property have?"
fromprop: fromprop:
@ -117,13 +117,13 @@ en:
question_text: "What was the initial percentage equity stake purchased?" question_text: "What was the initial percentage equity stake purchased?"
mortgageused: mortgageused:
page_header: "Mortgage Amount" page_header: ""
check_answer_label: "Mortgage used" check_answer_label: "Mortgage used"
hint_text: "" hint_text: ""
question_text: "Was a mortgage used for the purchase of this property?" question_text: "Was a mortgage used for the purchase of this property?"
mortgage: mortgage:
page_header: "Mortgage Amount" page_header: ""
check_answer_label: "Mortgage amount" check_answer_label: "Mortgage amount"
hint_text: "Enter the amount of mortgage agreed with the mortgage lender. Exclude any deposits or cash payments. Numeric in pounds. Rounded to the nearest pound." hint_text: "Enter the amount of mortgage agreed with the mortgage lender. Exclude any deposits or cash payments. Numeric in pounds. Rounded to the nearest pound."
question_text: "What is the mortgage amount?" question_text: "What is the mortgage amount?"
@ -139,7 +139,7 @@ en:
check_answer_label: "Other Mortgage Lender" check_answer_label: "Other Mortgage Lender"
hint_text: "" hint_text: ""
question_text: "What is the other mortgage lender?" question_text: "What is the other mortgage lender?"
mortlen: mortlen:
page_header: "" page_header: ""
check_answer_label: "Length of mortgage" check_answer_label: "Length of mortgage"
@ -151,7 +151,7 @@ en:
check_answer_label: "Any other borrowing?" check_answer_label: "Any other borrowing?"
hint_text: "" hint_text: ""
question_text: "Does this include any extra borrowing?" question_text: "Does this include any extra borrowing?"
deposit: deposit:
page_header: "About the deposit" page_header: "About the deposit"
check_answer_label: "Deposit amount" check_answer_label: "Deposit amount"
@ -169,7 +169,7 @@ en:
check_answer_label: "Monthly rent" check_answer_label: "Monthly rent"
hint_text: "Amount paid before any charges" hint_text: "Amount paid before any charges"
question_text: "What is the basic monthly rent?" question_text: "What is the basic monthly rent?"
leaseholdcharges: leaseholdcharges:
page_header: "" page_header: ""
has_mscharge: has_mscharge:
@ -198,10 +198,10 @@ en:
check_answer_label: "Percentage discount" check_answer_label: "Percentage discount"
hint_text: "For Right to Buy (RTB), Preserved Right to Buy (PRTB), and Voluntary Right to Buy (VRTB)</br></br>If discount capped, enter capped %</br></br>If the property is being sold to an existing tenant under the RTB, PRTB, or VRTB schemes, enter the % discount from the full market value that is being given." hint_text: "For Right to Buy (RTB), Preserved Right to Buy (PRTB), and Voluntary Right to Buy (VRTB)</br></br>If discount capped, enter capped %</br></br>If the property is being sold to an existing tenant under the RTB, PRTB, or VRTB schemes, enter the % discount from the full market value that is being given."
question_text: "What was the percentage discount?" question_text: "What was the percentage discount?"
grant: grant:
page_header: "About the price of the property" page_header: "About the price of the property"
check_answer_label: "Amount of any loan, grant or subsidy" check_answer_label: "Amount of any loan, grant or subsidy"
hint_text: "For all schemes except Right to Buy (RTB), Preserved Right to Buy (PRTB), Voluntary Right to Buy (VRTB) and Rent to Buy" hint_text: "For all schemes except Right to Buy (RTB), Preserved Right to Buy (PRTB), Voluntary Right to Buy (VRTB) and Rent to Buy"
question_text: "What was the amount of any loan, grant, discount or subsidy given?" question_text: "What was the amount of any loan, grant, discount or subsidy given?"

2
config/locales/forms/2025/lettings/household_characteristics.en.yml

@ -13,7 +13,7 @@ en:
page_header: "" page_header: ""
age1_known: age1_known:
check_answer_label: "" check_answer_label: ""
hint_text: "The lead’ or ’main’ tenant is the person in the household who does the most paid work. If several people do the same amount of paid work, the lead tenant is whoever is the oldest." hint_text: "The lead tenant is the person in the household who does the most paid work. If several people do the same paid work, the lead tenant is whoever is the oldest."
question_text: "Do you know the lead tenant’s age?" question_text: "Do you know the lead tenant’s age?"
age1: age1:
check_answer_label: "Lead tenant’s age" check_answer_label: "Lead tenant’s age"

2
config/locales/forms/2025/lettings/income_and_benefits.en.yml

@ -103,6 +103,6 @@ en:
hint_text: "You only need to give an approximate figure." hint_text: "You only need to give an approximate figure."
question_text: "Can you estimate the outstanding amount?" question_text: "Can you estimate the outstanding amount?"
tshortfall: tshortfall:
check_answer_label: "Estimated outstanding amountt" check_answer_label: "Estimated outstanding amount"
hint_text: "Also known as the ‘outstanding amount’." hint_text: "Also known as the ‘outstanding amount’."
question_text: "Estimated outstanding amount" question_text: "Estimated outstanding amount"

20
config/locales/forms/2025/sales/household_characteristics.en.yml

@ -121,7 +121,7 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 2’s gender identity" check_answer_label: "Person 2’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 2’s gender identity?" question_text: "Which of these best describes person 2’s gender identity?"
ethnic_group2: ethnic_group2:
page_header: "" page_header: ""
@ -178,7 +178,7 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 2’s working situation" check_answer_label: "Person 2’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 2’s working situation?" question_text: "Which of these best describes person 2’s working situation?"
buy2livein: buy2livein:
page_header: "" page_header: ""
@ -231,13 +231,13 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 3’s gender identity" check_answer_label: "Person 3’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 3’s gender identity?" question_text: "Which of these best describes person 3’s gender identity?"
ecstat3: ecstat3:
page_header: "" page_header: ""
check_answer_label: "Person 3’s working situation" check_answer_label: "Person 3’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 3’s working situation?" question_text: "Which of these best describes person 3’s working situation?"
details_known_4: details_known_4:
page_header: "" page_header: ""
@ -266,13 +266,13 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 4’s gender identity" check_answer_label: "Person 4’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 4’s gender identity?" question_text: "Which of these best describes person 4’s gender identity?"
ecstat4: ecstat4:
page_header: "" page_header: ""
check_answer_label: "Person 4’s working situation" check_answer_label: "Person 4’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 4’s working situation?" question_text: "Which of these best describes person 4’s working situation?"
details_known_5: details_known_5:
page_header: "" page_header: ""
@ -301,13 +301,13 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 5’s gender identity" check_answer_label: "Person 5’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 5’s gender identity?" question_text: "Which of these best describes person 5’s gender identity?"
ecstat5: ecstat5:
page_header: "" page_header: ""
check_answer_label: "Person 5’s working situation" check_answer_label: "Person 5’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 5’s working situation?" question_text: "Which of these best describes person 5’s working situation?"
details_known_6: details_known_6:
page_header: "" page_header: ""
@ -336,10 +336,10 @@ en:
page_header: "" page_header: ""
check_answer_label: "Person 6’s gender identity" check_answer_label: "Person 6’s gender identity"
hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth." hint_text: "This should be however they personally choose to identify from the options below. This may or may not be the same as their biological sex or the sex they were assigned at birth."
question_text: "Which of these best describes Person 6’s gender identity?" question_text: "Which of these best describes person 6’s gender identity?"
ecstat6: ecstat6:
page_header: "" page_header: ""
check_answer_label: "Person 6’s working situation" check_answer_label: "Person 6’s working situation"
hint_text: "" hint_text: ""
question_text: "Which of these best describes Person 6’s working situation?" question_text: "Which of these best describes person 6’s working situation?"

2
config/locales/forms/2025/sales/income_benefits_and_savings.en.yml

@ -55,7 +55,7 @@ en:
savingsnk: savingsnk:
check_answer_label: "Buyers’ total savings known?" check_answer_label: "Buyers’ total savings known?"
hint_text: "" hint_text: ""
question_text: "Do you know how much the 'buyers' had in savings before they paid any deposit for the property?" question_text: "Do you know how much the buyers had in savings before they paid any deposit for the property?"
savings: savings:
check_answer_label: "Buyers’ total savings before any deposit paid" check_answer_label: "Buyers’ total savings before any deposit paid"
hint_text: "Include any savings, investments, ISAs, premium bonds, shares, or money held in a bank or building society account." hint_text: "Include any savings, investments, ISAs, premium bonds, shares, or money held in a bank or building society account."

8
config/locales/forms/2025/sales/sale_information.en.yml

@ -105,9 +105,9 @@ en:
question_text: "Was the buyer a private registered provider, housing association or local authority tenant immediately before this sale?" question_text: "Was the buyer a private registered provider, housing association or local authority tenant immediately before this sale?"
frombeds: frombeds:
page_header: "About the buyers’ previous property" page_header: ""
check_answer_label: "Number of bedrooms in previous property" check_answer_label: "Number of bedrooms in previous property"
hint_text: "For bedsits enter 1" hint_text: "A bedsit has 1 bedroom."
question_text: "How many bedrooms did the property have?" question_text: "How many bedrooms did the property have?"
fromprop: fromprop:
@ -145,13 +145,13 @@ en:
question_text: "What was the percentage shared purchased in the initial transaction?" question_text: "What was the percentage shared purchased in the initial transaction?"
mortgageused: mortgageused:
page_header: "Mortgage Amount" page_header: ""
check_answer_label: "Mortgage used?" check_answer_label: "Mortgage used?"
hint_text: "" hint_text: ""
question_text: "Was a mortgage used for the purchase of this property?" question_text: "Was a mortgage used for the purchase of this property?"
mortgage: mortgage:
page_header: "Mortgage Amount" page_header: ""
check_answer_label: "Mortgage amount" check_answer_label: "Mortgage amount"
hint_text: "Enter the amount of mortgage agreed with the mortgage lender. Exclude any deposits or cash payments. Numeric in pounds. Rounded to the nearest pound." hint_text: "Enter the amount of mortgage agreed with the mortgage lender. Exclude any deposits or cash payments. Numeric in pounds. Rounded to the nearest pound."
question_text: "What is the mortgage amount?" question_text: "What is the mortgage amount?"

2
config/locales/forms/2025/sales/setup.en.yml

@ -42,7 +42,7 @@ en:
staircasing: staircasing:
page_header: "" page_header: ""
check_answer_label: "Staircasing transaction" check_answer_label: "Staircasing transaction"
hint_text: "A staircasing transaction is when the household purchases more shares in their property, increasing the proportion they own and decreasing the proportion the housing association owns. Once the household purchases 100% of the shares, they own the property" hint_text: "A staircasing transaction is when the household purchases more shares in their property, increasing the proportion they own and decreasing the proportion the housing association owns. Once the household purchases 100% of the shares, they own the property."
question_text: "Is this a staircasing transaction?" question_text: "Is this a staircasing transaction?"
type: type:

4
spec/models/form/sales/pages/equity_spec.rb

@ -7,6 +7,10 @@ RSpec.describe Form::Sales::Pages::Equity, type: :model do
let(:page_definition) { nil } let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) } let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) }
before do
allow(page.subsection.form).to receive(:start_year_2025_or_later?).and_return(false)
end
it "has correct subsection" do it "has correct subsection" do
expect(page.subsection).to eq(subsection) expect(page.subsection).to eq(subsection)
end end

4
spec/models/form/sales/pages/value_shared_ownership_spec.rb

@ -7,6 +7,10 @@ RSpec.describe Form::Sales::Pages::ValueSharedOwnership, type: :model do
let(:page_definition) { nil } let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) } let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1))) }
before do
allow(page.subsection.form).to receive(:start_year_2025_or_later?).and_return(false)
end
it "has correct subsection" do it "has correct subsection" do
expect(page.subsection).to eq(subsection) expect(page.subsection).to eq(subsection)
end end

4
spec/models/form/sales/questions/equity_spec.rb

@ -7,6 +7,10 @@ RSpec.describe Form::Sales::Questions::Equity, type: :model do
let(:question_definition) { nil } let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, id: "initial_equity", subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) } let(:page) { instance_double(Form::Page, id: "initial_equity", subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
before do
allow(page.subsection.form).to receive(:start_year_2025_or_later?).and_return(false)
end
it "has correct page" do it "has correct page" do
expect(question.page).to eq(page) expect(question.page).to eq(page)
end end

74
spec/requests/schemes_controller_spec.rb

@ -2035,6 +2035,17 @@ RSpec.describe SchemesController, type: :request do
expect(page).to have_content("What client group is this scheme intended for?") expect(page).to have_content("What client group is this scheme intended for?")
end end
it "has correct back link" do
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/details")
end
context "and accessed from check answers" do
it "has correct back link" do
get "/schemes/#{scheme.id}/primary-client-group?referrer=check-answers"
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/check-answers")
end
end
context "when attempting to access primary-client-group scheme page for another organisation" do context "when attempting to access primary-client-group scheme page for another organisation" do
before do before do
get "/schemes/#{another_scheme.id}/primary-client-group" get "/schemes/#{another_scheme.id}/primary-client-group"
@ -2112,6 +2123,17 @@ RSpec.describe SchemesController, type: :request do
expect(page).to have_content("Does this scheme provide for another client group?") expect(page).to have_content("Does this scheme provide for another client group?")
end end
it "has correct back link" do
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/primary-client-group")
end
context "and accessed from check answers" do
it "has correct back link" do
get "/schemes/#{scheme.id}/confirm-secondary-client-group?referrer=check-answers"
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/check-answers")
end
end
context "when attempting to access confirm-secondary-client-group scheme page for another organisation" do context "when attempting to access confirm-secondary-client-group scheme page for another organisation" do
before do before do
get "/schemes/#{another_scheme.id}/confirm-secondary-client-group" get "/schemes/#{another_scheme.id}/confirm-secondary-client-group"
@ -2189,6 +2211,24 @@ RSpec.describe SchemesController, type: :request do
expect(page).to have_content("What is the other client group?") expect(page).to have_content("What is the other client group?")
end end
it "has correct back link" do
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/confirm-secondary-client-group")
end
context "and accessed from check answers" do
it "has correct back link" do
get "/schemes/#{scheme.id}/secondary-client-group?referrer=check-answers"
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/check-answers")
end
end
context "and accessed from has other client group" do
it "has correct back link" do
get "/schemes/#{scheme.id}/secondary-client-group?referrer=has-other-client-group"
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/confirm-secondary-client-group?referrer=check-answers")
end
end
context "when attempting to access secondary-client-group scheme page for another organisation" do context "when attempting to access secondary-client-group scheme page for another organisation" do
before do before do
get "/schemes/#{another_scheme.id}/secondary-client-group" get "/schemes/#{another_scheme.id}/secondary-client-group"
@ -2258,7 +2298,7 @@ RSpec.describe SchemesController, type: :request do
context "when signed in as a data coordinator" do context "when signed in as a data coordinator" do
let(:user) { create(:user, :data_coordinator) } let(:user) { create(:user, :data_coordinator) }
let(:scheme) { create(:scheme, owning_organisation: user.organisation, confirmed: nil) } let(:scheme) { create(:scheme, owning_organisation: user.organisation, confirmed: nil, has_other_client_group: "Yes") }
let(:another_scheme) { create(:scheme, confirmed: nil) } let(:another_scheme) { create(:scheme, confirmed: nil) }
before do before do
@ -2271,6 +2311,27 @@ RSpec.describe SchemesController, type: :request do
expect(page).to have_content("What support does this scheme provide?") expect(page).to have_content("What support does this scheme provide?")
end end
context "when scheme has secondary client group" do
it "has correct back link" do
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/secondary-client-group")
end
end
context "when scheme has no secondary client group" do
let(:scheme) { create(:scheme, owning_organisation: user.organisation, confirmed: nil, has_other_client_group: "No") }
it "has correct back link" do
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/confirm-secondary-client-group")
end
end
context "and accessed from check answers" do
it "has correct back link" do
get "/schemes/#{scheme.id}/support?referrer=check-answers"
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/check-answers")
end
end
context "when attempting to access secondary-client-group scheme page for another organisation" do context "when attempting to access secondary-client-group scheme page for another organisation" do
before do before do
get "/schemes/#{another_scheme.id}/support" get "/schemes/#{another_scheme.id}/support"
@ -2433,6 +2494,17 @@ RSpec.describe SchemesController, type: :request do
expect(page).to have_content("Create a new supported housing scheme") expect(page).to have_content("Create a new supported housing scheme")
end end
it "has correct back link" do
expect(page).to have_link("Back", href: "/schemes")
end
context "and accessed from check answers" do
it "has correct back link" do
get "/schemes/#{scheme.id}/details?referrer=check-answers"
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/check-answers")
end
end
context "when attempting to access check-answers scheme page for another organisation" do context "when attempting to access check-answers scheme page for another organisation" do
before do before do
get "/schemes/#{another_scheme.id}/details" get "/schemes/#{another_scheme.id}/details"

Loading…
Cancel
Save