Registration   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 31
rs 10
c 0
b 0
f 0
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A register() 0 23 3
1
<?php
2
3
namespace App\User\Communication\Controller;
4
5
use App\User\Business\Form\UserType;
6
use App\User\Persistence\Entity\User;
7
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
8
use Symfony\Component\HttpFoundation\Request;
9
use Symfony\Component\Routing\Annotation\Route;
10
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
11
12
13
class Registration extends Controller
14
{
15
    /**
16
     * @Route("/register", name="user_registration")
17
     * @param Request                      $request
18
     * @param UserPasswordEncoderInterface $passwordEncoder
19
     * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
20
     */
21
    public function register(Request $request, UserPasswordEncoderInterface $passwordEncoder)
22
    {
23
        $user = new User();
24
        $form = $this->createForm(UserType::class, $user);
25
26
        $form->handleRequest($request);
27
        if ($form->isSubmitted() && $form->isValid()) {
28
29
            $password = $passwordEncoder->encodePassword($user, $user->getPlainPassword());
30
            $user->setPassword($password);
31
32
            $entityManager = $this->getDoctrine()->getManager();
33
            $entityManager->persist($user);
34
            $entityManager->flush();
35
36
            return $this->redirectToRoute('login');
37
        }
38
        $form->getErrors();
39
40
        return $this->render(
41
            'user/registration/register.html.twig',
42
            [
43
                'form' => $form->createView()
44
            ]
45
        );
46
    }
47
}