gc-server3 1 месяц назад
Родитель
Сommit
4f56484eb8
2 измененных файлов с 49 добавлено и 45 удалено
  1. 47 0
      app/jinja_templates.py
  2. 2 45
      app/routes.py

+ 47 - 0
app/jinja_templates.py

@@ -0,0 +1,47 @@
+from datetime import datetime
+
+from fastapi.templating import Jinja2Templates
+
+templates = Jinja2Templates(directory="templates")
+
+
+def number_format(input: float) -> str:
+    return format(input, "0,.2f").replace(".", ":").replace(",", ".").replace(":", ",")
+
+
+def date_format(input: datetime) -> str:
+    if input is None:
+        return ""
+    return input.strftime("%d.%m.%Y")
+
+
+def checked(input: str) -> str:
+    if input in ("J", "1", 1, True):
+        return "checked"
+    return ""
+
+
+def selected(input: str) -> str:
+    if input in ("J", "1", 1, True):
+        return "selected"
+    return ""
+
+
+def truefalse(input: str) -> str:
+    if input in ("J", "1", 1, True):
+        return "true"
+    return "false"
+
+
+def show(input: str) -> str:
+    if input in ("J", "1", 1, True):
+        return "show"
+    return ""
+
+
+templates.env.filters["number_format"] = number_format
+templates.env.filters["date_format"] = date_format
+templates.env.filters["checked"] = checked
+templates.env.filters["selected"] = selected
+templates.env.filters["truefalse"] = truefalse
+templates.env.filters["show"] = show

+ 2 - 45
app/routes.py

@@ -15,17 +15,16 @@ from fastapi.responses import (
     RedirectResponse,
     StreamingResponse,
 )
-from fastapi.templating import Jinja2Templates
 from sqlalchemy import text
 from sqlalchemy.orm import Session
 
-from .ldap import ldap_authenticate
 from .db import get_session
+from .jinja_templates import templates
+from .ldap import ldap_authenticate
 from .models import Bemerkung, Forderung
 from .schemas import BemerkungIn
 
 router = APIRouter()
-templates = Jinja2Templates(directory="templates")
 
 
 @router.get("/", response_class=HTMLResponse)
@@ -60,48 +59,6 @@ def forderungsliste(request: Request, db: Session = Depends(get_session), limit:
     return templates.TemplateResponse(request, "base/list.html", {"request": request, "forderungen": q})
 
 
-def number_format(input: float) -> str:
-    return format(input, "0,.2f").replace(".", ":").replace(",", ".").replace(":", ",")
-
-
-def date_format(input: datetime) -> str:
-    if input is None:
-        return ""
-    return input.strftime("%d.%m.%Y")
-
-
-def checked(input: str) -> str:
-    if input in ("J", "1", 1, True):
-        return "checked"
-    return ""
-
-
-def selected(input: str) -> str:
-    if input in ("J", "1", 1, True):
-        return "selected"
-    return ""
-
-
-def truefalse(input: str) -> str:
-    if input in ("J", "1", 1, True):
-        return "true"
-    return "false"
-
-
-def show(input: str) -> str:
-    if input in ("J", "1", 1, True):
-        return "show"
-    return ""
-
-
-templates.env.filters["number_format"] = number_format
-templates.env.filters["date_format"] = date_format
-templates.env.filters["checked"] = checked
-templates.env.filters["selected"] = selected
-templates.env.filters["truefalse"] = truefalse
-templates.env.filters["show"] = show
-
-
 def single_quote(text: str):
     return "'" + unquote(text) + "'"