ProfileController.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace Packagist\WebBundle\Controller;
  3. use FOS\UserBundle\Controller\ProfileController as BaseController;
  4. use FOS\UserBundle\Model\UserInterface;
  5. use Symfony\Component\HttpFoundation\RedirectResponse;
  6. use Symfony\Component\Security\Core\Exception\AccessDeniedException;
  7. class ProfileController extends BaseController
  8. {
  9. public function editAction()
  10. {
  11. $user = $this->container->get('security.context')->getToken()->getUser();
  12. if (!is_object($user) || !$user instanceof UserInterface) {
  13. throw new AccessDeniedException('This user does not have access to this section.');
  14. }
  15. $form = $this->container->get('fos_user.profile.form');
  16. $formHandler = $this->container->get('fos_user.profile.form.handler');
  17. $process = $formHandler->process($user);
  18. if ($process) {
  19. $this->setFlash('fos_user_success', 'profile.flash.updated');
  20. return new RedirectResponse($this->getRedirectionUrl($user));
  21. }
  22. return $this->container->get('templating')->renderResponse(
  23. 'FOSUserBundle:Profile:edit.html.'.$this->container->getParameter('fos_user.template.engine'),
  24. array('form' => $form->createView(), 'user' => $user)
  25. );
  26. }
  27. }