Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace CosmeticBundle\Controller;
- use CosmeticBundle\Entity\Role;
- use CosmeticBundle\Entity\User;
- use CosmeticBundle\Form\UserType;
- use Symfony\Bundle\FrameworkBundle\Controller\Controller;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\HttpFoundation\Response;
- use Symfony\Component\Routing\Annotation\Route;
- use CosmeticBundle\Service\Users\UserServiceInterface;
- class UserController extends Controller
- {
- /**
- * @var UserServiceInterface
- */
- private $userService;
- public function __construct(UserServiceInterface $userService)
- {
- $this->userService = $userService;
- }
- /**
- * @Route("register", name="user_register",methods={"GET"})
- *
- * @param Request $request
- * @return Response
- */
- public function register(Request $request)
- {
- return $this->render('users/register.html.twig',
- ['form' => $this->createForm(UserType::class)->createView()]
- );
- }
- /**
- * @Route("register", methods={"POST"})
- *
- * @param Request $request
- * @return Response
- */
- public function registerProcess(Request $request)
- {
- $user = new User();
- $form = $this->createForm(UserType::class, $user);
- $form->handleRequest($request);
- $this->userService->save($user);
- return $this->redirectToRoute('security_login');
- }
- /**
- * @Route("/dashboard", name="user_dashboard")
- *
- * @return Response|null
- */
- public function dashboard()
- {
- $userRepository = $this->getDoctrine()->getRepository(User::class);
- $currentUser = $userRepository->find($this->getUser());
- return $this->render('users/dashboard.html.twig', ['user' => $currentUser]);
- }
- /**
- * @Route("/profile", name="user_profile")
- * @param Request $request
- * @param $id
- * @return Response|null
- */
- public function profile(Request $request)
- {
- $user = $this
- ->getDoctrine()
- ->getRepository(User::class)
- ->find($this->getUser());
- $form = $this->createForm(UserType::class, $user);
- $form->handleRequest($request);
- if ($form->isSubmitted()) {
- $em = $this->getDoctrine()->getManager();
- $em->persist($user);
- $em->flush();
- return $this->redirectToRoute('user_profile');
- }
- $userRepository = $this->getDoctrine()->getRepository(User::class);
- $currentUser = $userRepository->find($this->getUser());
- return $this->render('users/profile.html.twig',
- [
- 'user' => $currentUser,
- 'form' => $form->createView()
- ]);
- }
- /**
- * @Route("logout",name="security_logout")
- * @throws Exception
- */
- public function logout()
- {
- throw new Exception("Logout failed");
- }
- }
Add Comment
Please, Sign In to add comment