PassModuleRepository   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 77.42%

Importance

Changes 4
Bugs 0 Features 2
Metric Value
wmc 3
c 4
b 0
f 2
lcom 1
cbo 2
dl 0
loc 43
ccs 24
cts 31
cp 0.7742
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getModuleByIdAndUser() 0 13 1
A getDonePassModuleByIdAndUser() 0 15 1
A findAjax() 0 9 1
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: device
5
 * Date: 23.02.16
6
 * Time: 10:41
7
 */
8
9
namespace AppBundle\Repository;
10
11
12
use Doctrine\ORM\EntityRepository;
13
14
class PassModuleRepository extends EntityRepository
15
{
16 1
    public function getModuleByIdAndUser($idPassModule, $idUser)
17
    {
18 1
        return $this->createQueryBuilder('pass_module')
19 1
            ->leftJoin('pass_module.moduleUser', 'module_user')
20 1
            ->leftJoin('module_user.user', 'user')
21 1
            ->andWhere('pass_module.id = :idPassModule')
22 1
            ->andWhere('user.id = :idUser')
23 1
            ->setParameter('idPassModule', $idPassModule)
24 1
            ->setParameter('idUser', $idUser)
25 1
            ->getQuery()
26 1
            ->getOneOrNullResult()
27 1
            ;
28
    }
29
30 1
    public function getDonePassModuleByIdAndUser($idPassModule, $idUser)
31
    {
32 1
        return $this->createQueryBuilder('pass_module')
33 1
            ->leftJoin('pass_module.moduleUser', 'module_user')
34 1
            ->leftJoin('module_user.user', 'user')
35 1
            ->andWhere('pass_module.id = :idPassModule')
36 1
            ->andWhere('user.id = :idUser')
37 1
            ->andWhere('pass_module.isActive = :isActive')
38 1
            ->setParameter('idPassModule', $idPassModule)
39 1
            ->setParameter('idUser', $idUser)
40 1
            ->setParameter('isActive', false)
41 1
            ->getQuery()
42 1
            ->getOneOrNullResult()
43 1
            ;
44
    }
45
46
    public function findAjax($module)
47
    {
48
        return $this->createQueryBuilder('p')
49
            ->select('p')
50
            ->where('p.moduleUser = :module')
51
            ->setParameter('module', $module)
52
            ->getQuery()
53
            ->getResult();
54
    }
55
56
}