* Added erblint and fixed offenses
* Added erblint bintstub. Included erblint into CI
* Merged GitHub Actions tasks for rubocop and erblint into one
* Added config for erblint.
* Reverted erblint call in the CI
* Add ability to delete Account
Issue #571
* Fix ActiveJob::DeserializationError in AccountSyncJob when an account doesn't exists
* Use custom confirm modal for account deletion
* Revert "Fix ActiveJob::DeserializationError in AccountSyncJob when an account doesn't exists"
This reverts commit 8dbf634819.
* Support all currencies, handle outside DB
* Remove currencies from seed
* Fix account balance namespace
* Set default currency on authentication
* Cache currency instances
* Implement multi-currency syncs with tests
* Series fallback, passing tests
* Fix conflicts
* Make value group concrete class that works with currency values
* Fix migration conflict
* Update tests to expect multi-currency results
* Update account list to use group method
* Namespace updates
* Fetch unknown exchange rates from API
* Fix date range bug
* Ensure demo data works without external API
* Enforce cascades only at DB level
* Clean up time series models
* Add value group rollup class for summarizing hierarchical data
* Integrate new classes
* Update UI to use new patterns
* Update D3 charts to expect new data format
* Clean up account model
* More cleanup
* Money improvements
* Use new money fields
* Remove invalid fixture data to avoid orphaned accountables
* Update time series to work better with collections
* Fix tests and UI bugs
* Handle Turbo updates with tabs
Fixes #491
* Add Filterable concern for controllers
* Add trendline chart
* Extract common UI to partials
* Series refactor
* Put placeholders for calculations in
* Add classification generated column to account
* Add basic net worth calculation
* Add net worth tests
* Get net worth graph working
* Fix lint errors
* Implement asset grouping query
* Make trends and series more intuitive
* Fully functional dashboard
* Remove logging
* Rename account balance field for clarity
`original_balance` and `original_currency` may infer that these values are "original" to the account. In reality, they represent the "current" balance and currency on the account.
* Prepare fixture data for account sync testing
* Update to new field
* Fix conflicts
* Remove local schema change
* Update hard-coded currency UI with currency specific params
* Rename extension methods to match currency option names; Move cents extension to numeric class extension
* Use currency's precision to show the cents part in accounts show page
---------
Co-authored-by: Sriram Krishnan <sriram@seafoodsouq.com>
* Transaction scaffold
* Rough in transaction views
* Fix sort order
* Fix mass assignment issue
* Fix test
* Simplify CI workflow
* Don't seed db before test
* Refresh account on update
* 🐛 Replace turbo frame on create valuation
This avoids the frame reloading it's src when refreshing.
* Change Action Cable adapater to Postgres
* Add trends, time series, seed data
* Remove test data
* Replace old view values with helpers
* Fix tooltip bugs in D3 chart
* Fix tests
* Fix smoke test
* Add CRUD actions for valuations
* Scaffold out inline editing with Turbo
* Refactor series logic
* Scaffold out basic sync process for accounts
* Fix tests
* Add trends, time series, seed data
* Remove test data
* Replace old view values with helpers
* Fix tooltip bugs in D3 chart
* Fix tests
* Fix smoke test
* Add CRUD actions for valuations
* Scaffold out inline editing with Turbo
* Initial dropdown setup and styles
* Allow form field to pass through block content and update dropdown posititon
* add currency to accounts params
* Add repositionDropdown function and carry over dropdown controller
* remove block context from form builder in favour of using form tag directly
* Hide currency input and set checks for input and label before updating
* align currency button with balance
* revert form_field_tag changes
* remove margin on currency button, looks cleaner
---------
Signed-off-by: Josh Pigford <josh@joshpigford.com>
Co-authored-by: Josh Pigford <josh@joshpigford.com>
* Initial foundational pass at multi-currency
* Default format currency
* More work on currency and exchanging
* Re-build currencies on change
* Currency import/setup
* Background job overhaul + cheaper OXR plan support
* Lint fixes
* Test fixes
* Multi-currency setup instructions
* Allow decimals in the balance field
* Spacing fix for form
---------
Signed-off-by: Josh Pigford <josh@joshpigford.com>
* Add and organise component stylesheets
* Revert CSS folder and file structure
* Add FormsHelper and FormBuilder to apply component classes
* Refactor label args
Co-authored-by: Jose Farias <31393016+josefarias@users.noreply.github.com>
Signed-off-by: Josh Brown <josh@joossh.com>
* Update form field styles
* Apply form builder to all fields
* Remove redundant style rules
Some of these were either duplicative or had no effect.
* Apply default submit button styles
* Set default form class
* Fix opacity of input when focused
---------
Signed-off-by: Josh Brown <josh@joossh.com>
Co-authored-by: Jose Farias <31393016+josefarias@users.noreply.github.com>
Co-authored-by: Josh Pigford <josh@joshpigford.com>
* Fix accountable type references in new account flow
* Add remaining references
* Refactor accountable type checking
* Refactor new account template to use account
* Refactor account create action
* Refactor account sidebar
* Patch virtual_path within modal helper
Added an example translation within the modal to test.
* Fix modal translation scope
By changing this to a partial that accepts the content via a local var
instead of a layout the virtual path, and therefore translation scope is
not changed.
* Add Lucide gem (#364)
* feat: add cursor pointer in the log-in and create account pages, also make full with (it's cutted right now) the fileds in the settings edit page
* feat: skip system test with an explanation instead of comment them
* fix typo in the skip
* feat: add lucide gem
* Add reusable modal (#362)
* Remove unused form
* Add reusable modal
* Prelim styling
* Add instructions
---------
Co-authored-by: Josh Pigford <josh@joshpigford.com>
* Add keyboard navigation to new account selector (#375)
* New account menu (#372)
* New account menu
* Styling tweaks
---------
Signed-off-by: Josh Pigford <josh@joshpigford.com>
* Entry method links (#376)
* Initial add account form (#378)
* Initial add account form
* Unused
---------
Signed-off-by: Josh Pigford <josh@joshpigford.com>
Co-authored-by: Pedro López Mareque <Pedro.lopez.mareque@gmail.com>
Co-authored-by: Rob Zolkos <rob@zolkos.com>
Co-authored-by: Josh Brown <josh@joossh.com>