* CLDC-4202: No longer assume question numbers for years
the default logic is already a little confusing with the .max call, and we renumber most questions anyway between years
to simply this logic and make it less surprising, specify each year
all files should now specify 2023, 2024, 2025, 2026
* CLDC-4202: Account for removal of building type
see CLDC-4136, Q20 has been removed. renumber every question above 20 to be one lower
* CLDC-4202: Update household characteristics question nums
done separate as these question numbers are calculated
* CLDC-4202: Account for household characteristics renumbering
increase all after Q72 (previously Q64) armedforces.rb by 8
* CLDC-4202: Account for new referral question
* CLDC-4202: Update tests
* fixup! CLDC-4202: No longer assume question numbers for years
fix mistaken rent_type number
* CLDC-4202: Extract person question count to the form definition
* fixup! CLDC-4202: Extract person question count to the form definition
syntax error
* CLDC-4202: Extract hash logic to a common function
* CLDC-4202: Add a rake to populate new question numbers
we can run this rake to automatically add all the question numbers at the start of a new year, which should simplify the process a lot
* fixup! CLDC-4202: Add a rake to populate new question numbers
lint
* fixup! CLDC-4202: Extract person question count to the form definition
update tests
* fixup! CLDC-4202: Extract person question count to the form definition
lint
* fixup! CLDC-4202: Extract person question count to the form definition
also update age_known
* CLDC-4141: copy person questions refactor from CLDC-4142
* CLDC-4141: remove gender same as sex and replace gender identity q
* CLDC-4202: Use form person question count on sexrab
* CLDC-4202: Remove new question numbers from questions we don't ask anymore
* CLDC-4141: replace sex with sexrab where relevant for 2026
* fixup! CLDC-4202: Use form person question count on sexrab
update test
* fixup! CLDC-4202: Use form person question count on sexrab
page test too
* CLDC-4141: update download order
* CLDC-4140: remove sex from rowparser entirely
* CLDC-4140: keep sex in factory for now
* CLDC-4140: update household characteristics test
* CLDC-4140: update log variable spec
* CLDC-4202: Use relevant person_question_count in tests
* CLDC-4140: update csv export tests
* CLDC-4140: update validator tests
* CLDC-4140: update row-parser spec
* CLDC-4140: update csv-parser spec
* CLDC-4140: update export spec
* CLDC-4140: update log var defs spec
* CLDC-4140: update export spec
* CLDC-4140: update row parser spec
* CLDC-4140: update validator spec
* CLDC-4140: update csv parser spec
* CLDC-4143: Update gender retirement validations
rename functions as the new wording is more related to those that identify as male and any other option
* CLDC-4143: Add 2026 tests
* CLDC-4143: Update legacy json files
causes issues with some old tests
* CLDC-4143: Add error mappings for gender fields
* CLDC-4143: Add new gender age retirement soft validation
replaces the many check pages from previous years with a single one
shows if either of the previous ones would show
has agreed wording on ticket
* fixup! CLDC-4143: Update gender retirement validations
improve gender comment wording
* CLDC-4143: Update non males validation name
reference to 'soft validation' we found confusing
* fixup! CLDC-4143: Add new gender age retirement soft validation
update subsection specs
* CLDC-4140: update parsers post merge
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update spacing in to_2026_row
* CLDC-4140: update row parser spec field numbers
* CLDC-4140: update row parser field types
---------
Co-authored-by: Nat Dean-Lewis <nat.dean-lewis@softwire.com>
* Separate change organisations name from organisation edit view
* Remove change_name action from organisations_controller for unauthorized access handling
* Add migration for organisation name changes
* Implement organisation name change feature with history tracking
* Update organisation label methods to accept date parameter for accurate historical representation
* Rename change_name view to new and move it for clarity and consistency
* Refactor organisation name change logic to ensure visibility and uniqueness of change dates
* Refactor organisation name changes to use integer for change_type and date for change_date
* Update validation error message for duplicate change dates in organisation name changes
* Update validation logic for change dates to handle immediate changes
* Rename change_date to startdate in organisation name changes and update related logic
* Make change_type nullable in organisation name changes table
* Remove debug logging for organisation name change parameters
* Update conditional question data-info to use startdate instead of scheduled_date
* Bug fix - ensure startdate is set only if not already defined for immediate changes
* Fix immediate_change parameter type casting in organisation name change params
* Refactor name_changes_with_dates method to streamline fetching and status assignment
* Enhance layout in new.html.erb by adding additional grid columns for improved structure
* Update status assignment logic in organisation.rb to reflect active state when no changes exist
* Add validation to ensure start date is before organisation's merge date if present
* Drop organisation_name_changes table if it exists
* Remove organisation_name_changes table from schema
* Add organisation_name_changes table
* Lint fixes
* Lint fixes
* Add FactoryBot definition for organisation_name_change
* Add tests for organisation name changes
* Enhance validations and add tests for organisation name changes
* Lint
* Add tests for OrganisationNameChangesController actions
* Add comments in OrganisationNameChange
* Refactor organisation name change validations to use I18n for error messages
* Fix name method to allow nil date parameter and default to current time
* Update organisation name retrieval to support date parameter in exports
* Remove change_type attribute from organisation name changes
* Lint fix
* Update organisation status logic to account for future start dates of the first change
* Refactor name history display into a partial for better code organization
* Add cancel functionality for scheduled name changes with confirmation page
* lint
* lint
* Update question numbers for 2024 lettings
* Stub form start date in question tests
* Stub form start date in page tests
* Fix a typo
* Refactor default question number
* Refactor people question numbers
* Update some question numbers
* Update missing tests
* Update UPRN known question number
* Reorder questions, revert earnings number switch
* feat: wip update sales org select
* feat: update routing and hidden in check answers methods
* feat: set sales org id as derived
* feat: update tests
* refactor: linting
* feat: update tests and radio options
* feat: update test
* feat: add value helper test for non-constant value question
* refactor: lint
* feat: freeze time in unrelated test
* refactor: linting
* feat: wip commit
* feat: tidy up active readouts
* feat: revert previous commits
* feat: put merge orgs behaviour behind feature flag
* feat: put merge orgs behaviour behind feature flag
* refactor: lint
* refactor: simplify
* feat: add one more feature toggle
* feat: wip update sales org select
* feat: update routing and hidden in check answers methods
* feat: set sales org id as derived
* feat: update tests
* refactor: linting
* feat: update tests and radio options
* feat: update test
* feat: add value helper test for non-constant value question
* refactor: lint
* feat: freeze time in unrelated test
* refactor: linting
* 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
* test: check managing org not gone from answer opts when relationship deleted
* feat: add current managing org to answer opts
* feat: check if managing org exists before trying to show it
* wip
* test: improve managing orgs opts test when not support
* test: improve managing orgs opts tests when support
* test: make relationship deletion test consistent with other tests
* test: add "(with hint)" to managing org opts test descriptions
* test: refactor managing orgs opts tests for support user case
* fix: don't call user in get_answer_label in CYA component
* style: reorder instance vars and remove old comments in managing_organisation.rb
* refactor: ensure label_from_value always accepts log & nil as args
* lint
* test: pass in log and user in housing provider opts test for support user
* test: update housing provider opts tests for non-support user
* feat: update housing provider answer opts to include current HP in db
* style: add space after user definition
* test: make context definition more human-readable
* test: refactor housing providers opts tests (not support user)
* test: check housing prov. still selectable after deleting relationship
* fix: define log and current_user instance vars in label_from_value (housing prov.)
* lint
* test: update lettings log feature tests
to differentiate between different numbers of stock owners when acting as a data coordinator
* test: check owning & managing orgs set correctly when a log is created
* test: add line breaks and start context descriptions with and (not if)
* test: artificially reference org_rel2 to avoid lint offense
* feat: don't set log owning org as user's org if that org doesn't hold stock
* test: improve test context descriptions in lettings_log_spec
* test: finish overhauling owning and managing org tests in lettings_log_spec
* test: change let! to let where possible in spec/features/lettings_log_spec.rb
* test: change let! to let where possible in spec/models/form/lettings/questions/managing_organisation_spec.rb
* test: change let! to let where possible in spec/models/form/lettings/questions/stock_owner_spec.rb
* test: remove if statement from "coordinator user's org doesn't hold stock" managing org test
* test: remove if statement from "coordinator user's org does hold stock" no managing orgs managing org test
* test: remove if statement from "coordinator user's org does hold stock" >=1 managing orgs managing org test
plus refactor previous test
* test: explicitly reference org rels in "coordinator user's org doesn't hold stock" managing org test
* test: don't create vars inside other vars (for tests edited/created in this branch)
* chore: save schema changes after migration
Co-authored-by: Phil Lee <asmega@users.noreply.github.com>
* Bugfix provider_type on nil
* Do not infer managing org
* Always show 'your org' to non support users
* Never show created_by_id in CYA
* Show HousingProvider in CYA when not inferred
* Always show ManagingOrganisation
* Spec fix
* Show ManagingOrganisation if managing agents >=1
* typo
* Add scopes to OrganisationRelationship
* Update seeds to have more than one org relationships
* Pass current_user to questions
* Add new questions
* Use feature flag
* Update specs
* Address comments