Test Setup Failed
Pull Request — master (#29)
by
unknown
04:19 queued 32s
created

RegistrationController   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 6
dl 0
loc 46
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A register() 0 36 3
1
<?php
2
3
namespace App\Controller;
4
5
use App\Entity\User;
6
use App\Form\Type\UserType;
7
use Symfony\Component\HttpFoundation\Request;
8
use Symfony\Component\HttpFoundation\Response;
9
use Symfony\Component\Routing\Annotation\Route;
10
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
11
12
class RegistrationController extends BaseController
13
{
14
    /**
15
     * @Route("/register", name="registration")
16
     * @param Request                      $request
17
     * @param UserPasswordEncoderInterface $passwordEncoder
18
     *
19
     * @return Response
20
     */
21
    public function register(Request $request, UserPasswordEncoderInterface $passwordEncoder): Response
22
    {
23
        $user = new User();
24
25
        $form = $this->createForm(UserType::class, $user);
26
27
        $form->handleRequest($request);
28
29
        if ($form->isSubmitted() && $form->isValid()) {
30
            // Encode the new users password
31
            $user->setPassword(
32
                $passwordEncoder->encodePassword(
33
                    $user,
34
                    $form->get('password')->getData()
35
                )
36
            );
37
38
            // Set their role
39
            $user->setRoles(['ROLE_USER']);
40
41
            // Save
42
            $em = $this->getDoctrine()->getManager();
43
            $em->persist($user);
44
            $em->flush();
45
46
            $user->setUsername($form->get('username')->getData());
47
            $user->setPassword($form->get('password')->getData());
48
49
            return $this->redirectToRoute('user_property');
50
        }
51
52
        return $this->render('registration/register.html.twig', [
53
            'registrationForm' => $form->createView(),
54
            'site'             => $this->site(),
55
        ]);
56
    }
57
}
58