src/Controller/Super/AnnouncementAttachmentController.php line 23

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\Announcement;
  7. use App\Entity\AnnouncementAttachment;
  8. use App\Form\AttachmentType;
  9. /**
  10.  *
  11.  * @Route("/super/announcement-attachment/", name="super_announcement_attachment_")
  12.  * @author "wendell.zheng <wxzheng@ustc.edu.cn>"
  13.  */
  14. class AnnouncementAttachmentController extends BaseController
  15. {
  16.     /**
  17.      *
  18.      * @Route("list/{id}", name="list", requirements={"id"="\d+"})
  19.      */
  20.     public function list(Announcement $announcement): Response
  21.     {
  22.         return $this->render('super/announcement_attachment/list.html.twig', [
  23.             'name' => $this->getLowerName(),
  24.             'title' => $announcement->getName() . ' - 附件列表',
  25.             'announcement' => $announcement,
  26.             'entities' => $announcement->getAttachments()
  27.         ]);
  28.     }
  29.     /**
  30.      *
  31.      * @Route("new/{id}", name="new", requirements={"id"="\d+"})
  32.      */
  33.     public function new(Announcement $announcementRequest $request): Response
  34.     {
  35.         $attachment = new AnnouncementAttachment();
  36.         $attachment->setAnnouncement($announcement);
  37.         $form $this->createForm(AttachmentType::class, $attachment);
  38.         $form->handleRequest($request);
  39.         if ($form->isSubmitted() && $form->isValid()) {
  40.             $this->em->persist($attachment);
  41.             $this->em->flush();
  42.             $this->addFlash('notice''操作成功');
  43.             return $this->redirectToRoute($this->getListRoute(), [
  44.                 'id' => $announcement->getId()
  45.             ]);
  46.         }
  47.         return $this->render('super/announcement_attachment/edit.html.twig', [
  48.             'name' => $this->getLowerName(),
  49.             'title' => $announcement->getName() . ' - 新建附件',
  50.             'announcement' => $announcement,
  51.             'form' => $form->createView()
  52.         ]);
  53.     }
  54.     /**
  55.      *
  56.      * @Route("delete/{id}", name="delete", requirements={"id"="\d+"})
  57.      */
  58.     public function delete(AnnouncementAttachment $attachment): Response
  59.     {
  60.         return $this->doDelete($attachment'super_announcement_attachment_list', [
  61.             'id' => $attachment->getAnnouncement()
  62.                 ->getId()
  63.         ]);
  64.     }
  65. }