Advertisement
Anthony99

user controller

Aug 3rd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.42 KB | None | 0 0
  1. <?php
  2. namespace AppBundle\Controller;
  3.  
  4. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  5. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
  6. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use FOS\RestBundle\Controller\Annotations as Rest; // alias pour toutes les annotations
  11. use AppBundle\Form\Type\UserType;
  12. use AppBundle\Entity\User;
  13.  
  14. class UserController extends Controller
  15. {
  16.     /**
  17.      * @Rest\View(statusCode=Response::HTTP_CREATED, serializerGroups={"user"})
  18.      * @Rest\Post("/create-users")
  19.      */
  20.     public function postUsersAction(Request $request)
  21.     {
  22.         $user = new User();
  23.         $user->setRoles(array('ROLE_SUPER_ADMIN'));
  24.  
  25.         $form = $this->createForm(UserType::class, $user, ['validation_groups'=>['Default', 'New']]);
  26.  
  27.         $form->submit($request->request->all());
  28.  
  29.         if ($form->isValid()) {
  30.             $encoder = $this->get('security.password_encoder');
  31.             $encoded = $encoder->encodePassword($user, $user->getPlainPassword());
  32.             $user->setPassword($encoded);
  33.            
  34.             $em = $this->get('doctrine.orm.entity_manager');
  35.             $em->persist($user);
  36.             $em->flush();
  37.             return $user;
  38.         } else {
  39.             return $form;
  40.         }
  41.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement