* Add shared ownership type question and page
* Add type column to the sales logs table
* Add ownership scheme field to db
Isolating this into a separate commit so it can be cherry picked for any
other sales logs work that's necessary.
* Fix tests
* fix a test
* Fix typo
* Set default time for form handler
Co-authored-by: Dushan Despotovic <dushan@madetech.com>
* 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>
* Prevents location from being cleared when it has been changed alongside the scheme
* Handles visible IDs not being system unique
* Hides the location correctly
* Make tshortfall optional based on hidden tshortfall_known question
* Add test for optional
* Add test for JSON derived and dependent on false options
* Test routing
* Fix optionality
* Remove Save and go to submit
* Update hidden_in_check_answers
* Add la_known to dynamically not required questions if postcode_known is yes or not filled in
* infer the correct field value and remove irrelevant dynamically not required line
* change get_question form method to prioritise the routed to questions
* Add soft validation and interruption screen for basic rent
* get previous page that was routed to and display the same error for both soft validations
* Separate max and min error screens
* add a test for getting the previous page
* Update content and add more tests for previous page
* 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>
* 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
* Reset values for dependant derived questions (only layear)
* do not reset questions that have selected answer options
* Fix test and assign nil to dependent
* rubocop
* update dependencies
* 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
* add button for moving to next incomplete section
* Add extra logic for cycling sections
* fix all failures
* add test for in progress case log to declaration redirection
* fix bug with infinite recursion
* update button text to save and return to log
* use govuk_link helpers
* lint fixes
* some basic extract method refactors
* refactor tests
* lint fixes
* redirect to check answers if next subsection in progress
* fix failing spec
* 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
* 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