Update gift cancellation to include received status
Allow cancellation of gifts with a status of either RESERVED or RECEIVED. This ensures consistency in handling gift statuses during reservation management across the application.
This commit is contained in:
@@ -916,7 +916,7 @@ def cancel_gift_reservation(
|
|||||||
raise HTTPException(status_code=404, detail="Gift item not found")
|
raise HTTPException(status_code=404, detail="Gift item not found")
|
||||||
|
|
||||||
# Check if gift is reserved
|
# Check if gift is reserved
|
||||||
if gift.status != GiftStatus.RESERVED:
|
if gift.status not in [GiftStatus.RESERVED, GiftStatus.RECEIVED]:
|
||||||
raise HTTPException(status_code=400, detail="Gift is not currently reserved")
|
raise HTTPException(status_code=400, detail="Gift is not currently reserved")
|
||||||
|
|
||||||
# Check if guest exists
|
# Check if guest exists
|
||||||
@@ -931,7 +931,7 @@ def cancel_gift_reservation(
|
|||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
raise HTTPException(status_code=400, detail=str(e))
|
raise HTTPException(status_code=400, detail=str(e))
|
||||||
|
|
||||||
# Missing the return statement here, which is also a problem
|
|
||||||
return gift_item_crud.cancel_reservation(db, gift_id=item_id, guest_id=guest_id)
|
return gift_item_crud.cancel_reservation(db, gift_id=item_id, guest_id=guest_id)
|
||||||
|
|
||||||
# ===== GIFT PURCHASES ===== #
|
# ===== GIFT PURCHASES ===== #
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ class CRUDGiftItem(CRUDBase[GiftItem, GiftItemCreate, GiftItemUpdate]):
|
|||||||
raise ValueError(f"Guest with ID {guest_id} not found")
|
raise ValueError(f"Guest with ID {guest_id} not found")
|
||||||
|
|
||||||
# Only perform the operation if the gift is reserved
|
# Only perform the operation if the gift is reserved
|
||||||
if gift.status == GiftStatus.RESERVED:
|
if gift.status in [GiftStatus.RESERVED, GiftStatus.RECEIVED]:
|
||||||
# Check if this guest has actually reserved this gift
|
# Check if this guest has actually reserved this gift
|
||||||
if guest in gift.reserved_by:
|
if guest in gift.reserved_by:
|
||||||
gift.reserved_by.remove(guest)
|
gift.reserved_by.remove(guest)
|
||||||
|
|||||||
Reference in New Issue
Block a user