Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
16 / 16
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
Create
100.00% covered (success)
100.00%
16 / 16
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
1 / 1
 __invoke
100.00% covered (success)
100.00%
16 / 16
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3declare(strict_types=1);
4
5namespace App\Controller\Users;
6
7use App\Controller\BaseController;
8use App\Entity\User;
9use App\Form\UserFullType;
10use Doctrine\ORM\EntityManagerInterface;
11use Symfony\Component\HttpFoundation\Request;
12use Symfony\Component\HttpFoundation\Response;
13use Symfony\Component\Routing\Attribute\Route;
14use Symfony\Component\Security\Http\Attribute\IsGranted;
15
16#[IsGranted('ROLE_ADMIN')]
17#[Route(path: '/users/create', name: 'users_create', methods: ['GET', 'POST'])]
18class Create extends BaseController
19{
20    public function __invoke(
21        Request $request,
22        EntityManagerInterface $entityManager,
23    ): Response
24    {
25        $user = new User();
26        $form = $this->createForm(UserFullType::class, $user);
27        $form->handleRequest($request);
28        if ($form->isSubmitted() && $form->isValid()) {
29            $user->setRole('ROLE_USER');
30
31            $entityManager->persist($user);
32            $entityManager->flush();
33
34            $this->addFlash('success', 'El usuario ha sido creado');
35
36            return $this->redirectToRoute('users_index');
37        }
38
39        return $this->render(
40            'users/form.html.twig',
41            [
42                'form' => $form,
43                'data' => $user,
44            ]
45        );
46    }
47}