コード例 #1
0
ファイル: PackController.php プロジェクト: elcodi/bamboo
 /**
  * Edit and Saves pack
  *
  * @param FormInterface $form    Form
  * @param PackInterface $pack    Pack
  * @param boolean       $isValid Is valid
  *
  * @return RedirectResponse Redirect response
  *
  * @Route(
  *      path = "/{id}",
  *      name = "admin_purchasable_pack_view",
  *      requirements = {
  *          "id" = "\d+",
  *      },
  *      methods = {"GET"}
  * )
  * @Route(
  *      path = "/{id}/edit",
  *      name = "admin_purchasable_pack_edit",
  *      requirements = {
  *          "id" = "\d+",
  *      },
  *      methods = {"GET"}
  * )
  * @Route(
  *      path = "/{id}/update",
  *      name = "admin_purchasable_pack_update",
  *      requirements = {
  *          "id" = "\d+",
  *      },
  *      methods = {"POST"}
  * )
  *
  * @Route(
  *      path = "/new",
  *      name = "admin_purchasable_pack_new",
  *      methods = {"GET"}
  * )
  * @Route(
  *      path = "/new/update",
  *      name = "admin_purchasable_pack_save",
  *      methods = {"POST"}
  * )
  *
  * @EntityAnnotation(
  *      class = {
  *          "factory" = "elcodi.factory.purchasable_pack",
  *          "method" = "create",
  *          "static" = false
  *      },
  *      mapping = {
  *          "id" = "~id~"
  *      },
  *      mappingFallback = true,
  *      name = "pack",
  *      persist = true
  * )
  * @FormAnnotation(
  *      class = "elcodi_admin_product_form_type_purchasable_pack",
  *      name  = "form",
  *      entity = "pack",
  *      handleRequest = true,
  *      validate = "isValid"
  * )
  *
  * @Template
  */
 public function editAction(FormInterface $form, PackInterface $pack, $isValid)
 {
     if ($isValid) {
         $firstImage = $pack->getSortedImages()->first();
         if ($firstImage instanceof ImageInterface) {
             $pack->setPrincipalImage($firstImage);
         }
         $this->flush($pack);
         $this->addFlash('success', $this->get('translator')->trans('admin.purchasable_pack.saved'));
         return $this->redirectToRoute('admin_purchasable_pack_list');
     }
     return ['pack' => $pack, 'form' => $form->createView()];
 }
コード例 #2
0
 /**
  * Resolve name for pack.
  *
  * @param PackInterface $pack Pack
  *
  * @return string Resolve pack name
  */
 private function resolvePackName(PackInterface $pack)
 {
     return $pack->getName();
 }