* 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
* 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>
* 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
* Add organisation model and user association
* Add user admin panel
* email
* Update seeds
* Update spec
* Case logs belong to organisations
* Org case log association
* Add user case log association
* User case log helper methods
* Org case log relation helpers
* Case log index page only shows your organisations case logs
* No access to tasklist page for logs that aren't associated with your org
* No access to form pages for case logs that aren't owned or managed by your org
* Check answers access
* Submit form access
* Refactor out not found methods
* Allow user admin update without password
* Update feature specs
* Rubocop
* Update case log specs
* Test admin user update without password
* Spec grammar
* 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 routing
* Tenant code is now in About This Log
* Invert form definition routing syntax
* Make GDPR acceptance explicit dependency
* Add ReadMe description
* Add ADR for form routing logic
* Update JSON schema
* Add frontend gem repo to readme
* Rubocop
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.