<?php
namespace App\Controller\Applicant;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\UserInfo;
use App\Form\UserInfoType;
use App\Repository\BatchRepository;
/**
*
* @author "wendell.zheng <wxzheng@ustc.edu.cn>"
*/
class DefaultController extends AbstractController
{
/**
*
* @Route("/applicant", name="applicant")
*/
public function index(BatchRepository $repository): Response
{
$batches = $repository->list();
return $this->render('applicant/index.html.twig', [
'batches' => $batches
]);
}
/**
*
* @Route("/applicant/user/info", name="applicant_user_info")
*/
public function info(Request $request, EntityManagerInterface $em): Response
{
$user = $this->getUser();
$userInfo = $user->getUserInfo();
if (! $userInfo) {
$userInfo = new UserInfo();
}
$form = $this->createForm(UserInfoType::class, $userInfo);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em->persist($userInfo);
$user->setUserInfo($userInfo);
$user->setName($userInfo->getName());
$em->flush();
$this->addFlash('notice', '操作成功');
return $this->redirectToRoute('applicant');
}
return $this->render('applicant/user_info.html.twig', [
'title' => '个人信息',
'form' => $form->createView()
]);
}
}