プロジェクト

全般

プロフィール

機能 #707

完了

未発送(発送日未入力)の注文は配送完了報告をグレーアウトして操作できないようにする

本間 紀史 さんが8日前に追加. 8日前に更新.

ステータス:
終了
優先度:
通常
担当者:
開始日:
2026/08/21
期日:
進捗率:

0%

予定工数:

説明

事象・要望

admin の注文一覧で、発送日(shipped_on)が未入力=「発送済」になっていない注文でも、配送完了報告の欄が操作できてしまう

未発送のまま「配送完了報告」を押すと注文者へ発送完了メールが飛び、delivery_reported_at が記録されてステータスが「お届け済み」になる。発送していないのに完了扱いになるため、事故につながる。

やること

発送日が入っていない注文は、配送完了報告の欄を全てグレーアウトして操作できないようにする。

  • メールを送れないようにする
  • 「配送完了」に進めないようにする
  • 対象は「配送完了報告」「メール以外で発送連絡済」の両ボタンと、件名・本文の入力欄

実装メモ

  • 対象ファイル … app/views/admin/orders/index.html.erb の配送完了報告カラム(現状 delivery.delivery_reported_at.present? / delivery.persisted? のみで分岐しており、shipped_on を見ていない)
  • ビューの無効化だけでは不十分Admin::DeliveryReportsController#create にサーバ側のガードを入れ、shipped_on が未設定なら記録・メール送信を行わずエラーで戻す(フォームを無効化しても直接 POST できるため)
  • グレーアウト時は「発送日を入力すると操作できます」等の理由を添えると親切
  • 参考 … supplier 側(app/views/supplier/orders/index.html.erb)は既に shipped_on の有無で表示を出し分けている

補足

shipped_on は配送情報フォームの発送日を直接入力するか、追跡番号を入力すると Delivery 側で自動記録される(app/models/delivery.rb)。

関連: #703

本間 紀史 さんが8日前に更新

  • ステータス新規 から 進行中 に変更
  • 担当者本間 紀史 にセット

本間 紀史 さんが8日前に更新

PR を作成しました: https://github.com/init6/okinawan_eats/pull/127

ブランチ: task/707(develop へ rebase 済み・1 コミット)
テスト: bundle exec rspec 192 examples, 0 failures

ビュー側は fieldset disabled でグレーアウト、あわせて Admin::DeliveryReportsController に before_action のサーバ側ガードを入れた(disabled はブラウザ上の制限にすぎず直接 POST できるため)。

本間 紀史 さんが8日前に更新

  • ステータス進行中 から 終了 に変更

PR #127 を develop へマージしたため完了。

https://github.com/init6/okinawan_eats/pull/127

未発送(shipped_on 未入力)の注文は配送完了報告欄を fieldset disabled でグレーアウトし、あわせて Admin::DeliveryReportsController にサーバ側ガードを追加した。

他の形式にエクスポート: Atom PDF