Update fastapi and fix warnings

This commit is contained in:
2026-05-17 09:15:06 +02:00
parent e8266ffdc1
commit 3dc0031c20
6 changed files with 100 additions and 17 deletions

View File

@@ -28,9 +28,9 @@ async def landing_page(
transactions = sorted(transactions, key=lambda t: t.timestamp, reverse=True)
return templates.TemplateResponse(
request,
"index.html.jinja",
context={
"request": request,
"user": user,
"transactions": transactions,
"focused_account": focused_account,

View File

@@ -35,8 +35,9 @@ async def user_list(request: Request, session: SessionDep, user: UserDep):
groups = session.scalars(select(UserGroup)).all()
templates = get_jinja_renderer()
return templates.TemplateResponse(
request,
"users.html.jinja",
context={"request": request, "users": users, "all_groups": groups},
context={"users": users, "all_groups": groups},
)
@@ -91,8 +92,9 @@ async def group_list(request: Request, session: SessionDep, user: UserDep):
groups = session.scalars(select(UserGroup)).all()
templates = get_jinja_renderer()
return templates.TemplateResponse(
request,
"groups.html.jinja",
context={"request": request, "groups": groups},
context={"groups": groups},
)
@@ -195,8 +197,9 @@ async def get_products(
templates = get_jinja_renderer()
return templates.TemplateResponse(
request,
"products.html.jinja",
context={"request": request, "products": products},
context={"products": products},
)
@@ -211,9 +214,9 @@ async def edit_product_get(
templates = get_jinja_renderer()
return templates.TemplateResponse(
request,
"product_edit.html.jinja",
context={
"request": request,
"product": product,
"edit_mode": True,
"areas": areas,
@@ -265,8 +268,9 @@ async def new_product_get(
templates = get_jinja_renderer()
return templates.TemplateResponse(
request,
"product_edit.html.jinja",
context={"request": request, "edit_mode": False, "areas": areas},
context={"edit_mode": False, "areas": areas},
)
@@ -310,8 +314,9 @@ async def get_accounts(
users = session.scalars(select(User)).all()
return templates.TemplateResponse(
request,
"accounts.html.jinja",
context={"request": request, "accounts": accounts, "users": users},
context={"accounts": accounts, "users": users},
)

View File

@@ -20,8 +20,9 @@ async def get_shop(request: Request, session: SessionDep):
query = select(Area)
areas = session.scalars(query).all()
return templates.TemplateResponse(
request,
"shop.html.jinja",
context={"request": request, "areas": areas},
context={"areas": areas},
)
@@ -29,9 +30,9 @@ async def get_shop(request: Request, session: SessionDep):
async def get_cart(request: Request, session: SessionDep, user: UserDep):
return templates.TemplateResponse(
request,
"order.html.jinja",
context={
"request": request,
"user": user,
"order": user.shopping_cart,
"is_cart": True,
@@ -65,8 +66,9 @@ async def get_shop_area(request: Request, session: SessionDep, area_id: int):
query = select(Area).where(Area.id == area_id)
area = session.scalars(query).one()
return templates.TemplateResponse(
request,
"area.html.jinja",
context={"request": request, "area": area},
context={"area": area},
)
@@ -143,6 +145,7 @@ async def get_order_details(
)
return templates.TemplateResponse(
request,
"order.html.jinja",
context={"request": request, "order": order, "is_cart": False},
context={"order": order, "is_cart": False},
)

View File

@@ -2,7 +2,7 @@ import datetime
import decimal
import typing
from sqlalchemy import Column, ForeignKey, Numeric, Table, func, select
from sqlalchemy import Column, ForeignKey, Numeric, Table, and_, func, select
from sqlalchemy.exc import NoResultFound
from sqlalchemy.orm import (
DeclarativeBase,
@@ -175,8 +175,17 @@ class Product(Base):
)
current_details: Mapped["ProductDetails"] = relationship(
"ProductDetails",
primaryjoin="and_(Product.id == ProductDetails.product_id, ProductDetails.valid_from <= func.now())",
order_by="ProductDetails.valid_from.desc()",
primaryjoin=lambda: and_(
Product.id == ProductDetails.product_id,
ProductDetails.valid_from
== select(func.max(ProductDetails.valid_from))
.where(
ProductDetails.product_id == Product.id,
ProductDetails.valid_from <= func.now(),
)
.correlate(Product)
.scalar_subquery(),
),
uselist=False,
viewonly=True,
)