From 1ec63679848cf9adad02004f46337eaa45b513c4 Mon Sep 17 00:00:00 2001 From: Carolyn Date: Wed, 26 Mar 2025 16:45:21 +0000 Subject: [PATCH] use separate question text for shared and discounted mscharge from 2025 --- .../form/sales/pages/leasehold_charges.rb | 14 +++++++- .../sales/questions/has_leasehold_charges.rb | 14 +++++++- .../form/sales/questions/leasehold_charges.rb | 14 +++++++- .../forms/2025/sales/sale_information.en.yml | 35 +++++++++++++------ 4 files changed, 63 insertions(+), 14 deletions(-) diff --git a/app/models/form/sales/pages/leasehold_charges.rb b/app/models/form/sales/pages/leasehold_charges.rb index 72b2eeea3..e5a4b704c 100644 --- a/app/models/form/sales/pages/leasehold_charges.rb +++ b/app/models/form/sales/pages/leasehold_charges.rb @@ -2,7 +2,19 @@ class Form::Sales::Pages::LeaseholdCharges < ::Form::Page def initialize(id, hsh, subsection, ownershipsch:) super(id, hsh, subsection) @ownershipsch = ownershipsch - @copy_key = "sales.sale_information.leaseholdcharges" + end + + def copy_key + if form.start_year_2025_or_later? + case @ownershipsch + when 1 + "sales.sale_information.leaseholdcharges.shared_ownership" + when 2 + "sales.sale_information.leaseholdcharges.discounted_ownership" + end + else + "sales.sale_information.leaseholdcharges" + end end def questions diff --git a/app/models/form/sales/questions/has_leasehold_charges.rb b/app/models/form/sales/questions/has_leasehold_charges.rb index c4998f590..2f3333b42 100644 --- a/app/models/form/sales/questions/has_leasehold_charges.rb +++ b/app/models/form/sales/questions/has_leasehold_charges.rb @@ -2,7 +2,6 @@ class Form::Sales::Questions::HasLeaseholdCharges < ::Form::Question def initialize(id, hsh, subsection, ownershipsch:) super(id, hsh, subsection) @id = "has_mscharge" - @copy_key = "sales.sale_information.leaseholdcharges.has_mscharge" @type = "radio" @answer_options = ANSWER_OPTIONS @conditional_for = { @@ -19,6 +18,19 @@ class Form::Sales::Questions::HasLeaseholdCharges < ::Form::Question @question_number = QUESTION_NUMBER_FROM_YEAR_AND_OWNERSHIP.fetch(form.start_date.year, QUESTION_NUMBER_FROM_YEAR_AND_OWNERSHIP.max_by { |k, _v| k }.last)[ownershipsch] end + def copy_key + if form.start_year_2025_or_later? + case @ownershipsch + when 1 + "sales.sale_information.leaseholdcharges.shared_ownership.has_mscharge" + when 2 + "sales.sale_information.leaseholdcharges.discounted_ownership.has_mscharge" + end + else + "sales.sale_information.leaseholdcharges.has_mscharge" + end + end + ANSWER_OPTIONS = { "1" => { "value" => "Yes" }, "0" => { "value" => "No" }, diff --git a/app/models/form/sales/questions/leasehold_charges.rb b/app/models/form/sales/questions/leasehold_charges.rb index 41eb26bcd..ae101df39 100644 --- a/app/models/form/sales/questions/leasehold_charges.rb +++ b/app/models/form/sales/questions/leasehold_charges.rb @@ -2,7 +2,6 @@ class Form::Sales::Questions::LeaseholdCharges < ::Form::Question def initialize(id, hsh, subsection, ownershipsch:) super(id, hsh, subsection) @id = "mscharge" - @copy_key = "sales.sale_information.leaseholdcharges.mscharge" @type = "numeric" @min = 1 @step = 0.01 @@ -12,6 +11,19 @@ class Form::Sales::Questions::LeaseholdCharges < ::Form::Question @question_number = QUESTION_NUMBER_FROM_YEAR_AND_OWNERSHIP.fetch(form.start_date.year, QUESTION_NUMBER_FROM_YEAR_AND_OWNERSHIP.max_by { |k, _v| k }.last)[ownershipsch] end + def copy_key + if form.start_year_2025_or_later? + case @ownershipsch + when 1 + "sales.sale_information.leaseholdcharges.shared_ownership.mscharge" + when 2 + "sales.sale_information.leaseholdcharges.discounted_ownership.mscharge" + end + else + "sales.sale_information.leaseholdcharges.mscharge" + end + end + QUESTION_NUMBER_FROM_YEAR_AND_OWNERSHIP = { 2023 => { 1 => 98, 2 => 109, 3 => 117 }, 2024 => { 1 => 99, 2 => 110, 3 => 117 }, diff --git a/config/locales/forms/2025/sales/sale_information.en.yml b/config/locales/forms/2025/sales/sale_information.en.yml index 95eed6185..798becfde 100644 --- a/config/locales/forms/2025/sales/sale_information.en.yml +++ b/config/locales/forms/2025/sales/sale_information.en.yml @@ -246,17 +246,30 @@ en: question_text: "What is the basic monthly rent after staircasing?" leaseholdcharges: - page_header: "" - has_mscharge: - check_answer_label: "Property service charges" - check_answer_prompt: "Enter service charges if any" - hint_text: "For example, service and management charges" - question_text: "Does the property have any service charges?" - mscharge: - check_answer_label: "Monthly leasehold charges" - check_answer_prompt: "" - hint_text: "" - question_text: "Enter the total monthly charge" + shared_ownership: + page_header: "" + has_mscharge: + check_answer_label: "Property service charges" + check_answer_prompt: "Enter service charges if any" + hint_text: "This includes any charges for day-to-day maintenance and repairs, building insurance, and any contributions to a sinking or reserved fund. It does not include estate management fees." + question_text: "Does the property have any service charges?" + mscharge: + check_answer_label: "Monthly leasehold charges" + check_answer_prompt: "" + hint_text: "" + question_text: "Enter the total monthly charge" + discounted_ownership: + page_header: "" + has_mscharge: + check_answer_label: "Property leasehold charges" + check_answer_prompt: "Enter leasehold charges if any" + hint_text: "For example, service and management charges" + question_text: "Does the property have any monthly leasehold charges?" + mscharge: + check_answer_label: "Monthly leasehold charges" + check_answer_prompt: "" + hint_text: "" + question_text: "Enter the total monthly charge" purchase_price: discounted_ownership: