Passed
Push — master ( fa5f59...70a733 )
by Anthony
03:11
created

UserLogsController::list()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 12
nc 1
nop 2
dl 0
loc 16
rs 9.8666
c 1
b 0
f 1
1
<?php
2
3
namespace PiouPiou\RibsAdminBundle\Controller;
4
5
use PiouPiou\RibsAdminBundle\Entity\UserLogs;
6
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
7
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
8
use Symfony\Component\HttpFoundation\Response;
9
use Symfony\Component\Routing\Annotation\Route;
10
11
class UserLogsController extends AbstractController
12
{
13
    /**
14
     * list all user logs
15
     * @Route("/user-logs/{page}", requirements={"page" = "\d+"}, name="ribsadmin_userlogs")
16
     * @param ParameterBagInterface $parameterBag
17
     * @param int $page
18
     * @return Response
19
     */
20
    public function list(ParameterBagInterface $parameterBag, int $page = 1): Response
21
    {
22
        $em = $this->getDoctrine()->getManager();
23
        $max_per_page = $parameterBag->get("ribs_admin")["paginator_element_per_page"];
24
25
        $logs = $em->getRepository(UserLogs::class)->findAllPaginated($page, $max_per_page);
26
        $pagination = array(
27
            "page" => $page,
28
            "page_number" => ceil(count($logs) / 20),
29
            "route" => "ribsadmin_userlogs",
30
            "parameters" => array()
31
        );
32
33
        return $this->render("@RibsAdmin/userlogs/list.html.twig", [
34
            "logs" => $logs,
35
            "pagination" => $pagination
36
        ]);
37
    }
38
}
39