* Stub some collection resource requests
* Rebase changes
* Add upload new resource page
* Allow adding custom collection resources
* Display and validate additional resources
* Allow downloading additional collection resources
* Allow updating additional resources
* Display additional resources on the homepage
* Add delete link to additional resources
* Update hint text
* Update tests
* Allow unauthenticated users to donwload additional collection resources
* Add some changes to copy and styling
* Add content type to the files
* Validate short display name at the same time as file
* Check if response is http success
* Fix code scanning alert no. 65: Incomplete regular expression for hostnames
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* Stub some collection resource requests
* Update upload new mandatory resource page
* Add next year resources banner
* Display next collection resources to users when released
* Add confirm_mandatory_collection_resources_release page
* Allow releasing resources to users
* Rebase changes
* Get collection resources from S3
* Remove resource files from codebase
* Stub some collection resource requests
* Use env var for bucket name
* Update some tests
* Extract methods into a service
* 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>
* CLDC-3387: Allow support users to create notifications
* Refactor rendering
* Adjust notifications helper
* Add rubocop ignore
* Fix path checks around notification viewing
* Notification path regex should work on review apps
* Tidy
* Remove unused function
* Reference external url in link to markdown syntax guide
* CLDC-3614: Allow markdown page content when creating notifications (#2622)
* CLDC-3614: Allow markdown page content when creating notifications
* Try using beginning of day for time in failing test
* Remove ignored breaks
* Add paper trail to notifications
* CLDC-3607: Allow support users to delete notifications (by setting their end date) (#2630)
* CLDC-3607: Allow support users to delete notifications (by setting their end date)
* Refactor render_for_page helper
* Move db queries to homepage presenter
* Fix lint
* Use a before_action to find notification in controller
* Make delete notification links red
* Tweak link to markdown guide
* Open markdown guide in new tab
* Allow support to change user organisation
* Redirect to log-reassignment page when updating organisation
* Add log reassignment page
* Allow setting log reassignment choice
* Add organisation change confirmation page
* Update logs based on log reassignment selection
* Skip log reassignment question if user has no logs
* Send organisation update email
* Update routes in accessibility tests
* Allo moving deactivated users
* Move org field above role
* Only display banner if email has changed
* rescue StandardError
* Only reassign visible logs
* Clean user error messages
* Update pluralization in email
* Mark related bulk uploads as cancelled by user
* Add moved user banner
* Update routing for fix-choice page
* Update pluralization again
* CLDC-2093 Merge organisations page - view all merge requests (#2561)
* CLDC-3585 Update absorbing organisation question (#2564)
* Update user permissions and absorbing org question order
* Update absorbing organisation question and routing
* CLDC 2094: View a merge request (#2565)
* CLDC-3584 Update merging orgs question (#2567)
* Update merging organisations question
* Update rebase tests
* Update routing between CYA and questions
* CLDC-3586 Update merge date merge request question (#2571)
* Remove unused paths and update merge date
* lint
* Create delete merge request functionality (#2568)
* CLDC-3588: Add helpdesk ticket question (#2572)
* Merge request fixes (#2578)
* Add cancel button to merging orgs and update merging orgs selection
* Update submit button text
* Update back buttons
* CLDC-2101 Add begin merge (#2575)
* Calculate merge request status
* Add start merge and merge request job
* Update merge request when it gets processed
* Refactor and display a banner for failed requests
* update test
* Update change links
* Update copy for error message (#2583)
* Do not display cancel button if there's no submit (#2584)
* Update hint date (#2588)
* CLDC-2100++ Add success notification after delete (#2589)
* Update helpdesk_ticket.html.erb
* CLDC-2094++ Merge details page adjustments (#2593)
* Change page name and hide buttons during processing status
* Update test
* Make merge request status dynamic (#2592)
* Make merge request status dynamic
* Update tests
* Keep check answers referrer when validation is hit (#2594)
* Keep check answers referrer when validation is hit
* Remove absorbing org from merging organisations list
* Update text to handle singular merge requests
* Add merge start confirmation page (#2601)
* Set merge request as non processing if it fails (#2598)
* Set merge request to no longer processing if it fails
* clear last_failed_attempt as soon as we start processing the merge
* CLDC-3603 View merged users outcomes (#2602)
* Update user outcomes view link
* Add user outcomes page
* Set user outcomes before merge and on merge fail
* Update hardcoded total user count
* Account for singular user numbers
* CLDC-3603 View scheme outcomes (#2604)
* Update scheme outcomes view link
* Add scheme outcomes page
* Update scheme outcome before merge and on merge fail
* Update back links in merge outcomes pages (#2611)
* CLDC-3605 View relationships page (#2606)
* CLDC-3609 Add existing absorbing organisation merge request question (#2600)
* Add existing absorbing organisation page and field
* Update status calculation and add new question to check answers
* Call correct merge service flow
* Update test
* Update test
* Return correct status when existing_absorbing_organisation is false (#2617)
* Change styling of relationship outcomes page (#2619)
* CLDC-3604 View logs outcomes (#2618)
* Update view logs outcomes link
* Add logs outcomes page
* Set logs outcome before merge and on merge fail
* Update logs outcomes text
* Update line break
* Fix incorrect filtering of relationships and count
* Fix test
* Fix test
* Fix test
* Make example date depend on collection year (#2620)
---------
Co-authored-by: Manny Dinssa <44172848+Dinssa@users.noreply.github.com>
* Revert "Revert "CLDC-3566: Clear duplicate set ids when a log ceases to be a duplicate through normal update flow (#2534)" (#2563)"
This reverts commit 53ae216bae.
* CLDC-3566: Avoid unnecessary queries for duplicates
* Add search controller
* Update on confirm
* lint
* Update search endpoint
* remove assigned to filter options
* Explicitly define host in the url
* Update search controller
* Allow searching organisations
* Allow filtering by user without js
* Allow filtering by org without js
* Add filter_type to method calls
* Update filter helpers
* Hide text search input when js is enabled
* Some feature test updates
* fix model test
* Delete a random file 👀
* lint
* Update more tests
* Update inner text for filter
* Keep csv filters the same
* Clear free text filters for csv dowloads
* User path helper
* Update scheme filters and log scopes
* Update which users we can filter by
* CLDC-3566: Clear duplicate set ids when a log ceases to be a duplicate in normal updates
* Refactor
* Ensure post not run twice in form controller tests
* Remove deduplication flow feature toggle
* Ensure class_name is defined in redirect path function
* Add tests for sales logs
* Add in past end dates for testing
* Temporarily disable test marked to delete at year end
* Remove one off reinfer_local_authority task
* Update validator_spec
* Set 2024 date in form_handler_spec to be during crossover period as needed
* Use bulk_upload.year_combo for comparison in request tests to avoid year dependancy
* Update BU log creator specs for 2024
* Use year combo function in bulk upload mailer tests
* Refactor lettings validator_spec
* More fixes
* More work on bu validator specs - mostly sales
* Remove pre 2023 test
* More use of bulk_upload.year_combo in request tests
* Fix lint
* Tweak bulk upload error row component tests for year changes
* Further fixes
* Fix 2023 lettings row parser spec
* Sales log to csv fix
* Refactor BU processor tests
* Fix field number row identifier
* Fix linting
* More years in request spec
* fix
* Don't use db unnecessarily in financial validations spec
* Fix sale date changing 2024 -> 2023 test
* Add tests for bulk_upload.year_combo
* Update bu factory year specification
* Refactoring
* Linting
* Don't use helper in factory
* Remove new 2023 specific test
* Remove dummy end dates
* further fixes
* Fix date / crossover issues
* Try changing form end dates
* Revert "Try changing form end dates"
This reverts commit e027e29cf0.
* Make use of :ignore-validation-errors trait
* Try with end dates in past
* Revert "Try with end dates in past"
This reverts commit 6b87938d70.
---------
Co-authored-by: Rachael Booth <rachael.booth@softwire.com>
* Remove legacy user from user factory
* Build instead of creating in some model tests
* Do not create a new DPO for orgs created within user factories
* Add original setup doc
* Update documentation with updated factories
* Fix up DSA creations
* update factory completed traits using an after build hook so that trait does what it says regardless of start or sale date of log
* use completed trait rather than completed2024 trait from factories
skip validation on saving logs from previous years so that logs created too far in the past do not trigger validations
* remove sale and start dates from logs in tests where that should not be important
build rather than create to reduce db interactions
in order that the setup is complete, build the necessary user and organisation with ids
* fix a wide range of tests affected by the changes in log factories completed traits
* CLDC-3487: Clear previous_la_known when necessary for renewal logs
* CLDC-3487: Clear location when clearing scheme due to org change
* CLDC-3487: Use nil instead of 0
* Specify orgs on sh logs when needed for tests
* Fix flaky tests
* ensure in the update method that it is not possible to delete rent periods that are in use by that organisation
* lint
---------
Co-authored-by: Kat <katrina@kosiak.co.uk>
* write helper method to support having the correct rent period checkboxes checked
* update new and create in organisations controller and view to enable creation of relevant organisation rent periods
write tests for this
* small changes to models
* enable editing rent period in the UI
display change button on org details page
display rent periods question on edit page
* enable updating org rent periods
update logic in #update
related tests
* alter redirect after support user creates an organisation
* adjust various UI elements: ordering of rows, copy changes, label size and associated tests
* rework the #rent_period_labels method to return All under the correct conditions, rework tests related to that. + fix assorted tests that were either flakey or breaking due to addition of rent periods logic to create and update
* amend failing tests and resolve linting complaints
* changes following review
* disable checkboxes for rent periods if they are in use so that users are not able to make existing logs invalid
hint text added to the question to explain this
I have also added all rent periods to a hidden field to remove the need to fetch them again form the db in the update method
* update validation to reflect the fact that an org having no associated rent periods no longer means they accept all rent periods
update tests adding both cases and removing unnecessary additional db additions
* rake task to create rent period associations for orgs that have none
* revert mistaken copy changes in designs
* create rent periods in factories as default, with an option to skip. skip automatic creation in tests specifically related to rent periods
* stub api call for factory value, update csv tests and fixtures accordingly
* extract a good chunk of tests out of lettings_log_spec and into a dedicated derived fields spec file. in many cases refactor tests
* remove before(:context) and associated patterns.
use assign_attributes in various places for cleaner code
* escape . in regex for API call stubs to satisfy codeQL
remove destroy_all call at the start of a test that was dealing with leftover modesl in the test db
* further refactoring of various tests to reduce database interactions and improve speed
* remove outdated distinction between unitletas mappings from before 23/24
* remove tests that seem to be testing active record and/or ruby Date class
* write helper method to support having the correct rent period checkboxes checked
* update new and create in organisations controller and view to enable creation of relevant organisation rent periods
write tests for this
* small changes to models
* enable editing rent period in the UI
display change button on org details page
display rent periods question on edit page
* enable updating org rent periods
update logic in #update
related tests
* alter redirect after support user creates an organisation
* adjust various UI elements: ordering of rows, copy changes, label size and associated tests
* rework the #rent_period_labels method to return All under the correct conditions, rework tests related to that. + fix assorted tests that were either flakey or breaking due to addition of rent periods logic to create and update
* amend failing tests and resolve linting complaints
* changes following review
* disable checkboxes for rent periods if they are in use so that users are not able to make existing logs invalid
hint text added to the question to explain this
I have also added all rent periods to a hidden field to remove the need to fetch them again form the db in the update method
* update validation to reflect the fact that an org having no associated rent periods no longer means they accept all rent periods
update tests adding both cases and removing unnecessary additional db additions
* rake task to create rent period associations for orgs that have none
* revert mistaken copy changes in designs
* create rent periods in factories as default, with an option to skip. skip automatic creation in tests specifically related to rent periods
* stub api call for factory value, update csv tests and fixtures accordingly
* extract a good chunk of tests out of lettings_log_spec and into a dedicated derived fields spec file. in many cases refactor tests
* remove before(:context) and associated patterns.
use assign_attributes in various places for cleaner code
* escape . in regex for API call stubs to satisfy codeQL
remove destroy_all call at the start of a test that was dealing with leftover modesl in the test db
* further refactoring of various tests to reduce database interactions and improve speed
* remove outdated distinction between unitletas mappings from before 23/24
* remove tests that seem to be testing active record and/or ruby Date class