* A support role exists that can see all case logs
* Support role requires 2FA
* Support user sees 2FA code screen on login
* Use email for OTP code
* Ensure resend paths work
* Support user can see additional organisation columns on logs page
* Simpler test
* Remove spec description spaces
* Works but relies on routes ordering
* Add helper test
* Actually work
* Test edit password auth even though we don't have a route for it
* Add spec description
* Consistency
* Add data field
* Add field to views
* Only data coordinators can change role, dpo, keycontact
* Import key contact field
* Rubocop
* Import data accessors
* Handle non-unqiue email imports
* Update controller auth
* Change data protection officer from role to attribute
* Allow changing DPO
* Update wording
* Use radio buttons rather than check box
* Add some integration tests
* Make hidden text dynamic
* redirect logged in users to /logs from the index page
* Fix tests
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>
* Validate that password match and show error if not
* User spec
* Test user update failure
* Format error messages for Form builder gem
* Test error message
* Clean up user routes
* Make user registerable
* Merge
* Turbo devise strikes again
* URL naming
* Dashes not underscores
* Consistent syntax
* Turning off turbo changes our html
* Update password link not working yet
* New user path
* Password edit path
* Updating password keeps you signed in and redirects to show
* Set new user org
* Write a failing spec for user creation
* Reset user password and redirect back to org users page
* Test redirect
* Use invite template
* Request specs over feature specs
* Add email validation
* Add email validation to reset password form
* Revert extracting CSS file by default since it messes with tests
* Add label to change password
* Error summary should be above title
* Devise doesn't play nice with Turbo yet
* Move errors above header
* Add specific field error messages if email or password omitted
* Add email validation
* Update app/controllers/users/sessions_controller.rb
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* Update app/controllers/users/sessions_controller.rb
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* Update app/controllers/users/sessions_controller.rb
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* Update spec/features/user_spec.rb
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* Remove default you need to sign in or sign up message
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* Your account page / personal details brochureware
* Edit password page working and added
Co-authored-by: Dushan <dushan-madetech@users.noreply.github.com>
* update password directing to the right place
* update from put to patch
As per the notice in this documenation:
https://github.com/heartcombo/devise/wiki/How-To:-Allow-users-to-edit-their-password
* update routes file
* Account page: able to change name and email address
* Check if logged in before accessing
* Your account page - rubocop
* Prettify
* Fix spec for merge
* Remove unused helper
* Use permitted params
Co-authored-by: Matthew Phelan <matthew.phelan@madetech.com>
Co-authored-by: Dushan <dushan-madetech@users.noreply.github.com>
Co-authored-by: baarkerlounger <db@slothlife.xyz>
* Refactor feature specs into smaller units
* DRY spec helpers
* Bump Turbo
* Use database ID assignment everywhere we need ID to reduce flakiness
* Update gemfile.lock
* Email is unique
* Selenium deprecation
* Don't need let bang
* Remove the uneeded extra options
* Remove flaky test mitigations that didn't work
* Use lockstep to remove test flakiness
* Dry up condition evaluation
* Spec admin user edit form
* Test income refused derivation
* Set valid incref
* Test Case Log deletion failures
* Test other household member age validations
* Test all reasonable preference validation paths
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.