* 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>
* Move storage classes into a dedicated module
* Move configuration classes into a dedicated module
* Refactor configuration service
* Implement configuration via env variables
* location cell ref
* extracted regex into initializer
* extracted regex into initializer - part 2
* added PostcodeService to extract behavior
* rubo
* better test name
* moved .delete.upcase to the PostcodeService class
* Make the needs type question available in non-prod environments
Co-authored-by: Ted-U <Ted-U@users.noreply.github.com>
* lint fixes
* fixes based on review
* add hint text
Co-authored-by: Ted-U <Ted-U@users.noreply.github.com>
* Confirmable
* Remove obsolete rake task
* Skip confirmation for inactive users
* Send beta onboarding template if migrated from Softwire
* Default controller
* Use correct link
* Redirect confirmation to set password
* Confirm account within 3 days
* Only redirect to set password if not previously set
* Rubocop
* Confirm factory bot users
* Set password condition
* Changing email requires reconfirming
* No need to explicitly trigger email, devise does that for us now
* Remove flash banner
* Mock notify
* Mock in the right spec
* Test redirect and text
* User is confirmable
* Rubocop
* Redirect to url so we don't bypass authenticity token
* Update content
* Add test for resend invite flow
* Update link to resend confirmation email
* Rename password reset resend confirmation partial
* Expired link error page
* Remove resend confirmation link
* Update seed
* Expory contact
* Time zone
Co-authored-by: Paul Robert Lloyd <me+git@paulrobertlloyd.com>
* Add Pagy pagination to logs index
* Add result count
* Show total count at top
* Replace view spec with request spec
* More logs context
* Make sure we have next/prev
* Add total count
* Generisize
* Remove pagination indicators when only 1 page
* Add pagination to title
* Whole pagination nav only shows if > 1 page
* Dry up paginated titles
* Update style namespace
* Switch to JSBundling with webpack
* Set babel target attempt 1
* Fix loose babel warning
* Babel target attempt 2
* Babel target attempt 3
* Maybe we need to polyfill more than just promise...
* Fix promise undefined in IE11
* Target oldest browsers possible
* Set browserlist in package.json
* Development mode browserlist and update readme
* Mode flag
* Does setting es5 web target help?
* It doesn't
* Not using ActiveStorage
* Import all of corejs
* Destructuring including in present-env already
* Just import what we need
* Add polyfill for fetch
* Stimulus polyfills
* Remove unused duplicates
* We don't use channels
* Single babel config
* Stimulus working
* Add additional polyfills for Stimulus and Turbo
* Additional polyfill for Turbo
* Make sure we also transpile our own stimulus controller code
* Add plugin-transform-spread
* Defaults are fine for most babel plugins
* Plugin ordering
* Specify which bits exactly we want to transpile
* Transpiling turbo appears to break it
* Devise logout via get so we don't rely on js
* Override public path for IE11
* Need to make DOM event triggers explicit for IE11
* Update helper spec
* Update helper spec
* Bump dependencies
* Add a failing test (for a wrong reason)
* Is that correct?
* Add rack attack config for reset password
* Add support to read redis configuration
* Add PaaS configuration for redis
* Add too many requests page
* Redirect to the too many requests error page
* update manifest
Co-authored-by: Stéphane Meny <smeny@users.noreply.github.com>
* Add custom guidance partials
* Add a test for the partial being rendered
* Add some unit tests for this
* Rubocop
* Don't introduce heisenspecs
* Use component
* Add comment
* Update check values
* Make net_income_known enum
Devise is a commonly used gem for user authentication and management. Using
rails generators and Devise allows us to get a lot of boilerplate code for
user authentication and management and means we don't have to revinvent the
wheel. Styling will need to be done for the necessary pages and there are
likely to be bits of generated code that can be deleted. This will act as
a starting point to be built up from using TDD.