ReportController   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 2
c 1
b 0
f 1
lcom 1
cbo 6
dl 0
loc 44
ccs 0
cts 25
cp 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
B indexAction() 0 24 1
A showAction() 0 6 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Loevgaard\DandomainConsignmentBundle\Controller;
6
7
use Doctrine\ORM\EntityManager;
8
use Loevgaard\DandomainConsignment\Entity\Report;
9
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
10
use Symfony\Component\HttpFoundation\Request;
11
use Symfony\Component\HttpFoundation\Response;
12
13
class ReportController extends Controller
14
{
15
    /**
16
     * @param Request $request
17
     *
18
     * @return Response
19
     */
20
    public function indexAction(Request $request)
21
    {
22
        /** @var EntityManager $em */
23
        $em = $this->getDoctrine()->getManager();
24
        $paginator = $this->get('knp_paginator');
25
26
        $qb = $em->createQueryBuilder();
27
        $qb->select('r, s')
28
            ->from('Loevgaard\DandomainConsignment\Entity\Report', 'r')
29
            ->leftJoin('r.stockMovements', 's')
30
            ->addOrderBy('r.createdAt', 'desc')
31
        ;
32
33
        /** @var Report[] $reports */
34
        $reports = $paginator->paginate(
35
            $qb->getQuery(),
36
            $request->query->getInt('page', 1),
37
            $request->query->getInt('limit', 50)
38
        );
39
40
        return $this->render('@LoevgaardDandomainConsignment/report/index.html.twig', [
41
            'reports' => $reports,
42
        ]);
43
    }
44
45
    /**
46
     * @param Report $report
47
     *
48
     * @return Response
49
     */
50
    public function showAction(Report $report)
51
    {
52
        return $this->render('@LoevgaardDandomainConsignment/report/show.html.twig', [
53
            'report' => $report,
54
        ]);
55
    }
56
}
57