make details for Comic, Artist and Issue clickable, add CustomField to select Comic and Issue

This commit is contained in:
Thomas Peetz
2025-06-05 17:58:27 +02:00
parent ea9f596abe
commit b4a0c2d7a5
11 changed files with 160 additions and 28 deletions
+18 -1
View File
@@ -10,7 +10,24 @@ router = APIRouter(include_in_schema=False, prefix="/comic")
@router.get("/comics")
def get_comics(db: SessionDep, request: Request, msg: str | None = None):
comics = db.query(Comic).all()
params = request.query_params
query = params.get("query")
filter = {}
completed = params.get('completed') == "on"
if completed:
filter['completed'] = True
order = params.get("order") == "on"
if order:
filter['current_order'] = True
if query is not None and len(query) > 0:
filter['title'] = query
if len(filter) > 0:
if "title" in filter:
comics = db.query(Comic).filter(Comic.title.ilike(f'%{query}%'))
else:
comics = db.query(Comic).filter_by(**filter).all()
else:
comics = db.query(Comic).all()
return templates.TemplateResponse("comic/comics.html", {"request": request, "msg": msg, "comics": comics})
@router.get("/comics/{comic_id}")