public function delete(Application $app, Request $request, $id)
{
$this->isTokenValid($app);
$repo = $app['eccube.repository.delivery'];
$Delivery = $repo->find($id);
if (!$Delivery) {
$app->deleteMessage();
return $app->redirect($app->url('admin_setting_shop_delivery'));
}
$Delivery->setDelFlg(Constant::ENABLED)->setRank(0);
$app['orm.em']->persist($Delivery);
$rank = 1;
$Delivs = $repo->findBy(array('del_flg' => Constant::DISABLED), array('rank' => 'ASC'));
foreach ($Delivs as $Deliv) {
if ($Deliv->getId() != $id) {
$Deliv->setRank($rank);
$rank++;
}
}
$app['orm.em']->flush();
$event = new EventArgs(array('Delivs' => $Delivs, 'Delivery' => $Delivery), $request);
$app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_SETTING_SHOP_DELIVERY_DELETE_COMPLETE, $event);
$app->addSuccess('admin.delete.complete', 'admin');
return $app->redirect($app->url('admin_setting_shop_delivery'));
}