Completed
Push — master ( b2b032...858bee )
by Pavel
09:16 queued 06:10
created

ChoiceModulesController::showAccountAction()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 21
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 5
Bugs 0 Features 1
Metric Value
c 5
b 0
f 1
dl 0
loc 21
ccs 0
cts 17
cp 0
rs 9.3142
cc 2
eloc 13
nc 2
nop 1
crap 6
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: device
5
 * Date: 23.03.16
6
 * Time: 18:35
7
 */
8
9
namespace AppBundle\Controller;
10
11
12
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
13
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
14
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
15
use Symfony\Component\HttpFoundation\Request;
16
17
class ChoiceModulesController extends Controller
18
{
19
    /**
20
     * @Route("/account/wish-modules", name="choice_modules")
21
     * @Template("@App/choiceModules/choiceModules2.html.twig")
22
     */
23
    public function showAccountAction(Request $request)
24
    {
25
        $user = $this->getUser();
26
        $em = $this->getDoctrine()->getManager();
27
        $modules = $em->getRepository('AppBundle:Module')
28
            ->getFreeModulesForUser($user);
29
30
        if ($request->getMethod() == 'POST') {
31
            $choice = $request->get('choice_module');
32
            $user->setChosenModule($choice);
33
            $em->flush();
34
35
            return $this->redirectToRoute('account');
36
        }
37
38
        return [
39
            'modules' => $modules,
40
            'user'=>$user
41
42
        ];
43
    }
44
}
45