* CLDC-4151: Note deprecations of existing referral questions
* CLDC-4151: Add new cols to lettings log model
* CLDC-4151: Add new referrals questions
* CLDC-4151: Remove referral value check
* CLDC-4151: Add new fields to bulk upload
use new fields as presented in bulk upload
* CLDC-4151: Update tests
also add bulk upload file to test with
* CLDC-4151: Ignore tests failing for later tickets
* fixup! CLDC-4151: Add new referrals questions
start q nums from 2026
* CLDC-4151: Add model tests for new questions
* fixup! CLDC-4151: Add new fields to bulk upload
export old_visible_id
set MAX_COLUMNS correctly
check .prp? for prp cols
* fixup! CLDC-4151: Update tests
clarify tests that may update
* fixup! CLDC-4151: Add new fields to bulk upload
handle the old_visible_id not existing
use override org ID only for the output owning ID. it's only passed as eg ORG1
* CLDC-4151: Add new questions to log factory
* fixup! CLDC-4151: Add new fields to bulk upload
leave field_131 validations till later
* CLDC-4188: Add LA flow
splits the referral_register question and pages into two, as its not easy to have the answers be dependent
if the owning organisation changes type, reset the referral register question. the other questions do not need to be reset as they are no longer routed to
* CLDC-4188: Infer referral_register for renewals
needs a new dependencies array for 2026
this handles inferring as well as clearing inferred answers if the prior answer changes
* CLDC-4188: Add validation between prevten and referral_register
block two other validations from previous years
* CLDC-4188: Update tests
* CLDC-4188: Ignore tests failing for future tickets
* CLDC-4188: Update existing tests
needed as should_reset_referral_register? calls a .find()
* fixup! CLDC-4188: Add validation between prevten and referral_register
use .prp?
improve grammar
* fixup! CLDC-4188: Infer referral_register for renewals
extract dependencies to common list
* fixup! CLDC-4188: Update tests
use before and context blocks better
* fixup! CLDC-4188: Update tests
lint
* fixup! CLDC-4188: Update tests
remove unneeded referral_type set
* CLDC-4189: Add PRP flow
* CLDC-4189: Update validation between prevten and referral_register
* CLDC-4189: Add tests
* fixup! CLDC-4189: Add PRP flow
fix typo
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* fixup! CLDC-4189: Add tests
fix typo
* fixup! CLDC-4189: Add tests
fix missing cases in page specs
use a loop and before blocks for household validation tests
* CLDC-4189: Ensure log is not classed as generan needs if prevten isnt answered
* fixup! CLDC-4189: Add tests
add cases for other internal transfer flow
* CLDC-4151: Add final question numbers
* fixup! CLDC-4189: Update validation between prevten and referral_register
include new code 40 from CLDC-4149
* fixup! CLDC-4151: Add final question numbers
reinstate fallback
* CLDC-4190: Q84 Referral BU validations (#3155)
* CLDC-4151: Note deprecations of existing referral questions
* CLDC-4151: Add new cols to lettings log model
* CLDC-4151: Add new referrals questions
* CLDC-4151: Remove referral value check
* CLDC-4151: Add new fields to bulk upload
use new fields as presented in bulk upload
* CLDC-4151: Update tests
also add bulk upload file to test with
* CLDC-4151: Ignore tests failing for later tickets
* fixup! CLDC-4151: Add new referrals questions
start q nums from 2026
* CLDC-4151: Add model tests for new questions
* fixup! CLDC-4151: Add new fields to bulk upload
export old_visible_id
set MAX_COLUMNS correctly
check .prp? for prp cols
* fixup! CLDC-4151: Update tests
clarify tests that may update
* fixup! CLDC-4151: Add new fields to bulk upload
handle the old_visible_id not existing
use override org ID only for the output owning ID. it's only passed as eg ORG1
* CLDC-4151: Add new questions to log factory
* fixup! CLDC-4151: Add new fields to bulk upload
leave field_131 validations till later
* CLDC-4188: Add LA flow
splits the referral_register question and pages into two, as its not easy to have the answers be dependent
if the owning organisation changes type, reset the referral register question. the other questions do not need to be reset as they are no longer routed to
* CLDC-4188: Infer referral_register for renewals
needs a new dependencies array for 2026
this handles inferring as well as clearing inferred answers if the prior answer changes
* CLDC-4188: Add validation between prevten and referral_register
block two other validations from previous years
* CLDC-4188: Update tests
* CLDC-4188: Ignore tests failing for future tickets
* CLDC-4188: Update existing tests
needed as should_reset_referral_register? calls a .find()
* fixup! CLDC-4188: Add validation between prevten and referral_register
use .prp?
improve grammar
* fixup! CLDC-4188: Infer referral_register for renewals
extract dependencies to common list
* fixup! CLDC-4188: Update tests
use before and context blocks better
* fixup! CLDC-4188: Update tests
lint
* fixup! CLDC-4188: Update tests
remove unneeded referral_type set
* CLDC-4189: Add PRP flow
* CLDC-4189: Update validation between prevten and referral_register
* CLDC-4189: Add tests
* fixup! CLDC-4189: Add PRP flow
fix typo
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* fixup! CLDC-4189: Add tests
fix typo
* fixup! CLDC-4189: Add tests
fix missing cases in page specs
use a loop and before blocks for household validation tests
* CLDC-4189: Ensure log is not classed as generan needs if prevten isnt answered
* fixup! CLDC-4189: Add tests
add cases for other internal transfer flow
* CLDC-4190: Invalidate all referral fields if any are wrong
* CLDC-4190: Remove other validations on referral fields
* CLDC-4190: Ignore referral validation if BU is renewal
* CLDC-4190: Add tests
* fixup! CLDC-4190: Invalidate all referral fields if any are wrong
add punctuation to comment
name validation fields better
* fixup! CLDC-4190: Add tests
make test names clearer
* CLDC-4190: Final field fixes
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* CLDC-4191: Q84 Referral CSV and XML export (#3157)
* CLDC-4151: Note deprecations of existing referral questions
* CLDC-4151: Add new cols to lettings log model
* CLDC-4151: Add new referrals questions
* CLDC-4151: Remove referral value check
* CLDC-4151: Add new fields to bulk upload
use new fields as presented in bulk upload
* CLDC-4151: Update tests
also add bulk upload file to test with
* CLDC-4151: Ignore tests failing for later tickets
* fixup! CLDC-4151: Add new referrals questions
start q nums from 2026
* CLDC-4151: Add model tests for new questions
* fixup! CLDC-4151: Add new fields to bulk upload
export old_visible_id
set MAX_COLUMNS correctly
check .prp? for prp cols
* fixup! CLDC-4151: Update tests
clarify tests that may update
* fixup! CLDC-4151: Add new fields to bulk upload
handle the old_visible_id not existing
use override org ID only for the output owning ID. it's only passed as eg ORG1
* CLDC-4151: Add new questions to log factory
* fixup! CLDC-4151: Add new fields to bulk upload
leave field_131 validations till later
* CLDC-4188: Add LA flow
splits the referral_register question and pages into two, as its not easy to have the answers be dependent
if the owning organisation changes type, reset the referral register question. the other questions do not need to be reset as they are no longer routed to
* CLDC-4188: Infer referral_register for renewals
needs a new dependencies array for 2026
this handles inferring as well as clearing inferred answers if the prior answer changes
* CLDC-4188: Add validation between prevten and referral_register
block two other validations from previous years
* CLDC-4188: Update tests
* CLDC-4188: Ignore tests failing for future tickets
* CLDC-4188: Update existing tests
needed as should_reset_referral_register? calls a .find()
* fixup! CLDC-4188: Add validation between prevten and referral_register
use .prp?
improve grammar
* fixup! CLDC-4188: Infer referral_register for renewals
extract dependencies to common list
* fixup! CLDC-4188: Update tests
use before and context blocks better
* fixup! CLDC-4188: Update tests
lint
* fixup! CLDC-4188: Update tests
remove unneeded referral_type set
* CLDC-4189: Add PRP flow
* CLDC-4189: Update validation between prevten and referral_register
* CLDC-4189: Add tests
* fixup! CLDC-4189: Add PRP flow
fix typo
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* fixup! CLDC-4189: Add tests
fix typo
* fixup! CLDC-4189: Add tests
fix missing cases in page specs
use a loop and before blocks for household validation tests
* CLDC-4189: Ensure log is not classed as generan needs if prevten isnt answered
* fixup! CLDC-4189: Add tests
add cases for other internal transfer flow
* CLDC-4190: Invalidate all referral fields if any are wrong
* CLDC-4190: Remove other validations on referral fields
* CLDC-4190: Ignore referral validation if BU is renewal
* CLDC-4190: Add tests
* fixup! CLDC-4190: Invalidate all referral fields if any are wrong
add punctuation to comment
name validation fields better
* fixup! CLDC-4190: Add tests
make test names clearer
* CLDC-4191: Update CSV export tests
the export happens by default, no changes needed here
* CLDC-4191: Add new referral fields to 2026 exports
remove old referral fields from 2026 exports
ensure new referral fields don't show in pre 2026 exports
* CLDC-4190: Final field fixes
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
* CLDC-4046: Remove forcing on Q84 based on Q76 answer
* CLDC-4046: Removing forcing on latter half of Q84 as well
* CLDC-4046: Remove orphaned translations
* CLDC-4086: Fix tests
* CLDC-4074 Updated sales log tests to use filters from the current year instead of a fixed one
* CLDC-4074: Update other sales log tests to use the current year instead of a fixed one
* CLDC-4074: Update more failing tests
* CLDC-4074: Remove some 2024 sales log tests
* CLDC-4074: Ignore a failing request test
* CLDC-4074: Fix lettings log services tests
* CLDC-4074: Fix merge request helper spec
* CLDC-4074: Fix rake tests for 2024 logs
* CLDC-4074: Fix guidance helper tests
* CLDC-4074: Fix skipped tests
* CLDC-4074: Update tests for 2023 edit closing (#3095)
* CLDC-4074: Fix model tests
* CLDC-4074: Fix requests tests
* CLDC-4074: Fix services tests
* CLDC-4074: Fix rake tasks tests
the broken ones only make sense for 2024 logs so feels like timecop is the only option
* CLDC-4074: Specify why some tests are not validated based on year
---------
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* Add validation for referral type when permanently decanted from PRP-only housing
* Remove unnecessary error adding, PRP and different landlord is possible
* Update tests
* Rename old renewal prp page and question
* Update subsection
* Add referral_type to lettings logs
* Add two-step source of referral for letting questions
* Update test
* Update validations
* Update tests with referral_type
* Fix test
* Update test
* Update referral type
* Update factory bot
* Remove hint text
* Change check answer label
* Update incorrect value
* Rename old referral pages and questions
* Update referral type options
* Remove clearing
* Update id name
* Update row parser for referral type
* Update test
* Make full stops consistent in error messages
* Fix test
* Update few hardcoded errors
* Update join in remaining row parsers
* Update some more tests
* Update more hard coded BU errors
* Fix typo I introduced - bedrooms to bedroom
---------
Co-authored-by: Kat <katrina@kosiak.co.uk>
Co-authored-by: kosiakkatrina <54268893+kosiakkatrina@users.noreply.github.com>
* Update feature tests
* Remove old rake tasks
* Update some unit tests
* Update more tests
* More tests
* Fix failing sales household validation test
---------
Co-authored-by: Robert Sullivan <robert.sullivan@softwire.com>
* CLDC-3227: Add soft validation for reason other when it's likely a standard category
* CLDC-3227: Add hard validation for homeless indicators in other reason for leaving last settled home
* CLDC-3227: Update hard validation regex to ignore all non alphabet characters surrounding a match
* CLDC-3227: Add unit tests
* Refactor household validations spec to remove dependancy on fake 2021 form
* Add card number to question
* Move informative text to translations as well
* CLDC-3227: Allow neighbouring non-alphabet characters in soft validation check
* Remove debug lines
* Remove blank line
* Remove bonus whitespace
* Deal with appearance in csv export
* Only do regexp.union once
* Fix informative text in value check
* replace range validation with multiple to account for single-ended ranges
* add test for question with min but no max
* add min and max to household count question and remove bespoke validation. Remove code allowing max and no min given this situation does not seem to exist int eh form
* amend minor typo, add back a soft validation that had mysteriously gone missing
Previous to this change, the `reservist` field mapped `0` to yes and `1` to no. This change adjusts the mapping from `1` to yes, `2` to no, and `3` to prefer not to say.
* Add previous, current and next forms to form handler
* Add current, previous and next sales forms to form handler
* Implement current_lettings_form, current_sales_form and store year and form type in form
* refactor lettings_forms
* Use current, previous and next forms in lettings log model
* Use current, previous and next forms in sales log model
* use current, previous and next forms in csv service
* Remove "startyear_endyear" forms from form handler
* Remove name from form initializer and add an optional start year
* refactor get_form
* update csv test, fix form initialize
* rebase fix
* Refactor form_name_from_start_year method out
* remove unused variable
* fix typo, add date tests
* rebase, fix tests
* add comment to before test block
* Change the FormHandler back to only contain the form objects
* extract name
This renames the case_log to lettings_log as everything we've written so
far has been geared towards lettings of social housing so it makes sense to
have the name describe this. This is also a precursor to adding in stuff for
sales logs (whatever shape that takes)
Co-authored-by: James Rose <james@jbpr.net>
* wip
* add missing values to factory bot and lint
* remove irrelevand methods
* dont infer housingneeds
* typo
* update method name
* Remove housingneeds_present? method
* move set housing needs fields to case log variables file
* Only set all housing needs values to 1 if there are no housingneeds
* update json form fixture
* link
* update csv test
Co-authored-by: Dushan Despotovic <dushan@madetech.com>
* update hard validation limits for pregnancy age, remove hard validation if there are no females at all
* Add soft validations for pregnancy
* make the error message consistent
* Only check the values for the members with details known in the household
* Show interruption screen when resident details are updated
* Route back to check answers after an interruption screen and back to previous page if no is selected on the interruption screen
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>
* update validation messages
* fix a test
* fix a typo
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>
* change get_question form method to prioritise the routed to questions
* Add soft validation and interruption screen for basic rent
* get previous page that was routed to and display the same error for both soft validations
* Separate max and min error screens
* add a test for getting the previous page
* Update content and add more tests for previous page