src/Controller/Super/LevelController.php line 37

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Super;
  3. use Symfony\Component\HttpFoundation\Request;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use App\Entity\Category;
  7. use App\Entity\Level;
  8. use App\Form\LevelType;
  9. /**
  10.  *
  11.  * @Route("/super/level/", name="super_level_")
  12.  * @author "wendell.zheng <wxzheng@ustc.edu.cn>"
  13.  */
  14. class LevelController extends BaseController
  15. {
  16.     /**
  17.      *
  18.      * @Route("list/{id}", name="list", requirements={"id"="\d+"})
  19.      */
  20.     public function list(Category $category): Response
  21.     {
  22.         return $this->render('super/level/list.html.twig', [
  23.             'name' => $this->getLowerName(),
  24.             'title' => $category->getName() . ' - 下属级别列表',
  25.             'category' => $category,
  26.             'entities' => $category->getLevels()
  27.         ]);
  28.     }
  29.     /**
  30.      *
  31.      * @Route("new/{id}", name="new", requirements={"id"="\d+"})
  32.      */
  33.     public function new(Category $categoryRequest $request): Response
  34.     {
  35.         $level = new Level();
  36.         $level->setCategory($category);
  37.         return $this->levelEdit($level$category$request);
  38.     }
  39.     /**
  40.      *
  41.      * @Route("edit/{id}", name="edit", requirements={"id"="\d+"})
  42.      */
  43.     public function edit(Level $levelRequest $request)
  44.     {
  45.         $category $level->getCategory();
  46.         return $this->levelEdit($level$category$request);
  47.     }
  48.     /**
  49.      *
  50.      * @Route("delete/{id}", name="delete", requirements={"id"="\d+"})
  51.      */
  52.     public function delete(Level $level): Response
  53.     {
  54.         return $this->doDelete($level'super_level_list', [
  55.             'id' => $level->getCategory()
  56.                 ->getId()
  57.         ]);
  58.     }
  59.     protected function levelEdit(Level $levelCategory $categoryRequest $request): Response
  60.     {
  61.         $title $level->getId() ? '编辑' '新建';
  62.         $form $this->createForm(LevelType::class, $level);
  63.         $form->handleRequest($request);
  64.         if ($form->isSubmitted() && $form->isValid()) {
  65.             $this->em->persist($level);
  66.             $this->em->flush();
  67.             $this->addFlash('level''操作成功');
  68.             return $this->redirectToRoute('super_level_list', [
  69.                 'id' => $category->getId()
  70.             ]);
  71.         }
  72.         return $this->render('super/level/edit.html.twig', [
  73.             'title' => $category->getName() . ' - ' $title '下属级别',
  74.             'category' => $category,
  75.             'form' => $form->createView()
  76.         ]);
  77.     }
  78. }