* feat: match locations/schemes with leading zeroes in bulk upload
* refactor: lint
* feat: also allow user to input extra leading zeroes and test
* refactor: lint
* feat: match email regardless of casing in bulk upload
* feat: allow null emails
* feat: set encoding by bom for file IO before parsing
* Revert "feat: set encoding by bom for file IO before parsing"
This reverts commit 03d2d17e7b.
* feat: set encoding by bom for file IO before parsing
* feat: set bom encoding for illness task as well
* feat: use StringIOs in testing and fix row count bug found
* feat: revert toheaders: false
* feat: timecop around tests
* feat: timecop around tests
* feat: fix flaky merge test
* feat: skip over logs that fail validations
* feat: test error added correctly and fix typo
* CLDC-2862: first attempt at creating maintenance page
* CLDC-2907: try turning off maintenance mode to see if tests pass
* CLDC-2862: write tests for MaintenanceController
* CLDC-2862: test header bar links hidden in maintenance mode
* CLDC-2862: lint
* CLDC-2862: add requests tests
* CLDC-2862: try disabling schduled job in maintenance mode
* CLDC-2862: turn on maintenance mode temporarily
* CLDC-2862: turn off maintenance mode again
* CLDC-2862: ensure cookies, notices etc still available in maintenance mode
* CLDC-2862: update content on maintenance page
* CLDC-2862: destroy sidekiq cron jobs on shutdown
* CLDC-2862: turn maintenance mode back on
* CLDC-2862: try destroying cron jobs on startup
* CLDC-2862: try destroying cron jobs on shutdown again, but with fix
* CLDC-2862: turn maintenance mode off again
* CLDC-2862: move job destruction to sidekiq server startup
* CLDC-2862: turn MM back on
* CLDC-2862: turn MM off again
* CLDC-2862: update 'contact the helpdesk' content
* CLDC-2862: check notices/statements still viewable in MM
* CLDC-2862: check cookies page still viewable in MM
* CLDC-2862: confirm cookie banner visible regardless of MM
* CLDC-2862: reenable MM
* CLDC-2862: turn maintenance mode off again
* feat: set encoding by bom for file IO before parsing
* feat: set bom encoding for illness task as well
* feat: use StringIOs in testing and fix row count bug found
* feat: revert toheaders: false
* feat: timecop around tests
* feat: timecop around tests
* feat: fix flaky merge test
* feat: set encoding by bom for file IO before parsing
* feat: set bom encoding for illness task as well
* feat: use StringIOs in testing and fix row count bug found
* feat: revert toheaders: false
* feat: don't add old_id to new location as there is a uniqueness constraint on this attribute
* feat: don't add old_id to new scheme for consistency
* feat: update tests
* feat: don't validate on log save so they can be added to new orgs without dsas during a merge, and test
* refactor: lint
* feat: remove old_visible_id from post merge schemes/locations so they aren't searchable in bulk upload
* feat: update tests
* feat: update tests
* feat: don't add old_id to new location as there is a uniqueness constraint on this attribute
* feat: don't add old_id to new scheme for consistency
* feat: update tests
* feat: unrelated html fix
* feat: add period to rent range soft vals for 22/23 and 23/24
* feat: update tests
* feat: move period after brent in soft validation page
* Allow custom merge date in merge organisations service
* Allow optional merge date in merge orgs task
* Add a rake task for merging into a new organinsation
* CLDC-2895 Add squish to the names of locations, schemes, users, and institutions
* CLDC-2895 Add rake task to squish the names of all locations, schemes, users, and organisations
* CLDC-2895 Add tests to squish_names rake tasks
* Move clear search, pass search when filtering
* Update search/filter caption content
* Put download links on the next line
* set filters_count to 0 where there are no filters
* Correctly display delete logs for support
* Update tests
* persist search after clearing filters
* feat: add needstype filter
* feat: update filters view
* feat: use helper methods for view
* feat: update helper methods, and show managing and owning filters as well in support secondary nav
* refactor: lint
* feat: update helper logic
* feat: update tests
* feat: add needstype test and slight refactor
* refactor: reorganise filter lists
* refactor: erblint
* Always show filter for support, only check visible logs
* Remove needstype for support users on orgs page
---------
Co-authored-by: Kat <katrina@kosiak.co.uk>
* CLDC-2882 Added 20 "Tenant moved to long-stay hospital or similar institution" as a non-renewal or first let vacancy reason, and changed the conditions for the void date to only rely on whether a letting is a renewal.
* CLDC-2882 Update void date routing test
* CLDC-2882 Fix flaky log export test
* Refactor guidance to allow both top and bottom guidance at the same time
* Update guidance content, add scheme changes page
* update test
* remove full stop
* Update content, add back button
* feat: allow data coordinators to create, edit and view stock owners' schemes
* feat: only show data coordinators their org and stock owners in scheme owner select, update location policy
* feat: update some tests
* feat: update tests
* feat: use zero? where appropriate and lint
* feat: update tests
* refactor: lint
* feat: use helper for answer options
* feat: update datetime format in csv services
* feat: update tests
* feat: keep system date fields in iso8601 format
* feat: merge fix
* feat: update tests
* Add missing addresses csv job
* Update missing addresses csv service methods
* Add rake task
* Update the job to send missing town or city templates
* Update service to create mising town or city templates
* Add send missing town or city csv rake task
* Add IDs to the CSVs
* Put all log in the same csv
* Add issue type column
* Write wrong uprn logs to csv
* Add mailer methods
* Skip uprn issue for specified orgs
* Add sales csv rake task
* set SKIP_UPRN_ISSUE_ORG_IDS on review apps
* test
* Update notify template IDs for testing
* Initialize service with organisation instead of a hash
* Add expiration time to url
* Add optional tags and remove LA from csv
* Extract log to csv methods
* Update casing
* Update old IDs in factories
* Move constant
* Extract some repeating scopes
* Pass in organisations to skip instead of using an env var
* update template id for sales
* Update link expiry time and headers
* Lower the threshold for testing
* Add issue explanation to the email
* Add how to fix
* update emails
* CLDC-2810 Create all addresses CSV (#1953)
* Add rake tasks for creating all addresses CSV
* Write headers if logs don't exist, update header names
* Rename method
* CLDC-2810 Correct addresses from csv (#1957)
* Updating importing lettings addresses form csv
* Add import_sales_addresses_from_csv rake
* Allow correcting addresses from both templates
* escape .
* Reinfer LA if the postcode hasn't changed
* Update labels and email content
* Update missing addresses threshold
* Remove unused env var
* feat: wip commit add person details to sales log csv service
* feat: add comments
* feat: update regex to include agen_known fields
* feat: revert
* feat: reject age_known fields and map codes and values to age fields instead
* feat: add age1_known
* feat: combine age not known and details not known fields
* feat: update tests
* refactor: lint
* feat: update tests
* feat: update lettings tests
* feat: update question test