* refactor: make has_inferred_check_answers_value? do what it says it does
* refactor: combine method calls
* refactor: linting
* test: update
* refactor: copy
* db: update
* refactor: update db and lint
* feat: add present? back in to avoid 0 errors
* feat: flip ==
* refactor: flip ||
* refactor: flip name
* Add previous, current and next forms to form handler
* Add current, previous and next sales forms to form handler
* Implement current_lettings_form, current_sales_form and store year and form type in form
* refactor lettings_forms
* Use current, previous and next forms in lettings log model
* Use current, previous and next forms in sales log model
* use current, previous and next forms in csv service
* Remove "startyear_endyear" forms from form handler
* Remove name from form initializer and add an optional start year
* refactor get_form
* update csv test, fix form initialize
* rebase fix
* Refactor form_name_from_start_year method out
* remove unused variable
* fix typo, add date tests
* rebase, fix tests
* add comment to before test block
* Change the FormHandler back to only contain the form objects
* extract name
* Add abstract log class and sales log class
Created a parent log class for sales log and lettings log. Any bits common
to both sales and lettings can live in the parent class. As the sales log
functionality is built up any commonalities with lettings log can be extracted
into the parent log class. The sales log model is set up without a json form
and instead the form is defined in code - like the setup section of the lettings
log.
* update sales logs controller
* update lettings controller specs
* update filter method name
* update organisations controller
* use lettings method
* Add deleted tests back
* lint
Co-authored-by: Kat <katrina@madetech.com>
Co-authored-by: Kat <kosiak.katrina@gmail.com>
This renames the case_log to lettings_log as everything we've written so
far has been geared towards lettings of social housing so it makes sense to
have the name describe this. This is also a precursor to adding in stuff for
sales logs (whatever shape that takes)
Co-authored-by: James Rose <james@jbpr.net>
* Refactor depends on in the form json to specify the object for the dependency
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>
* Remove org section
* Enable user based depends on
* Add question
* Question is derived
* Log debug message when values get auto cleared
* Enable answer options to be created from a model lookup
* Make organisation fields optional since they won't immediately have one when created by support users
* Add question to check answers page
* 22/23 fix
* Rubocop
* Spec check answers label lookup
* Only set managing organisation if not already set
* Bump deps
* Rescue lack of database connection for CI
Co-authored-by: Kat <katrina@madetech.com>
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>
* 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
* Remove enums
* Add some convenience methods to make validations more readable
* Gender chars instead of ints
* Remove incorrect API doc info for now
* More convenience methods
* Rename label from value method
* Wrapper hbrentshortfall
* Please the cop
* Change net income known question
* earnings and frequency on same page
* check answers changes and other fixes
* some fixes
* delete unnecessary test
* fix failing spec
* Refactor answer label
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>
* test and lint fixes
* Method args
* Fix specs
* Rubocop
* Incfreq doesn't have it's own check answers display
* Add suffix to actual form
* JSON linting
* Conditional suffix only applies to check answers
* Validate that earnings and incfreq must be provided together
* Rubocop
* Fix spec
* Fix page view specs
* form fixes
* update error messages
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>
Co-authored-by: baarkerlounger <db@slothlife.xyz>
* Count inferred check answers answer as an answered answer :)
and remove la unknown reason field
* rename the method and add a test for gdpr completed section
* remove commented code
* Hackety hack hack
* Leave JS hooks until text conditionals are updated as well
* Fix JS errors and remove UJS
* Reload the GOV UK frontend JS
* Fix armed forces case
* Remove obsolete tests and config
* Temo fix for household members question
* Unit test
* Add helper unit test
* Correctly failing spec
* We still need stimulus to clear answers
* Fix styling issues
* Refactor style logic into helper
* Form fix
* Conditional check box questions are shown on a new page
* Update readme
* Fix date bug
* Clear conditional date fields if invalidated by top level answer
Co-authored-by: Stéphane Meny <smeny@users.noreply.github.com>
* Add hidden text to change links
This was missing, the hidden text users the check answer label so that the
two will be consistent with each other.
* update chsnge link test
* Update app/models/form/question.rb
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* Update app/models/form/question.rb
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* update change link test
* update answer links too
* add hidden text for answer links
* fix failing tests
* update answer link with hidden text creation is now less repetetive
Co-authored-by: Paul Robert Lloyd <paulrobertlloyd@users.noreply.github.com>
* Update hb question options
* add has benefits field
* derive has_benefits
* update benefit question options
* Add nocharge field
* Add rent period question and check multiple condition sets for depends_on
* update rent period answer options
* Add carehome questions and move the remaining rent questions to income and benefits section
* Reset incfreq and incref and update rent routing based on periods
* 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