* CLDC-2812: update app config to run from relative root
* Deploy to staging on pushes to branch
* Add action mailer relative root config for review envs
* Temporary pipeline to deploy this branch for testing
* Update aws deploy pipeline to allow different prefixes for roles and tasks
* Prepare database when deploying review apps
* Update app nav and sentry to take account of relative root
* Update more fixed paths
* Update header root link path
* Rack attack path
* Revert "Deploy to staging on pushes to branch"
This reverts commit b05f13d474.
* Start updating workflows
* Update teardown pipeline to drop database
* Ensure destroy infra step runs after drop database
* Remove user_password_path because it can't be found
* Don't override path helpers in navigation items helper tests
* Checkout infra code to run workflow
* Try separating workflow call to job
* Sync with infra repo updates
* Use workflow on dev
* Don't trigger on push to branch
* Avoid rack attack path helper issue
* Update review apps teardown pipeline
* Update infra repo reference to main
* Fix linting
* Fix /logs redirect
* Fix lettings_logs_current and sales_logs_current checks in navigation items helper
* Fix existing bug in schemes nav item highlighting
* Use starts with rather than == in logs nav items current checks
* Split off non-support schemes current nav item checks
---------
Co-authored-by: Sam Seed <sam.seed@softwire.com>
* CLDC-2863: rename maintenance_mode_enabled? to service_unavailable?
* CLDC-2863: update 'maintenance' to 'service unavailable' in tests
* CLDC-2863: rename check_maintenance to check_maintenance_status
* CLDC-2863: implement service_moved functionality
* CLDC-2863: add tests for service_moved functionality
* CLDC-2863: add tests for when both feature toggles are on
* CLDC-2863: remove full stop from service moved page title
* CLDC-2863: turn on service moved feature
* CLDC-2863: turn off service moved feature
* 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
* Update postgresql version in dockerfile
* CLDC-2690: Update s3 service to use ECS credential provider when not on PaaS
* Temporary fix for redis config when not on PaaS
* Fix rubocop offences
* feat: update application to use non paas and paas configuration services, add helper to determine if platform is paas
feat: don't double-instantiate the configuration service
feat: add self. to is_paas? definition, and require module in rack_attack
chore: lint
* test: update suite to work with new paas/env config service logic
test: new PlatformHelper
* fix: update full import tests to check paas and non-paas config services
* fix: update test descriptions and remove unrequired line
---------
Co-authored-by: Sam Seed <sam.seed@softwire.com>
- As we migrate more organisations onto the service we need to be more conservative.
- This PR removes tracing on healthchecks entirely, whilst lowering everything else from 0.02 to 0.01.
# Context
- https://digital.dclg.gov.uk/jira/browse/CLDC-2279
# Changes
- split bulk upload feature toggle by log type ie lettings and sales
- this allows us to toggle with finer granularity
- moved `FeatureToggle` from initializer to service class. not sure why it was an initializer in the first place? this means its available to zeitwerk and will be reloaded when needed
* Move and rename some tests
* Add a merge organisation link
* Add merge page
* Don't display a second nav bar for support
* Fix spacing
* fix spacing and typos
* refactor questions from validator to row parser
* able to switch between bulk upload parsers
- depending on what year we are processing
* spec tooling to support bulk upload multi year
* row parser now has year in namespacing
* add static data for 2023 row parser
* add placeholder to log to csv for specs
* bulk upload aribtrary 23/34 column ordering works
* bulk upload supports 23/24 without headers
* bulk upload 23/24 supports BOM + invalid chars
* dupe tests
* port 23/24 attributes_for_log
* port 23/24 bulk upload validations
* force crossover period
* tweak max permitted columns
* able to return column for given field
* work out column for field for errors
* add field_4 as 23/24 setup field
* remove duplicate method
* map schemes and locations correctly
* handle arbitrary number of header rows
* add missing fields to bulk upload support
* change hardcoded date text to today's date formatted correctly
* update to show an example date in the tax year of the relevant log where that year is known
* move helper method and reuse some existing logic, adjust tests accordingly
* Schedule data export tasks in sidekiq-cron
- Split combined XML and CSV data jobs into seperate background jobs
- Add sidekiq-cron to the project
- Schedule new XML and CSV jobs to run every day at 5am
- Adjust data export Rake tasks to use new job
* Add specs for DataExport{Xml,Csv}Job
* x
* Run bundle install
* Change review app export bucket name
---------
Co-authored-by: Kat <katrina@kosiak.co.uk>
* Add next years form to the form handler
* Disable collection window validation in non prod/test
* fix the years in the correct file
* Undo year bulk upload change
* initialise missing forms using the new format, disable 14 days validation on non production
* Use only current and previous forms where needed
* refactor
* Refactor
* Remove startdate collection window validation from non production
* add start of bulk upload logs journey
* split upload controller into 2
* add year page to bulk upload journey
* bulk upload years now dynamic
* add placeholder for upload your file page
* handle bulk upload when not in crossover
* add bulk upload csv user journey
* bulk upload now persists and sends to S3
* swap ruby-filemagic for file command
* match csv or text file for validation
* in_crossover_period? now uses overlap of forms
- also moved from Form to FormHandler
* add production env var for CSV bucket
* stub kernel call methods
* remove duplicate env var
* hardcode env var for review apps
* move feature toggle to FeatureToggle
* crossover period checks now specific to the form
* fix typo in bulk upload journey
* add start of bulk upload logs journey
* split upload controller into 2
* add year page to bulk upload journey
* bulk upload years now dynamic
* bulk upload journey: add copy for prepare file
* add link to bulk upload template
* add placeholder for upload your file page
* handle bulk upload when not in crossover
* fix tests around bulk upload redirect
* fix typos in bulk upload jouney
* feat: wip update scheme summary page
* feat: wip deactivate scheme schemes page
* feat: wip toggle active page
* feat: wip set deactivation_date to a datetime (to be more specific times later_
* Change conditional question controller to accommodate all models
* feat: add specific datetimes for deactivation
* feat: correct date and add notice
* feat: wip error behaviour
* feat: wip errors
* feat: wip errors refactoring
* feat: wip errors more refactoring
* refactor: linting
* feat: add second error in correct position and wip date range error
* feat: remove unneccessary db field
* feat: change type values to strings
* refactor: tidy up controller logic
* refactor: use same structure as locations deactivation
* feat: add general partially missing date input error
* feat: add tests ("updates existing scheme with valid deactivation date and renders scheme page" still wip) and add new partially nil date behaviour to locations controller
* feat: fix tests, add status tag behaviour and remove unnecessary nils
* refactor: linting
* refactor: erblinting
* refactor: remove redundant line
* refactor: respond to PR comments 1
* refactor: respond to PR comments 2
* refactor: respond to PR comments 3
* refactor: respond to PR comments 3 (locations side)
* fix: remove @locations in location model
* fix: remove @locations in location model
* fix: update status names
* feat: wip validation update
* feat: add validation to model layer
* feat: further separate scheme deactivation behaviour
* test: update tests to new flow
* feat: respond to pr comments and add dynamic success text
* feat: duplicate behaviour schemes -> locations (+ tests)
* refactor: linting
* refactor: typo and remove unnecessary line for this PR
* refactor: feature toggle simplification
* Refactor locations and schemes controller actions
- Rename confirmation partials to `deactivate_confirm.html.erb` so that they match the actions in which they belong to
- Make all deactivation date comparision UTC time
* feat: update deactivation_date validation and add tests
* refactor: linting
Co-authored-by: Kat <katrina@kosiak.co.uk>
Co-authored-by: James Rose <james@jbpr.net>
* 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
* Add abstract log class and sales log class
Created a parent log class for sales log and lettings log. Any bits common
to both sales and lettings can live in the parent class. As the sales log
functionality is built up any commonalities with lettings log can be extracted
into the parent log class. The sales log model is set up without a json form
and instead the form is defined in code - like the setup section of the lettings
log.
* update sales logs controller
* update lettings controller specs
* update filter method name
* update organisations controller
* use lettings method
* Add deleted tests back
* lint
Co-authored-by: Kat <katrina@madetech.com>
Co-authored-by: Kat <kosiak.katrina@gmail.com>