feat(ui): add mark-delivered button on sent postcards with auto today date
This commit is contained in:
@@ -339,6 +339,27 @@ def postcard_delete(postcard_id: int, user: User = Depends(get_current_user_web)
|
||||
return _redirect(f"/profiles/{pid}/postcards")
|
||||
|
||||
|
||||
@router.post("/postcards/{postcard_id}/mark-delivered")
|
||||
def mark_delivered(
|
||||
postcard_id: int,
|
||||
user: User = Depends(get_current_user_web),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
pc = (
|
||||
db.query(Postcard)
|
||||
.join(Profile)
|
||||
.filter(Postcard.id == postcard_id, Profile.user_id == user.id)
|
||||
.first()
|
||||
)
|
||||
if not pc:
|
||||
return _redirect("/profiles")
|
||||
pc.status = "delivered"
|
||||
if not pc.arrival_time:
|
||||
pc.arrival_time = datetime.now()
|
||||
db.commit()
|
||||
return _redirect(f"/postcards/{postcard_id}")
|
||||
|
||||
|
||||
# ---------- Image Upload ----------
|
||||
|
||||
@router.post("/postcards/{postcard_id}/image/{side}")
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
<h1>{{ postcard.card_number }}</h1>
|
||||
<div>
|
||||
<a href="/postcards/{{ postcard.id }}/edit" class="btn">编辑</a>
|
||||
{% if postcard.status == 'sent' %}
|
||||
<form method="post" action="/postcards/{{ postcard.id }}/mark-delivered" class="inline">
|
||||
<button type="submit" class="btn btn-primary" onclick="return confirm('确认已送达?')">标记已送达</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
<form method="post" action="/postcards/{{ postcard.id }}/delete" class="inline">
|
||||
<button type="submit" class="btn btn-danger" onclick="return confirm('确定删除?')">删除</button>
|
||||
</form>
|
||||
|
||||
@@ -34,6 +34,11 @@
|
||||
{% else %}
|
||||
<span>← {{ pc.sender_name or '-' }}</span>
|
||||
{% endif %}
|
||||
{% if pc.status == 'sent' %}
|
||||
<form method="post" action="/postcards/{{ pc.id }}/mark-delivered" class="inline" onclick="event.stopPropagation();">
|
||||
<button type="submit" class="btn btn-sm btn-primary" onclick="return confirm('确认已送达?')">✓ 标记已送达</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
</a>
|
||||
{% endfor %}
|
||||
|
||||
Reference in New Issue
Block a user