<?php
namespace App\Controller\Super;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Entity\ReviewBatch;
use App\Repository\ReviewRepository;
use App\Entity\Review;
use App\Form\ReviewType;
/**
*
* @Route("/super/review/", name="super_review_")
* @author "wendell.zheng <wxzheng@ustc.edu.cn>"
*/
class ReviewController extends BaseController
{
/**
*
* @Route("list/{id}", name="list", requirements={"id"="\d+"})
*/
public function list(ReviewBatch $reviewBatch, ReviewRepository $rr): Response
{
$entities = $rr->findByReviewBatch($reviewBatch);
return $this->render('super/review/list.html.twig', [
'name' => $this->getLowerName(),
'title' => $reviewBatch->getName() . ' - 项目列表',
'reviewBatch' => $reviewBatch,
'entities' => $entities
]);
}
/**
*
* @Route("edit/{id}", name="edit", requirements={"id"="\d+"})
*/
public function edit(Review $review, Request $request): Response
{
$reviewBatch = $review->getReviewBatch();
$title = $review->getId() ? '编辑' : '新建';
$form = $this->createForm(ReviewType::class, $review);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$this->em->persist($review);
$this->em->flush();
$this->addFlash('review', '操作成功');
return $this->redirectToRoute('super_review_list', [
'id' => $reviewBatch->getId()
]);
}
return $this->render('super/review/edit.html.twig', [
'name' => $this->getLowerName(),
'title' => $reviewBatch->getName() . ' - ' . $title . '项目',
'reviewBatch' => $reviewBatch,
'form' => $form->createView()
]);
}
}