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")
|
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 ----------
|
# ---------- Image Upload ----------
|
||||||
|
|
||||||
@router.post("/postcards/{postcard_id}/image/{side}")
|
@router.post("/postcards/{postcard_id}/image/{side}")
|
||||||
|
|||||||
@@ -5,6 +5,11 @@
|
|||||||
<h1>{{ postcard.card_number }}</h1>
|
<h1>{{ postcard.card_number }}</h1>
|
||||||
<div>
|
<div>
|
||||||
<a href="/postcards/{{ postcard.id }}/edit" class="btn">编辑</a>
|
<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">
|
<form method="post" action="/postcards/{{ postcard.id }}/delete" class="inline">
|
||||||
<button type="submit" class="btn btn-danger" onclick="return confirm('确定删除?')">删除</button>
|
<button type="submit" class="btn btn-danger" onclick="return confirm('确定删除?')">删除</button>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -34,6 +34,11 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
<span>← {{ pc.sender_name or '-' }}</span>
|
<span>← {{ pc.sender_name or '-' }}</span>
|
||||||
{% endif %}
|
{% 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>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
Reference in New Issue
Block a user