* 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>
* order csv attributes based on the form
* Move is inferred csv attributes next to the inferred fields
* Add is dpo, move scheme fields to back
* move checkbox answer options
* extract move_csv_attributes method
* choose year based on which case logs are downloaded
* typo
* Extract case log csv class
* Move csv class to services
* update schema
* spec for item_label
* class for item_label
* using helper to derrive plurality
* using helper in other views
* better test name
* test for title format functionality
* code for title format
* test for title format support user and all high level titles
* renamed helper
* failing test viewing logs for specific org as support user
* code for title format with sub nav for support user
* code for title format coordinator user
* correct titles for coordinator user
* switched users to using helper
* rubocop
* correct title for support about org
* massive refacotring
* cleaner code
* correct title for support users in about section
* refactored name
* refactored test names
* correct headings
* fixed titles
* fixed missing bracket and test
* removed test since we dont have hidden headers for non support users
* removed test since we dont have hidden headers for non support users
* correct title when no logs for support usert
* correct title for non support
* correct title for non support viewing logs
* correct title for non support viewing logs
* correct title for non support viewing logs - 3
* correct title for logs
* correct title for logs - 2
* fixed new title for no support tabs
* fixed new title for no support tabs - 2
* fixed rebasing
* test to download only search results
* testing I can download only logs matching both search and filter
* rubocop
* matching style for title
* ILIKE for search
* rubocop
* using ILIKE
* upated rack due to vulnerability
* refactoring
* refactoring
* refactored test
* refactored matching search results on multiple page tests for title
* no pagination title
* no pagination title for when no logs
* fixed all title related tests for filter and search
* rubocop
* removing extra space in the view - unneccesary
* better test when searching for postcode
* failing lint?
* refactored condition
* refactored content to links
* refactored content to links in case logs
* Filter values correctly
* Remove filter value if hidden
* Return empty string rather than nil for accessible autocomplete
* Additional test for accessible automcomplete defaulting
* Rename org filter
* Ensure filters work when ID is passed
* UI init
* Lint
* Fix filter nesting
* Reduce width
* Set checked status of filters correctly
* Test filter presence
* Add filter test
* Rubocop
* Tweak styles for autocomplete within filter
Co-authored-by: Paul Robert Lloyd <me+git@paulrobertlloyd.com>
This commit fixes the tests that failed as a result of the introduction
of the created_by column in the case log table. The tests were failing as
it is now necessary to have a created_by for a case log
* add year filter
* update text and filter order
* fix typo
* extract partials
* add tests with 2 filters
* Allow OR filters within scope categories and AND filters across them
* Rubocop
* Remove some of the N+1 query madness by preloading required organisations
* Refactor scopes
* Fix new specs
* unticked checkboxes by deault
* fix test
Co-authored-by: baarkerlounger <db@slothlife.xyz>
Co-authored-by: baarkerlounger <5101747+baarkerlounger@users.noreply.github.com>
* Add a filter for status
* Add styling, separate filter tab into a file
* Add mobile styling
* use session instead of cookies
* Get statuses from case_log
* remove explicit builder set
* set filter from within get index
* style new log button
* refactor tests
* A support role exists that can see all case logs
* Support role requires 2FA
* Support user sees 2FA code screen on login
* Use email for OTP code
* Ensure resend paths work
* Support user can see additional organisation columns on logs page
* Simpler test
* Remove spec description spaces
* Link text
* Controller response
* Fix download link
* Check CSV only downloads collection
* Download value labels rather than values
* Set mime type in link markup
* Add Pagy pagination to logs index
* Add result count
* Show total count at top
* Replace view spec with request spec
* More logs context
* Make sure we have next/prev
* Add total count
* Generisize
* Remove pagination indicators when only 1 page
* Add pagination to title
* Whole pagination nav only shows if > 1 page
* Dry up paginated titles
* Update style namespace
* 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
* Add routing for renewals
* Fix inferring postcode (it works 🤷♀️)
* Infer remaining renewal variables
* update check answer labels
* Route to the next page if the first one is not routed to from tasklist
* Fix allocation unknown type and depends on for referrals
* add a test for and rename first_page_or_check_answers'