Completed
Push — master ( febf2b...b3372e )
by Valery
13:12 queued 13:12
created

ProfileController::profile()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 18
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 12
c 1
b 0
f 0
nc 2
nop 2
dl 0
loc 18
rs 9.8666
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\Controller\User;
6
7
use App\Controller\BaseController;
8
use App\Entity\User;
9
use App\Form\Type\ProfileType;
10
use Doctrine\ORM\EntityManagerInterface;
11
use Symfony\Component\HttpFoundation\Request;
12
use Symfony\Component\HttpFoundation\Response;
13
use Symfony\Component\Routing\Annotation\Route;
14
15
final class ProfileController extends BaseController
16
{
17
    #[Route('/user/profile', name: 'user_profile')]
18
    public function profile(Request $request, EntityManagerInterface $entityManager): Response
19
    {
20
        /** @var User $user */
21
        $user = $this->getUser();
22
        $profile = $user->getProfile();
23
        $form = $this->createForm(ProfileType::class, $profile);
24
        $form->handleRequest($request);
25
26
        if ($form->isSubmitted() && $form->isValid()) {
27
            $entityManager->persist($profile);
28
            $entityManager->flush();
29
            $this->addFlash('success', 'message.updated');
30
        }
31
32
        return $this->render('user/profile/profile.html.twig', [
33
            'site' => $this->site($request),
34
            'form' => $form->createView(),
35
        ]);
36
    }
37
}
38