public function index(Application $app, Request $request, $class_name_id, $id = null) { // $ClassName = $app['eccube.repository.class_name']->find($class_name_id); if (!$ClassName) { throw new NotFoundHttpException(); } if ($id) { $TargetClassCategory = $app['eccube.repository.class_category']->find($id); if (!$TargetClassCategory || $TargetClassCategory->getClassName() != $ClassName) { throw new NotFoundHttpException(); } } else { $TargetClassCategory = new \Eccube\Entity\ClassCategory(); $TargetClassCategory->setClassName($ClassName); } // $form = $app['form.factory']->createBuilder('admin_class_category', $TargetClassCategory)->getForm(); if ($request->getMethod() === 'POST') { $form->handleRequest($request); if ($form->isValid()) { $status = $app['eccube.repository.class_category']->save($TargetClassCategory); if ($status) { $app->addSuccess('admin.class_category.save.complete', 'admin'); return $app->redirect($app->url('admin_product_class_category', array('class_name_id' => $ClassName->getId()))); } else { $app->addError('admin.class_category.save.error', 'admin'); } } } $ClassCategories = $app['eccube.repository.class_category']->getList($ClassName); return $app->render('Product/class_category.twig', array('form' => $form->createView(), 'ClassName' => $ClassName, 'ClassCategories' => $ClassCategories, 'TargetClassCategory' => $TargetClassCategory)); }
public function index(Application $app, Request $request, $class_name_id, $id = null) { // $ClassName = $app['eccube.repository.class_name']->find($class_name_id); if (!$ClassName) { throw new NotFoundHttpException('商品規格が存在しません'); } if ($id) { $TargetClassCategory = $app['eccube.repository.class_category']->find($id); if (!$TargetClassCategory || $TargetClassCategory->getClassName() != $ClassName) { throw new NotFoundHttpException('商品規格が存在しません'); } } else { $TargetClassCategory = new \Eccube\Entity\ClassCategory(); $TargetClassCategory->setClassName($ClassName); } // $builder = $app['form.factory']->createBuilder('admin_class_category', $TargetClassCategory); $event = new EventArgs(array('builder' => $builder, 'ClassName' => $ClassName, 'TargetClassCategory' => $TargetClassCategory), $request); $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_CLASS_CATEGORY_INDEX_INITIALIZE, $event); $form = $builder->getForm(); if ($request->getMethod() === 'POST') { $form->handleRequest($request); if ($form->isValid()) { log_info('規格分類登録開始', array($id)); $status = $app['eccube.repository.class_category']->save($TargetClassCategory); if ($status) { log_info('規格分類登録完了', array($id)); $event = new EventArgs(array('form' => $form, 'ClassName' => $ClassName, 'TargetClassCategory' => $TargetClassCategory), $request); $app['eccube.event.dispatcher']->dispatch(EccubeEvents::ADMIN_PRODUCT_CLASS_CATEGORY_INDEX_COMPLETE, $event); $app->addSuccess('admin.class_category.save.complete', 'admin'); return $app->redirect($app->url('admin_product_class_category', array('class_name_id' => $ClassName->getId()))); } else { log_info('規格分類登録エラー', array($id)); $app->addError('admin.class_category.save.error', 'admin'); } } } $ClassCategories = $app['eccube.repository.class_category']->getList($ClassName); return $app->render('Product/class_category.twig', array('form' => $form->createView(), 'ClassName' => $ClassName, 'ClassCategories' => $ClassCategories, 'TargetClassCategory' => $TargetClassCategory)); }