香典返し更新で不正な送付日でも部分コミットされ、負の金額が保存できる #2

Closed
opened 2026-09-27 10:15:03 +00:00 by joe · 1 comment
Owner

レビュー指摘(deferred minor)の正式なissue化。

現象

POST /return-gifts/<id>/updateで:

  1. sent_dateのパース失敗時にflashエラーを出すが処理を続行し、他フィールドはcommitされて「更新しました。」も表示される(矛盾メッセージ)
  2. actual_amount/suggested_amountは_int_or_noneで非数値を無通知スキップするが、負値はそのまま保存される(クライアント側のmin=0のみでサーバ検証なし)

対象

app/routes/return_gifts.py update_gift

修正方針

  • バリデーション失敗時は早期return(commitしない)
  • actual_amount/suggested_amountに>= 0チェックを追加
  • 回帰テスト追加
レビュー指摘(deferred minor)の正式なissue化。 ## 現象 `POST /return-gifts/<id>/update`で: 1. `sent_date`のパース失敗時にflashエラーを出すが処理を続行し、他フィールドはcommitされて「更新しました。」も表示される(矛盾メッセージ) 2. `actual_amount`/`suggested_amount`は`_int_or_none`で非数値を無通知スキップするが、負値はそのまま保存される(クライアント側の`min=0`のみでサーバ検証なし) ## 対象 `app/routes/return_gifts.py` `update_gift` ## 修正方針 - バリデーション失敗時は早期return(commitしない) - `actual_amount`/`suggested_amount`に`>= 0`チェックを追加 - 回帰テスト追加
Author
Owner

修正しました。バリデーションエラー(不正な送付日・負の金額・非数値)は早期returnで一切commitせず、flashエラーのみ表示します。部分コミット・矛盾メッセージ・負額保存が解消。テスト72件パス。

修正しました。バリデーションエラー(不正な送付日・負の金額・非数値)は早期returnで一切commitせず、flashエラーのみ表示します。部分コミット・矛盾メッセージ・負額保存が解消。テスト72件パス。
joe closed this issue 2026-09-27 10:57:43 +00:00
Sign in to join this conversation.
No labels
bug
cleanup
enhancement
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joe/sougi#2
No description provided.