* 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
* feat: update answer options and hint text for 24/25
* feat: update answer options and hint text, add new period tenancy length question and test
* feat: update tests
* feat: update tests
* feat: update tests
* Update header and CYA label
* Remove fixed term tenancy validation for periodic
* Validate periodic tenancy length
---------
Co-authored-by: Kat <katrina@kosiak.co.uk>
* Remove soft grant validation for 2024 onwards
* Validate grant amount for 24/25 onwards
* Only run the hard validation for Social HomeBuy and RTA
* Fix soft validation
* CLDC-3110: Update hard max income for ecstat 8 to 2000
* CLDC-3110: Update hard max income for ecstat 10 to match new highest max
* CLDC-3110: Base income validations on all tenants for lettings logs
* CLDC-3110: Tweak validation messages
* CLDC-3110: Use prefer not to say values when tenant ecstat is not specified
* feat: use latest merge date/start date where available for availability text for schemes and locations
* feat: add tests for availability text
* feat: use startdate instead to track merges on schemes and locations
* feat: test startdates are set correctly on merged schemes and locations
* feat: add migration file
* feat: add scheme activating soon tests
* feat: add activating soon to scheme filtering
* feat: update scheme active_status
* feat: update tests
* refactor: lint
* feat: move merge orgs validation after orgs validation
* feat: update schema
* Add start date validations for merging orgs
* Add errors for merged orgs
* tests
* don't run validations unless the date exists
* Adjust the dates in validations
* feat: add absorbing_organisation relationship to orgs
* feat: wip absorbed orgs visibility work
* feat: add absorbed orgs to filter options, make unique
* refactor: simplify
* feat: add test
* feat: update schema
* feat: add absorbed org to user relations
* feat: be more explicit about org scopes
* feat: update log org question selections
* feat: add org question to sales for all users (to be specified again in later ticket)
* feat: revert previous and handle in separate ticket
* feat: update validation and tests
* feat: reload org to populate associations
* feat: check for holding own stock in stock owner question, add schema
* feat: add/update org filter tests
* feat: update test
* feat: update created by id pages
* Remove new_data_protection_confirmation? flag
* Update schema
- drop index
- add org and user data to dpc table
* Persist org and user data at import
* Do not show invalid emails
* Persist user and org data while signing agreement
* Add migration to persist org and user data on DPC
* Rebase fix
* fix typo
* Renme end_date to new_logs_end_date
* Display change buttons in CYA if the collection is still open for editing
* Allow navigating to question if the collection is still open for editing
* Allow logs to be edited if the date is before edit end date
* Update sales validation to allow editing existing logs
* update tests
* Update edit_end_date
* Update some test wording
* Update new logs end date
* tests
* feat: wip blank fields and dependent fields on upload tos ee if valid and can upload with missing info - this is not the exact ac on the ticket yet
* feat: update seed
* feat: wip commit
* feat: add postcodenk error so can clear on validation
* feat: add postcode validation back
* feat: move la vals to shared and move and add tests
* feat: add correct pluralisation to warning message
* feat: add blank compound invalid fields methods
* feat: update validations
* feat: update pluralisation
* refactor: lint
* feat: clear errors associated with blanked values so log status is set correctly on creation
* feat: validate instead
* feat: avoid duplicated errors
* feat: dont auto-refuse income, different to imports
* feat: validate after every blank method
* feat: delete la validator spec
* tests: update
* refactor: erblinting
* refactor: cleanup
* refactor: move pluralizer to helper
* feat: copy update
* feat: rename
* feat: refactor to avoid redundant re-validations and test
* refactor: rubocop
* test: update
* test: update
* test: update
* update sidekiq
* feat: clear errors
* feat: run clearing twice in case first clear creates different errors
* feat: remove moved file
* feat: undo validation file tweaks as shared/specific overlap could do with a more general refactor
* feat: update tests