From f28683fc412ab360e8a6ef51493c337b9bfe3857 Mon Sep 17 00:00:00 2001 From: Arthur Campbell Date: Thu, 6 Apr 2023 09:33:38 +0100 Subject: [PATCH] ensure that depends on conditions related to period take account of the new option relatedly create methods on LettingsLog to allow improved readability in these depends on conditions refactor depends on conditions with these new method --- .../form/lettings/pages/care_home_weekly.rb | 14 ++-------- app/models/form/lettings/pages/rent_weekly.rb | 26 ++----------------- .../form/lettings/questions/tshortfall.rb | 1 + app/models/lettings_log.rb | 10 ++++++- 4 files changed, 14 insertions(+), 37 deletions(-) diff --git a/app/models/form/lettings/pages/care_home_weekly.rb b/app/models/form/lettings/pages/care_home_weekly.rb index ee8f7962e..56165ce62 100644 --- a/app/models/form/lettings/pages/care_home_weekly.rb +++ b/app/models/form/lettings/pages/care_home_weekly.rb @@ -3,18 +3,8 @@ class Form::Lettings::Pages::CareHomeWeekly < ::Form::Page 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 }, + { "rent_and_charges_paid_weekly?" => true, "is_supported_housing?" => true, "household_charge" => 0 }, + { "rent_and_charges_paid_weekly?" => true, "is_supported_housing?" => true, "household_charge" => nil }, ] end diff --git a/app/models/form/lettings/pages/rent_weekly.rb b/app/models/form/lettings/pages/rent_weekly.rb index ab89b31af..4f1709820 100644 --- a/app/models/form/lettings/pages/rent_weekly.rb +++ b/app/models/form/lettings/pages/rent_weekly.rb @@ -4,30 +4,8 @@ class Form::Lettings::Pages::RentWeekly < ::Form::Page @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 }, + { "rent_and_charges_paid_weekly?" => true, "household_charge" => 0, "is_carehome?" => false }, + { "rent_and_charges_paid_weekly?" => true, "household_charge" => nil, "is_carehome?" => false }, ] end diff --git a/app/models/form/lettings/questions/tshortfall.rb b/app/models/form/lettings/questions/tshortfall.rb index af8d32c9c..69697ca44 100644 --- a/app/models/form/lettings/questions/tshortfall.rb +++ b/app/models/form/lettings/questions/tshortfall.rb @@ -20,6 +20,7 @@ class Form::Lettings::Questions::Tshortfall < ::Form::Question { "label" => " every week for 47 weeks", "depends_on" => { "period" => 8 } }, { "label" => " every week for 46 weeks", "depends_on" => { "period" => 9 } }, { "label" => " every week for 52 weeks", "depends_on" => { "period" => 1 } }, + { "label" => " every week for 53 weeks", "depends_on" => { "period" => 10 } }, ] @question_number = 100 end diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index 76bd8fe28..025bdaf6b 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -507,7 +507,15 @@ class LettingsLog < Log end def care_home_charge_expected_not_provided? - is_carehome == 1 && chcharge.blank? + is_carehome? && chcharge.blank? + end + + def rent_and_charges_paid_weekly? + [1, 5, 6, 7, 8, 9, 10].include? period + end + + def is_carehome? + is_carehome == 1 end private