Commit a988fbfe authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Mis en compatibilité avec UnicaenPrivilege/UnicaenAuthentification

parent 507f2743
Loading
Loading
Loading
Loading
Loading
+3 −45
Changes for module/Oscar/src/Oscar/Entity/Authentification.php: 3 added lines, 45 removed lines.
Original line number Diff line number Diff line
@@ -86,23 +86,6 @@ class Authentification extends AbstractUser
    protected $secret;



    /**
     * @return AbstractRole|null
     */
    public function getLastRole()
    {
        return null;
    }

    /**
     * @param AbstractRole|null $lastRole
     * @return self
     */
    public function setLastRole(RoleInterface $lastRole = null): void
    {
    }

    /**
     * Initialies the roles variable.
     */
@@ -112,7 +95,7 @@ class Authentification extends AbstractUser
        $this->settings = [];
    }

    public function hasRole($roleId)
    public function hasRole($roleId): bool
    {
        foreach ($this->getRoles() as $role) {
            if ($roleId == $role) {
@@ -273,9 +256,9 @@ class Authentification extends AbstractUser
     *
     * @return Role[]
     */
    public function getRoles()
    public function getRoles(): \Doctrine\Common\Collections\Collection
    {
        return $this->roles->getValues();
        return $this->roles;
    }

    /**
@@ -365,29 +348,4 @@ class Authentification extends AbstractUser
        }
        return false;
    }

    public function getPasswordResetToken()
    {
        // TODO: Implement getPasswordResetToken() method.
    }

    public function setPasswordResetToken($passwordResetToken)
    {
        // TODO: Implement setPasswordResetToken() method.
    }

    public function isLocal()
    {
        // TODO: Implement isLocal() method.
    }


    /**
     *
     * @return string
     */
    public function __toString()
    {
        return (string)$this->getDisplayName();
    }
}
+7 −12
Changes for module/Oscar/src/Oscar/Entity/Privilege.php: 7 added lines, 12 removed lines.
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ class Privilege implements ResourceInterface, PrivilegeInterface
     *
     * )
     */
    private $role;
    private $roles;


    /**
@@ -90,7 +90,7 @@ class Privilege implements ResourceInterface, PrivilegeInterface
     */
    public function __construct()
    {
        $this->role = new \Doctrine\Common\Collections\ArrayCollection();
        $this->roles = new \Doctrine\Common\Collections\ArrayCollection();
        $this->children = new \Doctrine\Common\Collections\ArrayCollection();
    }

@@ -279,7 +279,7 @@ class Privilege implements ResourceInterface, PrivilegeInterface
     */
    public function addRole(RoleInterface $role)
    {
        $this->role->add($role);
        $this->roles->add($role);

        return $this;
    }
@@ -290,7 +290,7 @@ class Privilege implements ResourceInterface, PrivilegeInterface
     */
    public function hasRole(RoleInterface $role)
    {
        return $this->role->contains($role);
        return $this->roles->contains($role);
    }

    /**
@@ -300,7 +300,7 @@ class Privilege implements ResourceInterface, PrivilegeInterface
     */
    public function removeRole(RoleInterface $role)
    {
        $this->role->removeElement($role);
        $this->roles->removeElement($role);
    }


@@ -309,14 +309,9 @@ class Privilege implements ResourceInterface, PrivilegeInterface
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getRole()
    {
        return $this->role;
    }

    public function getRoles()
    {
        return $this->role;
        return $this->roles;
    }


@@ -340,7 +335,7 @@ class Privilege implements ResourceInterface, PrivilegeInterface
    public function getRoleIds()
    {
        $roleIds = [];
        foreach ($this->getRole() as $role) {
        foreach ($this->getRoles() as $role) {
            $roleIds[] = $role->getId();
        }
        return $roleIds;
+9 −117
Changes for module/Oscar/src/Oscar/Entity/Role.php: 9 added lines, 117 removed lines.
Original line number Diff line number Diff line
@@ -131,13 +131,13 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected ?int $id;
    protected $id;

    /**
     * @var string
     * @ORM\Column(name="role_id", type="string", length=255, unique=true, nullable=false)
     */
    protected ?string $roleId;
    protected $roleId;


    /**
@@ -150,13 +150,13 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
     * @var Role
     * @ORM\ManyToOne(targetEntity="Role")
     */
    protected ?RoleInterface $parent;
    protected $parent;

    /**
     * @var string
     * @ORM\Column(name="ldap_filter", type="text", unique=true, nullable=true)
     */
    protected ?string $ldapFilter;
    protected $ldapFilter;

    /**
     * Fixe le niveau d'application (BIT).
@@ -172,7 +172,7 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
     * @var string
     * @ORM\Column(name="description", type="string", nullable=true)
     */
    protected ?string $description = "";
    protected $description = "";

    /**
     * Est un rôle principal (Généralement responsable)
@@ -188,19 +188,19 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
     * @var boolean
     * @ORM\Column(name="displayed", type="boolean", nullable=false, options={"default"=true})
     */
    protected bool $displayed = true;
    protected $displayed = true;


    /**
     * @ORM\ManyToMany(targetEntity="Privilege", mappedBy="role", fetch="EAGER")
     * @ORM\ManyToMany(targetEntity="Privilege", mappedBy="roles", fetch="EAGER")
     */
    protected Collection $privileges;
    protected $privileges;

    /**
     * @var boolean
     * @ORM\Column(name="accessible_exterieur", type="boolean", nullable=false, options={"default" : true})
     */
    protected bool $accessibleExterieur = true;
    protected $accessibleExterieur = true;

    /**
     * @ORM\ManyToMany(targetEntity="DateType", mappedBy="roles", fetch="EAGER")
@@ -226,14 +226,6 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
        return $this->accessibleExterieur;
    }

    /**
     * @param bool $accessibleExterieur
     */
    public function setAccessibleExterieur(bool $accessibleExterieur): void
    {
        $this->accessibleExterieur = $accessibleExterieur;
    }


    /**
     * Test si le rôle dispose du privilège.
@@ -275,34 +267,6 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
        return $this->id;
    }

    /**
     * Set the id.
     *
     * @param int $id
     *
     * @return void
     */
    public function setId($id): void
    {
        $this->id = $id;
    }

    /**
     * @return string|null
     */
    public function getDescription(): ?string
    {
        return $this->description;
    }

    /**
     * @param string|null $description
     */
    public function setDescription(?string $description): void
    {
        $this->description = $description;
    }

    /**
     * @return boolean
     */
@@ -339,28 +303,6 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
        return $this;
    }

    /**
     * Get the role id.
     *
     * @return string
     */
    public function getRoleId(): ?string
    {
        return $this->roleId;
    }

    /**
     * Set the role id.
     *
     * @param string|null $roleId
     *
     * @return void
     */
    public function setRoleId(?string $roleId): void
    {
        $this->roleId = (string)$roleId;
    }

    /**
     * Is this role the default one ?
     *
@@ -395,31 +337,6 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
        return $this->parent;
    }

    /**
     * @return string
     */
    public function getLdapFilter(): ?string
    {

        return $this->ldapFilter;
    }

    /**
     * @param string $ldapFilter
     */
    public function setLdapFilter(?string $ldapFilter): void
    {
        if (mb_strlen(trim($ldapFilter)) == 0) {
            $ldapFilter = NULL;
        }
        $this->ldapFilter = $ldapFilter;
    }

    public function setParent(?RoleInterface $parent = null): void
    {
        $this->parent = $parent;
    }


    /**
     * Get users.
@@ -546,36 +463,16 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
        return $this->getRoleId();
    }

    public function setLibelle(?string $libelle): void
    {
        // TODO: Implement setLibelle() method.
    }

    public function isDefault(): bool
    {
        // TODO: Implement isDefault() method.
    }

    public function setDefault(bool $default): void
    {
        // TODO: Implement setDefault() method.
    }

    public function removeUser(UserInterface $user): void
    {
        $this->getUsers()->removeElement($user);
    }

    public function addPrivilege(PrivilegeInterface $privilege): void
    {
        $this->getPrivileges()->add($privilege);
    }

    public function removePrivilege(PrivilegeInterface $privilege): void
    {
        $this->getPrivileges()->removeElement($privilege);
    }


    public function isDisplayed(): bool
    {
@@ -583,9 +480,4 @@ class Role extends AbstractRole implements HierarchicalRoleInterface
        //return $this->displayed;
        return true;
    }

    public function setDisplayed(bool $accessibleExterieur): void
    {
        $this->displayed = $accessibleExterieur;
    }
}
+3 −3
Changes for module/Oscar/src/Oscar/Service/OscarUserContext.php: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -285,7 +285,7 @@ class OscarUserContext implements UseOscarConfigurationService, UseLoggerService
                $privilege = $this->getPrivilegeRepository()->getPrivilegeByCode($privilegeCode);

                /** @var Role $role */
                foreach ($privilege->getRole() as $role) {
                foreach ($privilege->getRoles() as $role) {
                    if ($roleLevel == 0 || $role->isLevel($roleLevel)) {
                        $roles_privileges[] = $role;
                    }
@@ -1034,7 +1034,7 @@ class OscarUserContext implements UseOscarConfigurationService, UseLoggerService
            $privileges = $this->getEntityManager()->createQueryBuilder()
                ->select('p')
                ->from(Privilege::class, 'p')
                ->innerJoin('p.role', 'r')
                ->innerJoin('p.roles', 'r')
                ->where('r.roleId IN (:roles)')
                ->setParameter('roles', $this->getBaseRoleId())
                ->getQuery()
@@ -1120,7 +1120,7 @@ class OscarUserContext implements UseOscarConfigurationService, UseLoggerService
            foreach ($roles as $role) {
                /** @var Privilege $privilege */
                foreach ($privileges as $privilege) {
                    if ($privilege->getRole()->contains($role)) {
                    if ($privilege->getRoles()->contains($role)) {
                        $recursive($role, $privilege, $privileges_roles);
                    }
                }