* 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>
* Replaced log CSV direct download with email
* Tidy up authorization of organisations controller
- We already have a method to authenticate the scope of the user, so we can reuse that.
* Use Rails routes instead of absolute paths for CSV download links
* Introduce base NotifyMailer to to abstract away shared Notify mail functionality
* Fix mailer spec name
* Add worker instance to PaaS manifest
* Add CSV download bucket instance name into environment
* Update tests for improved search term handling
* Fix download mailer tests
* Clarifying comments
Co-authored-by: natdeanlewissoftwire <nat.dean-lewis@softwire.com>
Co-authored-by: James Rose <james@jbpr.net>
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>
* wip
* add missing values to factory bot and lint
* remove irrelevand methods
* dont infer housingneeds
* typo
* update method name
* Remove housingneeds_present? method
* move set housing needs fields to case log variables file
* Only set all housing needs values to 1 if there are no housingneeds
* update json form fixture
* link
* update csv test
Co-authored-by: Dushan Despotovic <dushan@madetech.com>
* Move storage classes into a dedicated module
* Move configuration classes into a dedicated module
* Refactor configuration service
* Implement configuration via env variables
* Change property major repairs date validation from 2 years to 10
* add voiddate_date_in_soft_range? and major_repairs_date_in_soft_range? methods
* update error messages for hard validations
* Add property_major_repairs_value_check to the form
* add void_date_value_check and fix some namings
* Update value_check hidden in check answers to depend on whether the questions is answered
* Remove a schema key
* extract constants for number of days
* change error messages wording
* update schema and csv files
These errors were injecting devise's authentication_keys which includes email and was duplicating that copy, for example:
"Incorrect email email or password"
* Reset wchair when needstype changes from supported housing to not supported housing
Co-authored-by: James Rose <jamesrose@users.noreply.github.com>
* remove location_id if scheme needstype changes to general needs
* only hide postcode known question from check your answers if it's answered
Co-authored-by: James Rose <jamesrose@users.noreply.github.com>
* Mark scheme location as confirmed
* Route to check your answers after any changes are made to the scheme. Display change for all editable fields
* Add some functionality
* Display banners and redirect to check answers after editing location name
* Remove a test
* update locations confirmation
* reuse can_change_scheme_answer?
* Use path helpers
* Redirect to view scheme when trying to access create form pages for the scheme
(cherry picked from commit 761bf97dc2)
* add before action for confirmed schemes
* update location path
* lint
Co-authored-by: Dushan Despotovic <dushan@madetech.com>
* reset managing org for sheme
* only display schemes with managing org id
* only display relevant answers in show scheme page
* tests
* check arrangement type from saved scheme if incoming params for it is nil
* don't override managing org id if it's coming through as nil
* convert to use values that won't change for checks
* Revert "convert to use values that won't change for checks" because the value coming through from the params is the value and not a key
This reverts commit 50053ec0cf233e3a6c36db9af2528c354d3d60e7.
* Test
* check constant values
* Add test case for controller, check if the scheme is confirmed before displaying
* validate all the required scheme questions are answered
* fix ui
* fix test
* Add test, change error message wording
* Display error message next to the relevant field
* update context and query
* lint
Co-authored-by: Dushan Despotovic <dushan@madetech.com>
* Fix data mapping for mantype
This was mapped to a column called support services provider which was an
integer, this now maps to the arrangement type column. This should be in
line with expectations for the import/export
* remove unused stuff
* lint fixes
* changes to comparison
* fix lambda checks in view
* fix export test
* Add mobility type question
* Remove wheelchair_adaptation, use mobility_type to infer wchair
* Add validatio to mobility type
* tests
* Rebase main
* CYA test
* extract selection methods into a helper
* testing location validity
* testing for invalid startdate
* testing for invalid startdate in controller
* redundant method
* redundant if
* added tests
* using blank
* using || insetad of &&
* validation error messages for scheme
* WIP for validations
* fixed redirects for a correct page
* expecting link to a new question
* added support_services_provider
* WIP for support_services_provider
* WIP for support_services_provider - works concenptually
* WIP passing feature tests
* WIP passing feature tests
* WIP validations
* passing tests and working functionality
* location validations
* fixed after rebasing
* fixed edit name
* fixed after rebasing
* tests for missing params
* tests for validations
* tests for validations locaion
* tests for validation of all params for scheme
* tests for location validations
* What is this type of scheme? - Order options alphabetically:
* Care Standards Act 2000? - Order options as follows, add missing hint text for third option
* further styling
* last UI changes
* lmoved back button logic to the view
* select options in the view
* missing validation for manaing org
* fixed check answers page
* wip
* small change
* fixed
* fixed check answers page ui
* fixed updating
* fixed tests
* fixed layout
* final touches
* rebase
* rubocop
* correct condition
* old test
* Add location startdate column to the db
* Display the schemes with active locations only when selecting a scheme for a case log
* When selecting a location for case log, only show active locations
* Add startdate to the form
* only display the number of active locations in the appended text
* Compare date instead of time
* Put location questions and hints into a translation file
* lint
* content change
* infer case_log values from schemes
* only display relevant property information questions
* Add unittype_sh column
* Display the correct number of completed sections
* fix schema and migration
* Fix test failing in CI
This test was failing due to some different between UTC and BST time as the
record from the DB comes back with a UTC timezone. Comparing the integer values
of both will ensure that both timestamps are identical and should fix the
issue in the CI where it thinks the values are different
* only run query for scheme locations size once
Co-authored-by: Dushan <dushan@madetech.com>
* extract TYPE_OF_UNIT_MAP
* lint
* Use find insted of select
Co-authored-by: Dushan Despotovic <dushan@madetech.com>
* location cell ref
* extracted regex into initializer
* extracted regex into initializer - part 2
* added PostcodeService to extract behavior
* rubo
* better test name
* moved .delete.upcase to the PostcodeService class
* added test to check locations
* added test to click to change location
* added edit name to routes and front
* edit name request specs
* finilised
* tab nav helper test
* specs for update
* rubo
* feature to test editing a scheme
* adding editing buttons
* adding scheme_edit_name route
* controller tests for editing name
* edit-name template missing
* edit-name controller action
* edit-name controller action - leftovers
* padding for checkbox fieldset
* added Which organisation owns the housing stock for this scheme? to the check
* testing editing name via controller
* last test
* lint
* wrong button name
* legend is gone
* Save changes
* added last step
* not finding postcode field
* testing being direct to add locations page after submitting support questions
* added route to locations controller
* location controller spec
* location controller
* added template for new
* next step in feature
* added postcode
* added name to locations
* removed total units from schemes
* moved total units to locations
* changed type of unit type in db
* using type of units
* add locations page is finished
* purged total units and added test for location create
* creating location
* testing creating location as data provider
* fixed factory
* refacotred update/create and added test creating location as a coord user
* testing returning back to create page if create another location is selected
* testing returning back to create page if create another location is selected - part 2
* thanks rubocop
* thanks rubocop
* testing back from new location
* returned tests back
* testing clickable locations link
* testing clickable locations link under correct context
* correctly looking table
* table with caption
* wip
* fixed failing exisiting tests
* fixed failing exisiting tests - part 2
* validating postcode case logs style
* validating postcode specs
* validating postcode specs debugger removed
* navigation when editing location
* spike creating new location after addition
* small refactoring
* added test to add another location from locations page
* added test to amend a location
* added test to amend a location - part 2
* testing location cell
* added wheelchair adaptions to the unit tyupe
* rebased
* testing postcode missing
* testing creating schem for a different org for coordinator
* testing new scheme for a different org for coordinator
* upcasing all postcodes before creation
* testing edge cases around postcodes and yes or no for another location
* create locations with support user
* details locations specs
* update locations specs
* rubocop
* checking raising error
* fixed failed test
* switched yes and no for wheelchairs
* routes refactoring
* fixed routing - WIP
* further chanegs
* feature tests passing
* correct page when errros
* redundant page
* moving viewing locations away from schemes controller
* new is fixed
* create fixed
* fixed locations specs
* fixed tab nav specs
* completed location specs
* lint
* added test to find link to create a new scheme
* added button to create a new scheme
* testing arriving to the new scheme form
* non exsiting link to controller new action
* SPIKEEEE
* first page complete
* posting to create
* refactored scheme to enums
* refactored new scheme page to use enums as well
* views
* SPIKE WIP
* SPIKE WIP
* SPIKE WIP
* drawing list of scheme details
* expanded on feature seeing more fields to fill in
* expanded on feature seeing more fields to fill in 2nd page
* refactored
* working back buttons
* working flash
* more change in wip
* default value for org
* working spike
* some spacing
* filling answers
* spike finished
* correct name for details
* testing fill in details
* removed gem and further tests
* Add has other client group field to schemes. Display it in the check answers. Fix tests and routing
* remove details view and path
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>
* WIP change update paths
* Implement changing answers (except the details one)
* Add details page back for editing scheme details
* added missing test for support questions and nested check answers under correct context
* checking the back functionality
* rubo and lint
* checking the back functionality for primary gourp
* checking the back functionality for confirm secondary
* checking the back functionality for secondary group
* checking the back functionality for support answers
* checking the back functionality for returning to check answers from details page
* checking the back functionality for returning to check answers from primary group page
* checking the back functionality for secondary group confirm yes
* checking the back functionality for secondary group confirm yes - fixed
* checking the back functionality for secondary group
* checking the back functionality for secondary group -fixed
* checking the back functionality for returning from support page
* Do not display secondary client group if the scheme doesn't have one
* Add details path to schemes controller update method
* Add more tests for back button
* Add tests for new controller method
* Add tests for creating schemes as data coordinator
* fixed schema
* added test for missing params when creating scheme
* create for support user with or withotu required param
* code to get controller render errors when required param is missing
* code to implement correct validation
* code to implement correct validation - part 2
* highlight missing field
* doing silly dance to get correct field highlighted on the error
* testing patch for schemes
* testing patch for schemes - correct path
* small refactoring
* testing primary client group update via regular path
* testing primary client group update via check answers page
* testing confirm secondary group update with YES NO and returning from check answers page
* testing updating secondary client group update and returning from check answers page
* testing support answers and returning from check answers page
* testing details and returning from check answers page
* weird path when no names supplied
* rubocop
* lost in rebasing
* started id to code refactoring
* model specs remastered
* fixed scheme controller specs
* further refactorings
* fixing feature schemes
* final touches
* removed code from db
* remaining code purged
* rubocop
* included check for owning org field
* checking for stock owning org selection
* added stock owning org
* added stock owning org on new page
* added stock owning org to details
* removed total units
* managing related schems properly via Org
* managing related schems properly via Org - rubocop
* small refactoring
* small refactoring - 2
* small refactoring - 3
* tests for owned_schemes and managed_schemes
* rubocop
* added tests for support user creating scheme
* rubocop -a
* tests for a primary-client-group
* tests for a secondary-client-group
* tests for a confirm-secondary-client-group
* tests for a check-answers
* tests for a details
* rubocop
* redundant action in controller
* Trigger WF
* switched to int for confirm
* flashing test
* flashing test for support user
* flashing test rubocop
Co-authored-by: Kat <katrina@madetech.com>
Co-authored-by: baarkerlounger <baarkerlounger@users.noreply.github.com>