Commit 1c3120c0 authored by David Surville's avatar David Surville
Browse files

Merge branch '5.x' into release/8.0-perimetres

parent c1cb918a
Loading
Loading
Loading
Loading
Loading
+3 −1
Changes for src/UnicaenPrivilege/Entity/Db/Mapping/UnicaenPrivilege.Entity.Db.Privilege.dcm.xml: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -2,7 +2,9 @@
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
    <entity name="UnicaenPrivilege\Entity\Db\Privilege" table="UNICAEN_PRIVILEGE_PRIVILEGE">
    <entity name="UnicaenPrivilege\Entity\Db\Privilege"
            table="UNICAEN_PRIVILEGE_PRIVILEGE"
            repository-class="UnicaenPrivilege\Entity\Db\Repository\PrivilegeRepository">

        <indexes>
            <index name="ix_unicaen_privilege_categorie" columns="CATEGORIE_ID"/>
+39 −0
Changes for src/UnicaenPrivilege/Entity/Db/Repository/PrivilegeRepository.php: 39 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

namespace UnicaenPrivilege\Entity\Db\Repository;

use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\QueryBuilder;
use UnicaenApp\Service\EntityManagerAwareTrait;

class PrivilegeRepository extends EntityRepository
{
    use EntityManagerAwareTrait;

    public function createQueryBuilder($alias, $indexBy = null): QueryBuilder
    {
        $qb = parent::createQueryBuilder($alias, $indexBy);
        $qb
            ->leftjoin($alias . '.roles', 'role')->addSelect('role')
            ->leftJoin($alias . '.categorie', 'categorie')->addSelect('categorie');

        return $qb;
    }

    public function find($id, $lockMode = null, $lockVersion = null)
    {
        $qb = $this->createQueryBuilder('privilege')
            ->andWhere('privilege.id = :id')->setParameter('id', $id);
        $result = $qb->getQuery()->getOneOrNullResult();

        return $result;
    }

    public function findAll()
    {
        $qb = $this->createQueryBuilder('privilege');
        $result = $qb->getQuery()->getResult();

        return $result;
    }
}
 No newline at end of file
+0 −2
Changes for src/UnicaenPrivilege/Guard/PrivilegeRoute.php: 0 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -35,12 +35,10 @@ class PrivilegeRoute extends Route

        foreach ($rules as $index => $rule) {
            if (isset($rule['privileges'])) {
                $rolesCount    = 0;
                $privileges    = (array)$rule['privileges'];
                $rule['roles'] = isset($rule['roles']) ? (array)$rule['roles'] : [];
                foreach ($pr as $privilege => $roles) {
                    if (in_array($privilege, $privileges)) {
                        $rolesCount += count($roles);
                        $rule['roles'] = array_unique(array_merge($rule['roles'], $roles));
                    }
                }
+4 −4
Changes for src/UnicaenPrivilege/Service/Perimetre/PerimetreCategorieService.php: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -18,15 +18,15 @@ class PerimetreCategorieService extends CommonService implements PerimetreProvid
    protected $perimetresRoles;

    /**
     * @param string $categorieEntityClass
     * @param string $entityClass
     */
    public function setEntityClass($categorieEntityClass)
    public function setEntityClass($entityClass)
    {
        if (! class_exists($categorieEntityClass) || ! in_array(PerimetreCategorieInterface::class, class_implements($categorieEntityClass))) {
        if (! class_exists($entityClass) || ! in_array(PerimetreCategorieInterface::class, class_implements($entityClass))) {
            throw new InvalidArgumentException("L'entité associée aux catégories de périmètre doit implémenter " . PerimetreCategorieInterface::class);
        }

        $this->entityClass = $categorieEntityClass;
        $this->entityClass = $entityClass;
    }

    /**
+4 −4
Changes for src/UnicaenPrivilege/Service/Perimetre/PerimetreService.php: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -22,16 +22,16 @@ class PerimetreService extends CommonService


    /**
     * @param string $perimetreEntityClass
     * @param string $entityClass
     * @return void
     */
    public function setEntityClass($perimetreEntityClass)
    public function setEntityClass($entityClass)
    {
        if (! class_exists($perimetreEntityClass) || ! in_array(PerimetreInterface::class, class_implements($perimetreEntityClass))) {
        if (! class_exists($entityClass) || ! in_array(PerimetreInterface::class, class_implements($entityClass))) {
            throw new InvalidArgumentException("L'entité associée aux périmètres doit implémenter " . PerimetreInterface::class);
        }

        $this->entityClass = $perimetreEntityClass;
        $this->entityClass = $entityClass;
    }

    /**
Loading