* 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 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
* 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
* 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 page titles and lint
* Make github use Node 14
(cherry picked from commit 86baa53972aa87676bb720a9f772620afa9a1be9)
Co-authored-by: baarkerlounger <db@slothlife.xyz>
* 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>
* Add basic info read page
* Header
* Better org seed
* Use gem component
* Tabs
* Users
* Users is a table rather than a summary list
* Table rows
* User is trackable
* Date format
* View component init
* Add pages and routes to render
* Partials
* Match the prototype design
* Nested layout is nicer
* Except of course they're not the same width
* Add button with wrong link
* Add user routes
* Don't move account route for now
* Add component test
* Rubocop
* Request spec
* Test views
* Add a feature spec for tab switching
* Move styling methods into helper
* PR suggestions
* PR comments
* 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
* Check answers to tasklist
* Fix status display
* Fix case log status
* Update footer
* Update spec
* Fix spec
* Make form pages 2/3 width
* Make spec failures less likely
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.