fix: Verknuepfte Buchungen brauchen keine Kategorie mehr
Eine verknuepfte Buchung gehoert zu einem Uebertrag und zaehlt in keiner Auswertung. Trotzdem stand sie unter "Zu erledigen" und wurde in der Buchungsliste nach einer Kategorie gefragt – Arbeit, die nichts bewirkt, und ein falsches Signal: Sie sah aus, als fehle noch etwas. Der Filter fuer offene Buchungen laesst verknuepfte jetzt aus, und in der Buchungsliste steht bei ihnen ein Strich statt der Auswahl – so wie bei einem echten Uebertrag. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,7 @@ from datetime import date
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query, status
|
||||
from pydantic import BaseModel
|
||||
from sqlalchemy import select, union
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from ..database import get_db
|
||||
@@ -19,6 +20,7 @@ from ..models import (
|
||||
InboxItem,
|
||||
InboxStatus,
|
||||
Transaction,
|
||||
TransferLink,
|
||||
TxnType,
|
||||
User,
|
||||
)
|
||||
@@ -134,7 +136,16 @@ def list_transactions(
|
||||
if category_id is not None:
|
||||
q = q.filter(Transaction.category_id == category_id)
|
||||
if uncategorized:
|
||||
q = q.filter(Transaction.category_id.is_(None), Transaction.type != TxnType.transfer)
|
||||
# Verknüpfte Buchungen sind erledigt: Sie gehören zu einem Übertrag und
|
||||
# zählen in keiner Auswertung. Sie hier nach einer Kategorie zu fragen,
|
||||
# verlangt Arbeit, die nichts bewirkt.
|
||||
verknuepft = union(
|
||||
select(TransferLink.from_txn_id).where(TransferLink.owner_id == user.id),
|
||||
select(TransferLink.to_txn_id).where(TransferLink.owner_id == user.id),
|
||||
)
|
||||
q = q.filter(Transaction.category_id.is_(None),
|
||||
Transaction.type != TxnType.transfer,
|
||||
Transaction.id.notin_(verknuepft))
|
||||
if type is not None:
|
||||
q = q.filter(Transaction.type == type)
|
||||
if date_from is not None:
|
||||
|
||||
Reference in New Issue
Block a user