diff --git a/finance/app/routers/gui.py b/finance/app/routers/gui.py
index b5b71ed..eb75313 100644
--- a/finance/app/routers/gui.py
+++ b/finance/app/routers/gui.py
@@ -7,6 +7,7 @@ from sqlalchemy import func, select
from sqlalchemy.orm import Session
from app.auth import COOKIE, session_valid
+from app.config import get_settings
from app.db import get_session
from app.engine.loans import add_months
from app.engine.recurrence import occurrences
@@ -30,6 +31,22 @@ PAGE_SIZE = 50
templates = Jinja2Templates(directory="app/templates")
templates.env.globals["app_version"] = get_version()
+
+
+def grafana_public_base(request: Request) -> str:
+ """Öffentliche Grafana-Basis-URL für Browser-Links/iframes. Ist
+ FB_GRAFANA_PUBLIC_URL gesetzt (Reverse-Proxy-Betrieb, z.B.
+ 'https://fb.example.de/grafana/'), wird sie ohne abschließenden
+ Slash zurückgegeben; sonst der lokale Fallback http:// Kein Diagramm sichtbar? Einmal in
- Grafana anmelden
+ Grafana anmelden
(gleiches Passwort wie hier).Grafana-Dashboard
-
+
{% if row.result.below_zero_date %}Unterschreitet 0 € ab {{ row.result.below_zero_date.strftime('%d.%m.%Y') }}
{% endif %}
{% if row.result.below_threshold_date %}Unterschreitet Warnschwelle ab {{ row.result.below_threshold_date.strftime('%d.%m.%Y') }}
{% endif %}
- Kurven in Grafana ansehen.
+ Kurven in Grafana ansehen.
Noch nicht durchgerechnet.
diff --git a/finance/tests/test_gui.py b/finance/tests/test_gui.py index fa3bcf4..6809d19 100644 --- a/finance/tests/test_gui.py +++ b/finance/tests/test_gui.py @@ -1,6 +1,7 @@ from datetime import date, timedelta from decimal import Decimal +from app.config import get_settings from app.formats import eur from app.models.tables import (Account, Loan, PlannedItem, RecurringItem, Scenario, ScenarioModifier, ScenarioPlannedItem) @@ -453,3 +454,32 @@ def test_neuer_eintrag_formular_struktur(client, db): assert 'class="value-label"' in r # dynamisches Wert-Label assert 'Für diese Eintragsart nicht relevant' in r # Tooltip an Umschaltfeldern assert '