Browse Source

CLDC-4175: add new question to ui flow

pull/3200/head
Nat Dean-Lewis 3 weeks ago
parent
commit
caf1a3bb1e
  1. 14
      app/models/form/sales/pages/service_charge_changed.rb
  2. 27
      app/models/form/sales/questions/has_service_charges_changed.rb
  3. 17
      app/models/form/sales/questions/new_service_charges.rb
  4. 1
      app/models/form/sales/subsections/shared_ownership_staircasing_transaction.rb

14
app/models/form/sales/pages/service_charge_changed.rb

@ -0,0 +1,14 @@
class Form::Sales::Pages::ServiceChargeChanged < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "service_charge_changed"
@copy_key = "sales.sale_information.servicecharges_changed"
end
def questions
@questions ||= [
Form::Sales::Questions::HasServiceChargesChanged.new(nil, nil, self),
Form::Sales::Questions::NewServiceCharges.new(nil, nil, self),
]
end
end

27
app/models/form/sales/questions/has_service_charges_changed.rb

@ -0,0 +1,27 @@
class Form::Sales::Questions::HasServiceChargesChanged < ::Form::Question
def initialize(id, hsh, page)
super
@id = "hasservicechargeschanged"
@type = "radio"
@answer_options = ANSWER_OPTIONS
@conditional_for = {
"newservicecharges" => [1],
}
@hidden_in_check_answers = {
"depends_on" => [
{
"hasservicechargeschanged" => 1,
},
],
}
@copy_key = "sales.sale_information.servicecharges_changed.has_service_charges_changed"
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end
ANSWER_OPTIONS = {
"1" => { "value" => "Yes" },
"2" => { "value" => "No" },
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2026 => 0 }.freeze
end

17
app/models/form/sales/questions/new_service_charges.rb

@ -0,0 +1,17 @@
class Form::Sales::Questions::NewServiceCharges < ::Form::Question
def initialize(id, hsh, page)
super
@id = "newservicecharges"
@type = "numeric"
@min = 0
@max = 9999.99
@step = 0.01
@width = 5
@prefix = "£"
@copy_key = "sales.sale_information.servicecharges_changed.new_service_charges"
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
@strip_commas = true
end
QUESTION_NUMBER_FROM_YEAR = { 2026 => 0 }.freeze
end

1
app/models/form/sales/subsections/shared_ownership_staircasing_transaction.rb

@ -26,6 +26,7 @@ class Form::Sales::Subsections::SharedOwnershipStaircasingTransaction < ::Form::
Form::Sales::Pages::MonthlyRentStaircasingOwned.new(nil, nil, self), Form::Sales::Pages::MonthlyRentStaircasingOwned.new(nil, nil, self),
Form::Sales::Pages::MonthlyRentStaircasing.new(nil, nil, self), Form::Sales::Pages::MonthlyRentStaircasing.new(nil, nil, self),
(Form::Sales::Pages::ServiceChargeStaircasing.new("service_charge_staircasing", nil, self) if form.start_year_2026_or_later?), (Form::Sales::Pages::ServiceChargeStaircasing.new("service_charge_staircasing", nil, self) if form.start_year_2026_or_later?),
(Form::Sales::Pages::ServiceChargeChanged.new(nil, nil, self) if form.start_year_2026_or_later?),
Form::Sales::Pages::MonthlyChargesValueCheck.new("monthly_charges_shared_ownership_value_check", nil, self), Form::Sales::Pages::MonthlyChargesValueCheck.new("monthly_charges_shared_ownership_value_check", nil, self),
].compact ].compact
end end

Loading…
Cancel
Save