06/05 Optimize app
This commit is contained in:
+12
-1
@@ -5,6 +5,7 @@ from app.extensions import db
|
||||
from app.models.account import Account
|
||||
from app.models.transaction import Transaction
|
||||
from app.models.category import Category
|
||||
from app.models.recurring_rule import RecurringRule
|
||||
from app.services.fx_service import get_today_rate, get_rate_history, force_refresh
|
||||
from app.services.ai_service import get_latest_daily_insight
|
||||
from app.services.account_service import get_total_assets, get_total_liabilities
|
||||
@@ -145,6 +146,14 @@ def index():
|
||||
chart_income.append(float(inc))
|
||||
chart_expense.append(float(exp))
|
||||
|
||||
# ── Upcoming bills (recurring rules due within 14 days) ──────────────────
|
||||
upcoming_bills = RecurringRule.query.filter(
|
||||
RecurringRule.is_active == True,
|
||||
RecurringRule.next_run != None,
|
||||
RecurringRule.next_run >= today,
|
||||
RecurringRule.next_run <= today + timedelta(days=14),
|
||||
).order_by(RecurringRule.next_run).limit(8).all()
|
||||
|
||||
# ── Recent transactions ───────────────────────────
|
||||
recent_txns = Transaction.query\
|
||||
.filter(Transaction.transaction_type.in_(['income', 'expense']))\
|
||||
@@ -185,7 +194,9 @@ def index():
|
||||
fx=fx,
|
||||
fx_history_data=fx_history_data,
|
||||
ai_insight=ai_insight,
|
||||
schwab_warning=schwab_warning)
|
||||
schwab_warning=schwab_warning,
|
||||
upcoming_bills=upcoming_bills,
|
||||
today=today)
|
||||
|
||||
|
||||
@dashboard_bp.route('/api/reconcile')
|
||||
|
||||
Reference in New Issue
Block a user