受注の一括削除が別の受注を削除するため、一括削除を撤去する - #7209
ttokoro20240902 wants to merge 1 commit into
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 🧰 Additional context used📚 Code guidelines (2)No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (6)
💤 Files with no reviewable changes (5)
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthrough管理画面の受注一括削除機能を削除しました。ルート、一覧画面の操作要素、確認用翻訳を除去しました。HTTPテストは、エンドポイントが404を返し、受注が残ることを検証します。E2Eの受注削除テストも削除しました。 Changes受注一括削除の削除
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Suggested reviewers: Merge Risk: ⚪ Minimal · up to Bulk order deletion is intentionally unavailable, and the updated HTTP test verifies that requests return 404 without deleting orders. The checked-in ZAP cleanup workflow does not depend on the old endpoint, so no concrete merge-blocking risk remains. Security Architecture ReviewSecurity architecture risk: ⚪ Minimal · up to The change removes the faulty bulk-deletion operation rather than adding another deletion mechanism. The compared implementation reduces destructive reachability, and the updated test asserts that the former request returns 404 while orders remain. Retained concerns Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. うさぎは一覧をのぞきこむ Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 4.4 #7209 +/- ##
==========================================
+ Coverage 78.47% 78.51% +0.04%
==========================================
Files 651 651
Lines 31384 31373 -11
==========================================
+ Hits 24628 24634 +6
+ Misses 6756 6739 -17
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
概要(Overview・Refs Issue)
Fixes #7208
管理画面の受注の一括削除 (
/admin/order/bulk_delete) を撤去します。受注一覧のチェックボックスの値は出荷 (Shipping) の ID ですが、
OrderController::bulkDelete()は受け取った ID を受注の ID としてOrderRepository::find()に渡していました。複数配送の受注が 1 件でもあると以降の ID がずれ、選んだものとは別の受注が物理削除されます。方針(Policy)
実装に関する補足(Appendix)
OrderController::bulkDelete()とadmin_order_bulk_deleteルートを削除しました。不要になったuse Eccube\Common\Constant;も削除しています。admin/Order/index.twigから、#btn_bulk_deleteのハンドラ、{# TODO 削除処理は将来バージョンで対応 ... #}のコメント、#bulkDeleteModalを削除しました。<ul id="bulkErrors">は、ステータス一括変更のモーダルと ID が重複していました。confirmationModal_js.twigが参照するのはステータス一括変更側の要素なので、動作に影響はありません。admin.order.delete__confirm_title/admin.order.delete__confirm_message(ja / en) を削除しました。zap/containing_urls.txtに/admin/order/bulk_deleteが残っています。ZAP のシナリオ整備 (ZAP: zst シナリオを 4.4 に移行し、4.4 の新機能をスキャン対象に加える #7190) の範囲なので、この PR では変更していません (今後は 404 になります)。テスト(Test)
OrderControllerTest::testBulkDelete(受注の ID を送っていたため不具合を検出できていなかったもの) を、testBulkDeleteIsNotAvailableに置き換えました。302 is identical to 404で失敗することを確認しています。order_受注削除 (EA0401-UC08-T01)を削除しました (非表示のモーダルを JS で開いてボタンを押していたテストです)。vendor/bin/phpunit tests/Eccube/Tests/Web/Admin/Order/OrderControllerTest.php: OK (18 tests)vendor/bin/phpstan analyse src: No errorsvendor/bin/php-cs-fixer/vendor/bin/rector --dry-run(変更ファイル): 差分なしnpx playwright test --project=setup --project=admin-tests admin-order.spec.ts: 18 passed (一括メール送信・ステータス一括変更・納品書の一括出力を含む)相談(Discussion)
なし
マイナーバージョン互換性保持のための制限事項チェックリスト
4.4 はメジャー更新のため、次の破壊的変更を含みます。
admin_order_bulk_deleteを削除しています移行時の注意:
app/template/admin/Order/index.twigをコアからコピーして上書きしている場合、url('admin_order_bulk_delete')が残っているとルートが見つからず受注一覧がエラーになります。上書きしたテンプレートから、#btn_bulk_deleteのハンドラと#bulkDeleteModalを削除してください。admin_order_bulk_deleteを参照しているプラグインも同様です。レビュワー確認項目
🤖 Generated with Claude Code
Summary by CodeRabbit