feat: Budget – mehrere Monate nebeneinander + Kopieren Monat<->Vorlage
- Umschalter 1·2·3: Monate nebeneinander (responsives Raster, auf schmalem
Schirm gestapelt); prev/next verschiebt das ganze Fenster
- Je Monat: „Als Standard festlegen" (Monat -> Vorlage) und „Standard
übernehmen" (Vorlage -> Monat, überschreibt), plus Zurücksetzen
- Backend: copy_month_to_template / copy_template_to_month + Endpunkte
POST /budget/template/from-month/{label} und /budget/{label}/from-template
- Test fürs Kopieren; globale .grow-Utility ergänzt
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -254,3 +254,26 @@ def reset_month(
|
||||
budget.parse_label(label)
|
||||
budget.reset_month(db, user, label)
|
||||
return _build_view(db, user, label)
|
||||
|
||||
|
||||
# --- Kopieren Monat <-> Vorlage --------------------------------------------
|
||||
|
||||
|
||||
@router.post("/template/from-month/{label}")
|
||||
def template_from_month(
|
||||
label: str, db: Session = Depends(get_db), user: User = Depends(get_current_user)
|
||||
) -> dict:
|
||||
"""„Diesen Monat als Standard festlegen": Monat -> Vorlage."""
|
||||
budget.parse_label(label)
|
||||
budget.copy_month_to_template(db, user, label)
|
||||
return get_template(db, user)
|
||||
|
||||
|
||||
@router.post("/{label}/from-template")
|
||||
def month_from_template(
|
||||
label: str, db: Session = Depends(get_db), user: User = Depends(get_current_user)
|
||||
) -> dict:
|
||||
"""„Standard in diesen Monat übernehmen": Vorlage -> Monat (überschreibt)."""
|
||||
budget.parse_label(label)
|
||||
budget.copy_template_to_month(db, user, label)
|
||||
return _build_view(db, user, label)
|
||||
|
||||
Reference in New Issue
Block a user