Skip to content

Commit

Permalink
Merge pull request #2053 from trebla-on/issue_1729
Browse files Browse the repository at this point in the history
受注登録・編集:複数配送時、商品の削除/お届け先の削除ボタン追加
  • Loading branch information
ryo-endo committed Feb 6, 2017
2 parents a2b736b + 8c962fa commit 090cd76
Show file tree
Hide file tree
Showing 3 changed files with 219 additions and 39 deletions.
26 changes: 26 additions & 0 deletions src/Eccube/Controller/Admin/Order/EditController.php
Expand Up @@ -62,11 +62,25 @@ public function index(Application $app, Request $request, $id = null)
// 編集前の受注情報を保持
$OriginOrder = clone $TargetOrder;
$OriginalOrderDetails = new ArrayCollection();
// 編集前のお届け先情報を保持
$OriginalShippings = new ArrayCollection();
// 編集前のお届け先のアイテム情報を保持
$OriginalShipmentItems = new ArrayCollection();

foreach ($TargetOrder->getOrderDetails() as $OrderDetail) {
$OriginalOrderDetails->add($OrderDetail);
}

// 編集前の情報を保持
foreach ($TargetOrder->getShippings() as $tmpOriginalShippings) {
foreach ($tmpOriginalShippings->getShipmentItems() as $tmpOriginalShipmentItem) {
// アイテム情報
$OriginalShipmentItems->add($tmpOriginalShipmentItem);
}
// お届け先情報
$OriginalShippings->add($tmpOriginalShippings);
}

$builder = $app['form.factory']
->createBuilder('order', $TargetOrder);

Expand Down Expand Up @@ -150,13 +164,25 @@ public function index(Application $app, Request $request, $id = null)
$shipmentItems = $Shipping->getShipmentItems();
/** @var \Eccube\Entity\ShipmentItem $ShipmentItem */
foreach ($shipmentItems as $ShipmentItem) {
// 削除予定から商品アイテムを外す
$OriginalShipmentItems->removeElement($ShipmentItem);
$ShipmentItem->setOrder($TargetOrder);
$ShipmentItem->setShipping($Shipping);
$app['orm.em']->persist($ShipmentItem);
}
// 削除予定からお届け先情報を外す
$OriginalShippings->removeElement($Shipping);
$Shipping->setOrder($TargetOrder);
$app['orm.em']->persist($Shipping);
}
// 商品アイテムを削除する
foreach ($OriginalShipmentItems as $OriginalShipmentItem) {
$app['orm.em']->remove($OriginalShipmentItem);
}
// お届け先情報削除する
foreach ($OriginalShippings as $OriginalShipping) {
$app['orm.em']->remove($OriginalShipping);
}
} else {

$NewShipmentItems = new ArrayCollection();
Expand Down

0 comments on commit 090cd76

Please sign in to comment.