feat: Certain fragt in der Buchungsliste nach, ob es ein Uebertrag ist
Die Erkennung gab es laengst – aber nur auf der Seite "Zu erledigen", in einer Karte, die man erst finden muss. Wer in der Buchungsliste steht und die zweite Haelfte eines Uebertrags sieht, greift stattdessen zum ↔-Knopf und legt einen zweiten Uebertrag an. Genau so ist heute eine Zahlung doppelt verschoben worden. Jetzt steht die Frage in der Zeile: "Uebertrag von/nach Revolut CHF?" mit Verbinden und Ignorieren. Ignorieren wird gemerkt, sonst fragte Certain bei jedem Laden erneut. Dafuer gibt es die Suche jetzt auch als reines Nachschlagen: ``finde`` mit ``nur_vorschlaege`` verknuepft nichts, und dahinter liegt GET /uebertraege/vorschlaege. Eine Ansicht, die bloss fragt, darf beim Hinsehen nichts veraendern – sonst entschiede das Anschauen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -226,8 +226,13 @@ def _eindeutig(a: Transaction, moegliche: list[Transaction],
|
||||
return moegliche[0] if len(konten) == 1 else None
|
||||
|
||||
|
||||
def finde(db: Session, user: User) -> dict:
|
||||
"""Paare suchen. Eindeutige verknüpfen, den Rest als Vorschlag melden."""
|
||||
def finde(db: Session, user: User, nur_vorschlaege: bool = False) -> dict:
|
||||
"""Paare suchen. Eindeutige verknüpfen, den Rest als Vorschlag melden.
|
||||
|
||||
Mit ``nur_vorschlaege`` wird NICHTS verknüpft – dann kommt alles als
|
||||
Vorschlag zurück. Das braucht jede Ansicht, die bloss fragen will („ist das
|
||||
ein Übertrag?"), ohne beim Hinsehen schon etwas zu verändern.
|
||||
"""
|
||||
kandidaten = _kandidaten(db, user)
|
||||
bezeichner = _kontobezeichner(db, user)
|
||||
nach_id = {}
|
||||
@@ -260,11 +265,15 @@ def finde(db: Session, user: User) -> dict:
|
||||
if not _hat_hinweis(a, gegen, bezeichner):
|
||||
vorschlaege.append((a, gegen))
|
||||
continue
|
||||
if nur_vorschlaege:
|
||||
vorschlaege.append((a, gegen))
|
||||
continue
|
||||
verbinde(db, user, a, gegen, automatisch=True)
|
||||
verbraucht.update((a.id, gegen.id))
|
||||
verknuepft += 1
|
||||
|
||||
db.commit()
|
||||
if not nur_vorschlaege:
|
||||
db.commit()
|
||||
return {
|
||||
"verknuepft": verknuepft,
|
||||
"vorschlaege": [
|
||||
|
||||
Reference in New Issue
Block a user