From b30914434902220f392468bdfc27b66377232dac Mon Sep 17 00:00:00 2001 From: Zichao Lin Date: Tue, 28 Jul 2026 07:58:14 +0800 Subject: [PATCH] fix(postcard): mark-sent also uses fetch+reload, stays on current page --- app/routers/web.py | 6 +++--- app/templates/postcard_detail.html | 4 +--- app/templates/postcards.html | 4 +--- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/app/routers/web.py b/app/routers/web.py index 3faabf3..ac8723a 100644 --- a/app/routers/web.py +++ b/app/routers/web.py @@ -919,7 +919,7 @@ async def mark_delivered( @router.post("/postcards/{postcard_id}/mark-sent") -def mark_sent( +async def mark_sent( postcard_id: int, user: User = Depends(get_current_user_web), db: Session = Depends(get_db), @@ -932,12 +932,12 @@ def mark_sent( .first() ) if not pc: - return _redirect("/profiles") + return JSONResponse({"ok": False}, status_code=404) pc.status = "sent" if not pc.send_time: pc.send_time = datetime.now() db.commit() - return _redirect(f"/postcards/{postcard_id}") + return JSONResponse({"ok": True}) # ---------- Image Upload ---------- diff --git a/app/templates/postcard_detail.html b/app/templates/postcard_detail.html index 21f0ca8..baeb74e 100644 --- a/app/templates/postcard_detail.html +++ b/app/templates/postcard_detail.html @@ -10,9 +10,7 @@
{{ 'pc_detail.edit'|t(user.language) }} {% if postcard.status == 'pending' %} -
- -
+ {% elif postcard.status == 'sent' %} {% endif %} diff --git a/app/templates/postcards.html b/app/templates/postcards.html index 72672ed..eea3ff2 100644 --- a/app/templates/postcards.html +++ b/app/templates/postcards.html @@ -56,9 +56,7 @@ {% if pc.notes %}{{ pc.notes[:50] }}{% if pc.notes|length > 50 %}…{% endif %}{% endif %}
{% if pc.status == 'pending' %} -
- -
+ {% elif pc.status == 'sent' %} {% endif %}