Commit 5491000e authored by David Surville's avatar David Surville
Browse files

Rattachement des catégories de périmètre aux rôles

parent afa01c81
Loading
Loading
Loading
Loading
+48 −8
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ namespace UnicaenPrivilege\Entity\Db;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use UnicaenUtilisateur\Entity\Db\RoleInterface;

abstract class AbstractPerimetreCategorie implements PerimetreCategorieInterface
{
@@ -37,6 +38,10 @@ abstract class AbstractPerimetreCategorie implements PerimetreCategorieInterface
     */
    protected $perimetres;

    /**
     * @var ArrayCollection
     */
    protected $roles;

    /**
     * PerimetreCategorie constructor
@@ -44,6 +49,7 @@ abstract class AbstractPerimetreCategorie implements PerimetreCategorieInterface
    public function __construct()
    {
        $this->perimetres = new ArrayCollection();
        $this->roles = new ArrayCollection();
    }

    /**
@@ -169,6 +175,32 @@ abstract class AbstractPerimetreCategorie implements PerimetreCategorieInterface
        return $this;
    }

    /**
     * Add perimetre.
     *
     * @param PerimetreInterface $perimetre
     * @return PerimetreCategorieInterface
     */
    public function addPerimetre(PerimetreInterface $perimetre)
    {
        $this->perimetres->add($perimetre);

        return $this;
    }

    /**
     * Remove perimetre.
     *
     * @param PerimetreInterface $perimetre
     * @return PerimetreCategorieInterface
     */
    public function removePerimetre(PerimetreInterface $perimetre)
    {
        $this->perimetres->removeElement($perimetre);

        return $this;
    }

    /**
     * Get perimetres.
     *
@@ -180,28 +212,36 @@ abstract class AbstractPerimetreCategorie implements PerimetreCategorieInterface
    }

    /**
     * Add perimetre.
     * Add role.
     *
     * @param PerimetreInterface $perimetre
     * @param RoleInterface $role
     * @return PerimetreCategorieInterface
     */
    public function addPerimetre(PerimetreInterface $perimetre)
    public function addRole(RoleInterface $role)
    {
        $this->perimetres->add($perimetre);
        $this->roles->add($role);

        return $this;
    }

    /**
     * Remove perimetre.
     * Remove role.
     *
     * @param PerimetreInterface $perimetre
     * @param RoleInterface $role
     * @return PerimetreCategorieInterface
     */
    public function removePerimetre(PerimetreInterface $perimetre)
    public function removeRole(RoleInterface $role)
    {
        $this->perimetres->removeElement($perimetre);
        $this->roles->removeElement($role);

        return $this;
    }

    /**
     * @return Collection
     */
    public function getRoles()
    {
        return $this->roles;
    }
}
 No newline at end of file
+9 −8
Original line number Diff line number Diff line
@@ -183,14 +183,6 @@ abstract class AbstractPrivilege implements PrivilegeInterface, ResourceInterfac
        return $this;
    }

    /**
     * @return Collection
     */
    public function getRoles()
    {
        return $this->roles;
    }

    /**
     * Add role.
     *
@@ -215,9 +207,18 @@ abstract class AbstractPrivilege implements PrivilegeInterface, ResourceInterfac
    {
        $this->roles->removeElement($role);
        $role->removePrivilege($this);

        return $this;
    }

    /**
     * @return Collection
     */
    public function getRoles()
    {
        return $this->roles;
    }

    /**
     * Check privilege role
     *
+11 −0
Original line number Diff line number Diff line
@@ -19,5 +19,16 @@

        <one-to-many field="perimetres" target-entity="UnicaenPrivilege\Entity\Db\Perimetre" mapped-by="categorie"/>

        <many-to-many field="roles" target-entity="UnicaenUtilisateur\Entity\Db\Role" inversed-by="perimetreCategories" fetch="LAZY">
            <join-table name="UNICAEN_ROLE_PERIMETRE_CATEGORIE_LINKER">
                <join-columns>
                    <join-column name="PERIMETRE_CATEGORIE_ID" referenced-column-name="ID"/>
                </join-columns>
                <inverse-join-columns>
                    <join-column name="ROLE_ID" referenced-column-name="ID"/>
                </inverse-join-columns>
            </join-table>
        </many-to-many>

    </entity>
</doctrine-mapping>
+28 −6
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
namespace UnicaenPrivilege\Entity\Db;

use Doctrine\Common\Collections\Collection;
use UnicaenUtilisateur\Entity\Db\RoleInterface;

interface PerimetreCategorieInterface
{
@@ -71,6 +72,22 @@ interface PerimetreCategorieInterface
     */
    public function setOrdre($ordre);

    /**
     * Add perimetre.
     *
     * @param PerimetreInterface $perimetre
     * @return PerimetreCategorieInterface
     */
    public function addPerimetre(PerimetreInterface $perimetre);

    /**
     * Remove perimetre.
     *
     * @param PerimetreInterface $perimetre
     * @return PerimetreCategorieInterface
     */
    public function removePerimetre(PerimetreInterface $perimetre);

    /**
     * Get perimetres.
     *
@@ -79,18 +96,23 @@ interface PerimetreCategorieInterface
    public function getPerimetres();

    /**
     * Add perimetre.
     * Add role.
     *
     * @param PerimetreInterface $perimetre
     * @param RoleInterface $role
     * @return PerimetreCategorieInterface
     */
    public function addPerimetre(PerimetreInterface $perimetre);
    public function addRole(RoleInterface $role);

    /**
     * Remove perimetre.
     * Remove role.
     *
     * @param PerimetreInterface $perimetre
     * @param RoleInterface $role
     * @return PerimetreCategorieInterface
     */
    public function removePerimetre(PerimetreInterface $perimetre);
    public function removeRole(RoleInterface $role);

    /**
     * @return Collection
     */
    public function getRoles();
}
 No newline at end of file
+5 −5
Original line number Diff line number Diff line
@@ -96,11 +96,6 @@ interface PrivilegeInterface
     */
    public function setCategorie(PrivilegeCategorieInterface $categorie);

    /**
     * @return Collection
     */
    public function getRoles();

    /**
     * Add role.
     *
@@ -117,6 +112,11 @@ interface PrivilegeInterface
     */
    public function removeRole(RoleInterface $role);

    /**
     * @return Collection
     */
    public function getRoles();

    /**
     * Check privilege role
     *