* 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
* Link text
* Controller response
* Fix download link
* Check CSV only downloads collection
* Download value labels rather than values
* Set mime type in link markup
* Route back to the check answers if answer is changed from check answers page
* Remove redundant column
* Change field value in the test
* update test description
* 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
* 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
* Show validation error if user email already exists instead of crashing
* Use translation strings
* When answer option is mapped just display directly
* Validate provider type presence
* Set up failing test for new soft validation design
* remove unneeded js controller
* remove unneeded controller and spec
* rename net income validation override column
* spec form changes (to allow tests to run)
* validation spec changes
* replace all instances of override_net_income_validatiom
* passing first test
* Add to form and import styling
* remove unneeded code from interruption screen view
* Update test & code - failing last new expectation
* Display 2 previous question answers in the informative text
* extract displaying of the informative text into a helper
* Add tests for helper
* Remove some of the previous soft validations set up
* fix some failing specs
* Fix more tests
* lint
* Reset earnings question prefix and suffix to initial values instead of nil
* make it route backwards on a no
* test and linter fixes
* refactor next_page
* stryling
* more changes
* fix specs
* update real form
* design tweaks
* delete commented out tests
* content changes
* content changes
* changes to informative/hint text
* More robust styles for interuption panel, use smart quotes
* Rubocop
Co-authored-by: Kat <katrina@madetech.com>
Co-authored-by: Paul Robert Lloyd <me+git@paulrobertlloyd.com>
Co-authored-by: baarkerlounger <db@slothlife.xyz>
* Failing test
* Simplest thing to make spec pass
* Extract to method
* Set condition based on class having the 2fa module rather than hardcoding class name
* 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>
* 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>
* 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
* Only enhance select element once
* Add test for disabled select option
* Select by key
* Test for selected option
* Rubocop
* Instance vars
* Don't turbo cache page to make js function act each time
* Iterate over all forms
* Re-lookup page to ensure we have the definition for the right form
* Match form naming convention for spec and real
* Add test for case log form
* 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
* Data coordinators can edit some organisation details
* Apply suggestions from code review
PR tweaks
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* PR comments
* Address line label
* Apply suggestions from code review
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* Scope auth for org pages
* Scope user methods
* Refactor form UI controller
* More tests for access
* Consistently return not found for scoped auth
* Add ADR
* Authenticate bulk uploads
* Authenticate soft validations controller
* Scope bulk upload to user's org for now
* Pass through current user
* Update docs/adr/adr-012-controller-http-return-statuses.md
Co-authored-by: Dushan <47317567+dushan-madetech@users.noreply.github.com>
* Update spec/requests/case_log_controller_spec.rb
Co-authored-by: Dushan <47317567+dushan-madetech@users.noreply.github.com>
Co-authored-by: Dushan <47317567+dushan-madetech@users.noreply.github.com>
* 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