mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 13:19:39 +02:00
* Consolidate entry controller logic * Transaction builder * Update trades controller to use new params * Load account charts in turbo frames, fix PG overflow * Consolidate tests * Tests passing * Remove unused code * Add client side trade form validations
51 lines
1.2 KiB
Ruby
51 lines
1.2 KiB
Ruby
class AccountsController < ApplicationController
|
|
layout :with_sidebar
|
|
|
|
before_action :set_account, only: %i[sync]
|
|
|
|
def index
|
|
@manual_accounts = Current.family.accounts.manual.alphabetically
|
|
@plaid_items = Current.family.plaid_items.ordered
|
|
end
|
|
|
|
def summary
|
|
@period = Period.from_param(params[:period])
|
|
snapshot = Current.family.snapshot(@period)
|
|
@net_worth_series = snapshot[:net_worth_series]
|
|
@asset_series = snapshot[:asset_series]
|
|
@liability_series = snapshot[:liability_series]
|
|
@accounts = Current.family.accounts
|
|
@account_groups = @accounts.by_group(period: @period, currency: Current.family.currency)
|
|
end
|
|
|
|
def list
|
|
@period = Period.from_param(params[:period])
|
|
render layout: false
|
|
end
|
|
|
|
def sync
|
|
unless @account.syncing?
|
|
@account.sync_later
|
|
end
|
|
|
|
redirect_to account_path(@account)
|
|
end
|
|
|
|
def chart
|
|
@account = Current.family.accounts.find(params[:id])
|
|
render layout: "application"
|
|
end
|
|
|
|
def sync_all
|
|
unless Current.family.syncing?
|
|
Current.family.sync_later
|
|
end
|
|
|
|
redirect_to accounts_path
|
|
end
|
|
|
|
private
|
|
def set_account
|
|
@account = Current.family.accounts.find(params[:id])
|
|
end
|
|
end
|