Commit bc93c48c authored by David Surville's avatar David Surville
Browse files

Cascade pour la suppression d'un périmètre

parent 4ff9f7b4
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
@@ -2,6 +2,10 @@

namespace UnicaenPrivilege\Entity\Db;

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

abstract class AbstractPerimetre implements PerimetreInterface
{
    /**
@@ -29,6 +33,19 @@ abstract class AbstractPerimetre implements PerimetreInterface
     */
    protected $categorie;

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

    /**
     * constructor
     */
    public function __construct()
    {
        $this->roleUsers = new ArrayCollection();
    }


    /**
     * @return string
@@ -153,4 +170,40 @@ abstract class AbstractPerimetre implements PerimetreInterface

        return $this;
    }

    /**
     * Add roleUser.
     *
     * @param UserRolePerimetreInterface $roleUser
     * @return PerimetreInterface
     */
    public function addRoleUser(UserRolePerimetreInterface $roleUser)
    {
        $this->roleUsers->add($perimetre);

        return $this;
    }

    /**
     * Remove roleUser.
     *
     * @param UserRolePerimetreInterface $roleUser
     * @return PerimetreInterface
     */
    public function removeRoleUser(UserRolePerimetreInterface $roleUser)
    {
        $this->roleUsers->removeElement($roleUser);

        return $this;
    }

    /**
     * Get perimetres.
     *
     * @return Collection
     */
    public function getRoleUders()
    {
        return $this->roleUsers;
    }
}
 No newline at end of file
+7 −0
Original line number Diff line number Diff line
@@ -21,6 +21,13 @@
        <field name="libelle" type="string" column="LIBELLE" length="200" nullable="false"/>
        <field name="ordre" type="integer" column="ORDRE" nullable="false"/>

        <one-to-many field="roleUsers" target-entity="UnicaenPrivilege\Entity\Db\UserRolePerimetre" mapped-by="perimetre">
            <cascade>
                <cascade-persist/>
                <cascade-remove/>
            </cascade>
        </one-to-many>

        <many-to-one field="categorie" target-entity="UnicaenPrivilege\Entity\Db\PerimetreCategorie" fetch="LAZY">
            <join-columns>
                <join-column name="CATEGORIE_ID" referenced-column-name="ID"/>
+6 −1
Original line number Diff line number Diff line
@@ -17,7 +17,12 @@
        <field name="libelle" type="string" column="LIBELLE" length="200" nullable="false"/>
        <field name="ordre" type="integer" column="ORDRE" nullable="false"/>

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

        <many-to-many field="roles" target-entity="UnicaenUtilisateur\Entity\Db\Role" inversed-by="perimetreCategories" fetch="LAZY">
            <join-table name="UNICAEN_ROLE_PERIMETRE_CATEGORIE_LINKER">
+6 −1
Original line number Diff line number Diff line
@@ -18,7 +18,12 @@
        <field name="namespace" type="string" column="NAMESPACE" length="256" nullable="true"/>
        <field name="ordre" type="integer" column="ORDRE" nullable="false"/>

        <one-to-many field="privileges" target-entity="UnicaenPrivilege\Entity\Db\Privilege" mapped-by="categorie"/>
        <one-to-many field="privileges" target-entity="UnicaenPrivilege\Entity\Db\Privilege" mapped-by="categorie">
            <cascade>
                <cascade-persist/>
                <cascade-remove/>
            </cascade>
        </one-to-many>

    </entity>
</doctrine-mapping>