* 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
* 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 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
* 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>
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.
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.
* Working except for selenium checkbox issues
* Remove old debug message
* Make sure we only run the stimulus init once per page load
* Revert that
* Rubocop
* Use data targets rather than id lookup, so that coupling is explicit
* Use fetch
* Schema update
* No schema changes introduced here
* Add a request spec for the new controller
* Schema order did change
* map over forEach
* Update factory fields
* Int for booleans :(
* Fix spec fields
* Lazy create
* use test_form.json in tests
* Pass in form to view from controller for check_answers
* reduce test json length for household section
* Further shorten the test json
* Remove extra radio questions from test json household section
* Trim test form and fix tests
* do some method extraction
* Extract creation of form into a formHandler
* rubocop
* redefine form model to use filepaths instead
* Check test env var in form handler
* remove singleton and make get_all_forms a private method
* refactor get_all_forms
Co-authored-by: Kat <katrina@madetech.com>
* Make outstanding amount question conditional
* Make major repairs date conditional on major repairs having been done
* Add Other reason for leaving as a conditional question
* Make reason for reasonable preference conditional on reasonable preference being given
* Refactor conditional html attributes
* Pretty print config json
* Add numeric conditional
* Add the rest of the conditionals
* Rubocop
* Refactor how we add stimulus controller html attributes so that we can combine them
* Spec attrib merging
* Fix question counts for sections with conditional questions
* Some linting
* Spec question counting behaviour
* Linting
* Add some more readme explanation
* Rename controller helper
* Rename variables for clarity
* Form with model so that we can validate (hypothetically)
* Put turbo frame back
* Turbo can update form errors if submitting returns 422
* Refactor and fix specs
* String interpolation over concatenation