Eccube\Controller\Admin\Product\ClassCategoryController::delete PHP Метод

delete() публичный Метод

public delete ( Application $app, Request $request, $class_name_id, $id )
$app Eccube\Application
$request Symfony\Component\HttpFoundation\Request
    public function delete(Application $app, Request $request, $class_name_id, $id)
    {
        $this->isTokenValid($app);
        $ClassName = $app['eccube.repository.class_name']->find($class_name_id);
        if (!$ClassName) {
            throw new NotFoundHttpException('商品規格が存在しません');
        }
        log_info('規格分類削除開始', array($id));
        $TargetClassCategory = $app['eccube.repository.class_category']->find($id);
        if (!$TargetClassCategory || $TargetClassCategory->getClassName() != $ClassName) {
            $app->deleteMessage();
            return $app->redirect($app->url('admin_product_class_category', array('class_name_id' => $ClassName->getId())));
        }
        $num = $app['eccube.repository.product_class']->createQueryBuilder('pc')->select('count(pc.id)')->where('pc.ClassCategory1 = :id OR pc.ClassCategory2 = :id')->setParameter('id', $id)->getQuery()->getSingleScalarResult();
        if ($num > 0) {
            $app->addError('admin.class_category.delete.hasproduct', 'admin');
        } else {
            $status = $app['eccube.repository.class_category']->delete($TargetClassCategory);
            if ($status === true) {
                log_info('規格分類削除完了', array($id));
                $event = new EventArgs(array('ClassName' => $ClassName, 'TargetClassCategory' => $TargetClassCategory), $request);
                $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_CLASS_CATEGORY_DELETE_COMPLETE, $event);
                $app->addSuccess('admin.class_category.delete.complete', 'admin');
            } else {
                log_info('規格分類削除エラー', array($id));
                $app->addError('admin.class_category.delete.error', 'admin');
            }
        }
        return $app->redirect($app->url('admin_product_class_category', array('class_name_id' => $ClassName->getId())));
    }
ClassCategoryController