Skip to content
Snippets Groups Projects
Commit f1062e7f authored by lecluse's avatar lecluse
Browse files
parent 6a36f78f
Branches
Tags
No related merge requests found
Showing
with 57 additions and 330 deletions
...@@ -2,24 +2,9 @@ ...@@ -2,24 +2,9 @@
namespace Application; namespace Application;
use Application\Acl\Role;
use Application\Acl\AdministrateurRole; use Application\Acl\AdministrateurRole;
use Application\Acl\ComposanteRole; use Application\Acl\ComposanteRole;
use Application\Acl\DirecteurComposanteRole;
use Application\Acl\GestionnaireComposanteRole;
use Application\Acl\ResponsableComposanteRole;
use Application\Acl\SuperviseurComposanteRole;
use Application\Acl\ResponsableRechercheLaboRole;
use Application\Acl\DrhRole;
use Application\Acl\GestionnaireDrhRole;
use Application\Acl\ResponsableDrhRole;
use Application\Acl\EtablissementRole;
use Application\Acl\SuperviseurEtablissementRole;
use Application\Acl\IntervenantRole; use Application\Acl\IntervenantRole;
use Application\Acl\IntervenantPermanentRole;
use Application\Acl\IntervenantExterieurRole;
use Application\Acl\FoadRole;
use Application\Acl\ResponsableFoadRole;
use Application\Controller\AgrementController; use Application\Controller\AgrementController;
return [ return [
......
...@@ -2,24 +2,9 @@ ...@@ -2,24 +2,9 @@
namespace Application; namespace Application;
use Application\Acl\Role;
use Application\Acl\AdministrateurRole; use Application\Acl\AdministrateurRole;
use Application\Acl\ComposanteRole; use Application\Acl\ComposanteRole;
use Application\Acl\DirecteurComposanteRole;
use Application\Acl\GestionnaireComposanteRole;
use Application\Acl\ResponsableComposanteRole;
use Application\Acl\SuperviseurComposanteRole;
use Application\Acl\ResponsableRechercheLaboRole;
use Application\Acl\DrhRole;
use Application\Acl\GestionnaireDrhRole;
use Application\Acl\ResponsableDrhRole;
use Application\Acl\EtablissementRole;
use Application\Acl\SuperviseurEtablissementRole;
use Application\Acl\IntervenantRole;
use Application\Acl\IntervenantPermanentRole;
use Application\Acl\IntervenantExterieurRole; use Application\Acl\IntervenantExterieurRole;
use Application\Acl\FoadRole;
use Application\Acl\ResponsableFoadRole;
use Application\Assertion\ContratAssertion; use Application\Assertion\ContratAssertion;
return [ return [
......
...@@ -2,25 +2,6 @@ ...@@ -2,25 +2,6 @@
namespace Application; namespace Application;
use Application\Acl\Role;
use Application\Acl\AdministrateurRole;
use Application\Acl\ComposanteRole;
use Application\Acl\DirecteurComposanteRole;
use Application\Acl\GestionnaireComposanteRole;
use Application\Acl\ResponsableComposanteRole;
use Application\Acl\SuperviseurComposanteRole;
use Application\Acl\ResponsableRechercheLaboRole;
use Application\Acl\DrhRole;
use Application\Acl\GestionnaireDrhRole;
use Application\Acl\ResponsableDrhRole;
use Application\Acl\EtablissementRole;
use Application\Acl\SuperviseurEtablissementRole;
use Application\Acl\IntervenantRole;
use Application\Acl\IntervenantPermanentRole;
use Application\Acl\IntervenantExterieurRole;
use Application\Acl\FoadRole;
use Application\Acl\ResponsableFoadRole;
return [ return [
'router' => [ 'router' => [
'routes' => [ 'routes' => [
......
...@@ -2,24 +2,9 @@ ...@@ -2,24 +2,9 @@
namespace Application; namespace Application;
use Application\Acl\Role;
use Application\Acl\AdministrateurRole; use Application\Acl\AdministrateurRole;
use Application\Acl\ComposanteRole; use Application\Acl\ComposanteRole;
use Application\Acl\DirecteurComposanteRole;
use Application\Acl\GestionnaireComposanteRole;
use Application\Acl\ResponsableComposanteRole;
use Application\Acl\SuperviseurComposanteRole;
use Application\Acl\ResponsableRechercheLaboRole;
use Application\Acl\DrhRole; use Application\Acl\DrhRole;
use Application\Acl\GestionnaireDrhRole;
use Application\Acl\ResponsableDrhRole;
use Application\Acl\EtablissementRole;
use Application\Acl\SuperviseurEtablissementRole;
use Application\Acl\IntervenantRole;
use Application\Acl\IntervenantPermanentRole;
use Application\Acl\IntervenantExterieurRole;
use Application\Acl\FoadRole;
use Application\Acl\ResponsableFoadRole;
return [ return [
'router' => [ 'router' => [
......
...@@ -2,37 +2,19 @@ ...@@ -2,37 +2,19 @@
namespace Application; namespace Application;
const R_USER = 'user';
const R_ROLE = Acl\Role::ROLE_ID; const R_ROLE = Acl\Role::ROLE_ID;
const R_ADMINISTRATEUR = Acl\AdministrateurRole::ROLE_ID; const R_ADMINISTRATEUR = Acl\AdministrateurRole::ROLE_ID;
const R_COMPOSANTE = Acl\ComposanteRole::ROLE_ID; const R_COMPOSANTE = Acl\ComposanteRole::ROLE_ID;
const R_DIRECTEUR_COMPOSANTE = Acl\DirecteurComposanteRole::ROLE_ID;
const R_GESTIONNAIRE_COMPOSANTE = Acl\GestionnaireComposanteRole::ROLE_ID;
const R_RESPONSABLE_COMPOSANTE = Acl\ResponsableComposanteRole::ROLE_ID;
const R_SUPERVISEUR_COMPOSANTE = Acl\SuperviseurComposanteRole::ROLE_ID;
const R_RESPONSABLE_RECHERCHE_LABO = Acl\ResponsableRechercheLaboRole::ROLE_ID;
const R_DRH = Acl\DrhRole::ROLE_ID; const R_DRH = Acl\DrhRole::ROLE_ID;
const R_GESTIONNAIRE_DRH = Acl\GestionnaireDrhRole::ROLE_ID;
const R_RESPONSABLE_DRH = Acl\ResponsableDrhRole::ROLE_ID;
const R_ETABLISSEMENT = Acl\EtablissementRole::ROLE_ID; const R_ETABLISSEMENT = Acl\EtablissementRole::ROLE_ID;
const R_SUPERVISEUR_ETABLISSEMENT = Acl\SuperviseurEtablissementRole::ROLE_ID;
const R_INTERVENANT = Acl\IntervenantRole::ROLE_ID; const R_INTERVENANT = Acl\IntervenantRole::ROLE_ID;
const R_INTERVENANT_PERMANENT = Acl\IntervenantPermanentRole::ROLE_ID; const R_INTERVENANT_PERMANENT = Acl\IntervenantPermanentRole::ROLE_ID;
const R_INTERVENANT_EXTERIEUR = Acl\IntervenantExterieurRole::ROLE_ID; const R_INTERVENANT_EXTERIEUR = Acl\IntervenantExterieurRole::ROLE_ID;
const R_FOAD = Acl\FoadRole::ROLE_ID;
const R_RESPONSABLE_FOAD = Acl\ResponsableFoadRole::ROLE_ID;
$R_ALL = [R_ADMINISTRATEUR, R_COMPOSANTE, R_RESPONSABLE_RECHERCHE_LABO, R_DRH, R_ETABLISSEMENT, R_INTERVENANT, R_FOAD]; $R_ALL = [R_ADMINISTRATEUR, R_COMPOSANTE, R_DRH, R_ETABLISSEMENT, R_INTERVENANT];
$R_NOT_INTERVENANT = [R_ADMINISTRATEUR, R_COMPOSANTE, R_RESPONSABLE_RECHERCHE_LABO, R_DRH, R_ETABLISSEMENT, R_FOAD]; $R_NOT_INTERVENANT = [R_ADMINISTRATEUR, R_COMPOSANTE, R_DRH, R_ETABLISSEMENT];
$R_COMMUN = [R_ADMINISTRATEUR, R_DRH, R_ETABLISSEMENT, R_FOAD]; $R_COMMUN = [R_ADMINISTRATEUR, R_DRH, R_ETABLISSEMENT];
$main = [ $main = [
'doctrine' => [ 'doctrine' => [
...@@ -158,22 +140,9 @@ $main = [ ...@@ -158,22 +140,9 @@ $main = [
'Application\\Acl\\AdministrateurRole', 'Application\\Acl\\AdministrateurRole',
'Application\\Acl\\ComposanteRole', 'Application\\Acl\\ComposanteRole',
'Application\\Acl\\DirecteurComposanteRole',
'Application\\Acl\\GestionnaireComposanteRole',
'Application\\Acl\\ResponsableComposanteRole',
'Application\\Acl\\SuperviseurComposanteRole',
'Application\\Acl\\ResponsableRechercheLaboRole',
'Application\\Acl\\DrhRole', 'Application\\Acl\\DrhRole',
'Application\\Acl\\GestionnaireDrhRole',
'Application\\Acl\\ResponsableDrhRole',
'Application\\Acl\\EtablissementRole', 'Application\\Acl\\EtablissementRole',
'Application\\Acl\\SuperviseurEtablissementRole',
'Application\\Acl\\FoadRole',
'Application\\Acl\\ResponsableFoadRole',
'Application\\Acl\\IntervenantRole', 'Application\\Acl\\IntervenantRole',
'Application\\Acl\\IntervenantExterieurRole', 'Application\\Acl\\IntervenantExterieurRole',
'Application\\Acl\\IntervenantPermanentRole', 'Application\\Acl\\IntervenantPermanentRole',
......
...@@ -2,24 +2,8 @@ ...@@ -2,24 +2,8 @@
namespace Application; namespace Application;
use Application\Acl\Role;
use Application\Acl\AdministrateurRole; use Application\Acl\AdministrateurRole;
use Application\Acl\ComposanteRole; use Application\Acl\ComposanteRole;
use Application\Acl\DirecteurComposanteRole;
use Application\Acl\GestionnaireComposanteRole;
use Application\Acl\ResponsableComposanteRole;
use Application\Acl\SuperviseurComposanteRole;
use Application\Acl\ResponsableRechercheLaboRole;
use Application\Acl\DrhRole;
use Application\Acl\GestionnaireDrhRole;
use Application\Acl\ResponsableDrhRole;
use Application\Acl\EtablissementRole;
use Application\Acl\SuperviseurEtablissementRole;
use Application\Acl\IntervenantRole;
use Application\Acl\IntervenantPermanentRole;
use Application\Acl\IntervenantExterieurRole;
use Application\Acl\FoadRole;
use Application\Acl\ResponsableFoadRole;
return [ return [
'router' => [ 'router' => [
......
...@@ -2,24 +2,9 @@ ...@@ -2,24 +2,9 @@
namespace Application; namespace Application;
use Application\Acl\Role;
use Application\Acl\AdministrateurRole; use Application\Acl\AdministrateurRole;
use Application\Acl\ComposanteRole; use Application\Acl\ComposanteRole;
use Application\Acl\DirecteurComposanteRole;
use Application\Acl\GestionnaireComposanteRole;
use Application\Acl\ResponsableComposanteRole;
use Application\Acl\SuperviseurComposanteRole;
use Application\Acl\ResponsableRechercheLaboRole;
use Application\Acl\DrhRole;
use Application\Acl\GestionnaireDrhRole;
use Application\Acl\ResponsableDrhRole;
use Application\Acl\EtablissementRole;
use Application\Acl\SuperviseurEtablissementRole;
use Application\Acl\IntervenantRole; use Application\Acl\IntervenantRole;
use Application\Acl\IntervenantPermanentRole;
use Application\Acl\IntervenantExterieurRole;
use Application\Acl\FoadRole;
use Application\Acl\ResponsableFoadRole;
return [ return [
'router' => [ 'router' => [
......
...@@ -231,7 +231,7 @@ return [ ...@@ -231,7 +231,7 @@ return [
], [ ], [
'controller' => 'Application\Controller\Service', 'controller' => 'Application\Controller\Service',
'action' => ['resume','resume-refresh','recherche'], 'action' => ['resume','resume-refresh','recherche'],
'roles' => [R_ADMINISTRATEUR, R_COMPOSANTE, R_RESPONSABLE_RECHERCHE_LABO, R_DRH, R_ETABLISSEMENT, R_FOAD] 'roles' => [R_ADMINISTRATEUR, R_COMPOSANTE, R_DRH, R_ETABLISSEMENT]
], [ ], [
'controller' => 'Application\Controller\ServiceReferentiel', 'controller' => 'Application\Controller\ServiceReferentiel',
'action' => ['index', 'saisie', 'suppression', 'rafraichir-ligne', 'constatation'], 'action' => ['index', 'saisie', 'suppression', 'rafraichir-ligne', 'constatation'],
......
...@@ -2,24 +2,9 @@ ...@@ -2,24 +2,9 @@
namespace Application; namespace Application;
use Application\Acl\Role;
use Application\Acl\AdministrateurRole; use Application\Acl\AdministrateurRole;
use Application\Acl\ComposanteRole; use Application\Acl\ComposanteRole;
use Application\Acl\DirecteurComposanteRole;
use Application\Acl\GestionnaireComposanteRole;
use Application\Acl\ResponsableComposanteRole;
use Application\Acl\SuperviseurComposanteRole;
use Application\Acl\ResponsableRechercheLaboRole;
use Application\Acl\DrhRole;
use Application\Acl\GestionnaireDrhRole;
use Application\Acl\ResponsableDrhRole;
use Application\Acl\EtablissementRole;
use Application\Acl\SuperviseurEtablissementRole;
use Application\Acl\IntervenantRole; use Application\Acl\IntervenantRole;
use Application\Acl\IntervenantPermanentRole;
use Application\Acl\IntervenantExterieurRole;
use Application\Acl\FoadRole;
use Application\Acl\ResponsableFoadRole;
return [ return [
'router' => [ 'router' => [
......
...@@ -2,24 +2,11 @@ ...@@ -2,24 +2,11 @@
namespace Application; namespace Application;
use Application\Acl\Role;
use Application\Acl\AdministrateurRole; use Application\Acl\AdministrateurRole;
use Application\Acl\ComposanteRole; use Application\Acl\ComposanteRole;
use Application\Acl\DirecteurComposanteRole;
use Application\Acl\GestionnaireComposanteRole;
use Application\Acl\ResponsableComposanteRole;
use Application\Acl\SuperviseurComposanteRole;
use Application\Acl\ResponsableRechercheLaboRole;
use Application\Acl\DrhRole;
use Application\Acl\GestionnaireDrhRole;
use Application\Acl\ResponsableDrhRole;
use Application\Acl\EtablissementRole;
use Application\Acl\SuperviseurEtablissementRole;
use Application\Acl\IntervenantRole; use Application\Acl\IntervenantRole;
use Application\Acl\IntervenantPermanentRole;
use Application\Acl\IntervenantExterieurRole; use Application\Acl\IntervenantExterieurRole;
use Application\Acl\FoadRole;
use Application\Acl\ResponsableFoadRole;
use Application\Assertion\AbstractAssertion; use Application\Assertion\AbstractAssertion;
......
...@@ -2,25 +2,6 @@ ...@@ -2,25 +2,6 @@
namespace Application; namespace Application;
use Application\Acl\Role;
use Application\Acl\AdministrateurRole;
use Application\Acl\ComposanteRole;
use Application\Acl\DirecteurComposanteRole;
use Application\Acl\GestionnaireComposanteRole;
use Application\Acl\ResponsableComposanteRole;
use Application\Acl\SuperviseurComposanteRole;
use Application\Acl\ResponsableRechercheLaboRole;
use Application\Acl\DrhRole;
use Application\Acl\GestionnaireDrhRole;
use Application\Acl\ResponsableDrhRole;
use Application\Acl\EtablissementRole;
use Application\Acl\SuperviseurEtablissementRole;
use Application\Acl\IntervenantRole;
use Application\Acl\IntervenantPermanentRole;
use Application\Acl\IntervenantExterieurRole;
use Application\Acl\FoadRole;
use Application\Acl\ResponsableFoadRole;
return [ return [
'router' => [ 'router' => [
'routes' => [ 'routes' => [
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
namespace Application\Acl; namespace Application\Acl;
use UnicaenAuth\Acl\NamedRole;
use Application\Interfaces\StructureAwareInterface; use Application\Interfaces\StructureAwareInterface;
use Application\Traits\StructureAwareTrait; use Application\Traits\StructureAwareTrait;
use Application\Interfaces\PersonnelAwareInterface; use Application\Interfaces\PersonnelAwareInterface;
...@@ -79,23 +78,3 @@ class ResponsableComposanteRole extends ComposanteRole ...@@ -79,23 +78,3 @@ class ResponsableComposanteRole extends ComposanteRole
parent::__construct($id, $parent, $name, $description, $selectable); parent::__construct($id, $parent, $name, $description, $selectable);
} }
} }
class SuperviseurComposanteRole extends ComposanteRole
{
const ROLE_ID = 'superviseur-composante';
public function __construct($id = self::ROLE_ID, $parent = ComposanteRole::ROLE_ID, $name = 'Superviseur de composante', $description = null, $selectable = true)
{
parent::__construct($id, $parent, $name, $description, $selectable);
}
}
class ResponsableRechercheLaboRole extends ComposanteRole
{
const ROLE_ID = 'responsable-recherche-labo';
public function __construct($id = self::ROLE_ID, $parent = ComposanteRole::ROLE_ID, $name = 'Responsable d\'équipe de recherche', $description = null, $selectable = true)
{
parent::__construct($id, $parent, $name, $description, $selectable);
}
}
\ No newline at end of file
...@@ -22,23 +22,3 @@ class DrhRole extends Role implements PersonnelAwareInterface ...@@ -22,23 +22,3 @@ class DrhRole extends Role implements PersonnelAwareInterface
parent::__construct($id, $parent, $name, $description, $selectable); parent::__construct($id, $parent, $name, $description, $selectable);
} }
} }
class GestionnaireDrhRole extends DrhRole
{
const ROLE_ID = 'gestionnaire-drh';
public function __construct($id = self::ROLE_ID, $parent = DrhRole::ROLE_ID, $name = 'Gestionnaire DRH', $description = null, $selectable = true)
{
parent::__construct($id, $parent, $name, $description, $selectable);
}
}
class ResponsableDrhRole extends DrhRole
{
const ROLE_ID = 'responsable-drh';
public function __construct($id = self::ROLE_ID, $parent = DrhRole::ROLE_ID, $name = 'Responsable DRH', $description = null, $selectable = true)
{
parent::__construct($id, $parent, $name, $description, $selectable);
}
}
\ No newline at end of file
...@@ -23,13 +23,3 @@ class EtablissementRole extends Role implements PersonnelAwareInterface ...@@ -23,13 +23,3 @@ class EtablissementRole extends Role implements PersonnelAwareInterface
} }
} }
class SuperviseurEtablissementRole extends EtablissementRole
{
const ROLE_ID = 'superviseur-etablissement';
public function __construct($id = self::ROLE_ID, $parent = EtablissementRole::ROLE_ID, $name = 'Superviseur établissement', $description = null, $selectable = true)
{
parent::__construct($id, $parent, $name, $description, $selectable);
}
}
\ No newline at end of file
<?php
namespace Application\Acl;
use UnicaenAuth\Acl\NamedRole;
use Application\Interfaces\PersonnelAwareInterface;
use Application\Traits\PersonnelAwareTrait;
/**
* Rôle père de tous les rôles "foad".
*
* @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
*/
class FoadRole extends Role implements PersonnelAwareInterface
{
use PersonnelAwareTrait;
const ROLE_ID = 'foad';
public function __construct($id = self::ROLE_ID, $parent = Role::ROLE_ID, $name = 'Foad', $description = null, $selectable = true)
{
parent::__construct($id, $parent, $name, $description, $selectable);
}
}
class ResponsableFoadRole extends FoadRole
{
const ROLE_ID = 'responsable-foad';
public function __construct($id = self::ROLE_ID, $parent = FoadRole::ROLE_ID, $name = 'Responsable FOAD', $description = null, $selectable = true)
{
parent::__construct($id, $parent, $name, $description, $selectable);
}
}
\ No newline at end of file
...@@ -68,23 +68,18 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface ...@@ -68,23 +68,18 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface
protected function makeRoles() protected function makeRoles()
{ {
$roles = []; $roles = [];
$roles['test'] = new Role( 'test', 'user', 'Rôle de test'); $r = new Role(); $roles[$r->getRoleId()] = $r;
/* deprecated */ $r = new \Application\Acl\ComposanteRole(); $roles[$r->getRoleId()] = $r;
foreach( $this->config as $classname ){ $r = new \Application\Acl\DrhRole(); $roles[$r->getRoleId()] = $r;
if (class_exists( $classname )){ $r = new \Application\Acl\EtablissementRole(); $roles[$r->getRoleId()] = $r;
$role = new $classname; /* @var $role RoleInterface */ $r = new \Application\Acl\IntervenantRole(); $roles[$r->getRoleId()] = $r;
$roles[$role->getRoleId()] = $role; $r = new \Application\Acl\IntervenantExterieurRole(); $roles[$r->getRoleId()] = $r;
}else{ $r = new \Application\Acl\IntervenantPermanentRole(); $roles[$r->getRoleId()] = $r;
throw new LogicException('La classe "'.$classname.'" déclarée dans la configuration du fournisseur de rôles n\'a pas été trouvée.');
}
}
/* fin de deprecated */
$serviceAuthUserContext = $this->getServiceLocator()->get('AuthUserContext'); $serviceAuthUserContext = $this->getServiceLocator()->get('AuthUserContext');
/* @var $serviceAuthUserContext \UnicaenAuth\Service\UserContext */ /* @var $serviceAuthUserContext \UnicaenAuth\Service\UserContext */
$utilisateur = $serviceAuthUserContext->getDbUser(); $utilisateur = $serviceAuthUserContext->getDbUser();
/* Cas spécifique du rôle intervenant */ /* Cas spécifique du rôle intervenant */
if ($utilisateur && $utilisateur->getIntervenant()){ if ($utilisateur && $utilisateur->getIntervenant()){
$role = new IntervenantRole; $role = new IntervenantRole;
...@@ -93,61 +88,52 @@ $roles['test'] = new Role( 'test', 'user', 'Rôle de test'); ...@@ -93,61 +88,52 @@ $roles['test'] = new Role( 'test', 'user', 'Rôle de test');
} }
/* Rôles du personnel */ /* Rôles du personnel */
if ($utilisateur && ($personnel = $utilisateur->getPersonnel())){ $personnel = null;
if ($utilisateur) $personnel = $utilisateur->getPersonnel();
// chargement des rôles métiers // chargement des rôles métiers
$qb = $this->getEntityManager()->createQueryBuilder() $qb = $this->getEntityManager()->createQueryBuilder()
->from("Application\Entity\Db\Affectation", "a") ->from("Application\Entity\Db\Role", "r")
->select("a, r, s") ->select("r, a, s")
->distinct() ->distinct()
->join("a.role", "r") ->leftJoin("r.affectation", "a", \Doctrine\ORM\Query\Expr\Join::WITH, '1=compriseEntre(a.histoCreation,a.histoDestruction) AND a.personnel = :personnel')
->leftJoin("a.structure", "s") ->leftJoin("a.structure", "s")
->andWhere('1=compriseEntre(a.histoCreation,a.histoDestruction)')
->andWhere('1=compriseEntre(r.histoCreation,r.histoDestruction)') ->andWhere('1=compriseEntre(r.histoCreation,r.histoDestruction)')
->andWhere("a.personnel = :personnel")->setParameter(':personnel', $personnel); ->setParameter(':personnel', $personnel);
foreach ($qb->getQuery()->getResult() as $affectation) { /* @var $affectation Affectation */
$dbRole = $affectation->getRole();
foreach ($qb->getQuery()->getResult() as $dbRole) { /* @var $dbRole \Application\Entity\Db\Role */
$roleId = $dbRole->getCode(); $roleId = $dbRole->getCode();
$roleLibelle = $dbRole->getLibelle();
if ($structure = $affectation->getStructure()){
$roleId .= '-'.$structure->getSourceCode();
$roleLibelle .= ' ('.$structure->getLibelleCourt().')';
}
/** @deprecated */ $roleClass = 'Application\Acl\Role';
$parents = [
'gestionnaire-composante',
'responsable-recherche-labo',
'directeur-composante',
'administrateur',
'responsable-composante',
'superviseur-etablissement',
];
if (in_array($dbRole->getCode(), $parents)){
$parent = $dbRole->getCode();
}else{
$parent = 'user'; $parent = 'user';
} /** @deprecated */
if ($roleId == 'gestionnaire-composante') { $roleClass = 'Application\Acl\GestionnaireComposanteRole'; $parent='composante';}
if (isset($roles[$roleId])){ if ($roleId == 'directeur-composante') { $roleClass = 'Application\Acl\DirecteurComposanteRole'; $parent='composante';}
$role = $roles[$roleId]; if ($roleId == 'administrateur') { $roleClass = 'Application\Acl\AdministrateurRole';}
}else{ if ($roleId == 'responsable-composante') { $roleClass = 'Application\Acl\ResponsableComposanteRole'; $parent='composante';}
$role = new Role( $roleId, $parent, $roleLibelle); if ($roleId == 'superviseur-etablissement') { $roleClass = 'Application\Acl\EtablissementRole'; }
} if ($roleId == 'gestionnaire-drh') { $roleClass = 'Application\Acl\DrhRole'; }
/* FIN de deprecated */
/* fin de deprecated */
$role = new $roleClass( $roleId, $parent, $dbRole->getLibelle() );
//$role = new Role( $roleId, 'user', $roleLibelle);
$role->setDbRole($dbRole); $role->setDbRole($dbRole);
$role->setPersonnel($personnel); $role->setPersonnel($personnel);
if ($this->structureSelectionnee){
$role->setStructure( $this->structureSelectionnee );
}else{
$role->setStructure( $affectation->getStructure() );
}
$roles[$roleId] = $role; $roles[$roleId] = $role;
$affectations = $dbRole->getAffectation();
foreach( $affectations as $affectation ){ /* @var $affectation Affectation */
if ($structure = $affectation->getStructure()){
$affRoleId = $roleId.'-'.$structure->getSourceCode();
if (! isset($roles[$affRoleId])){
$affRoleLibelle = $dbRole->getLibelle().' ('.$structure->getLibelleCourt().')';
$affRole = new $roleClass( $affRoleId, $roleId, $affRoleLibelle );
$affRole->setDbRole( $dbRole );
$affRole->setPersonnel( $personnel );
$affRole->setStructure( $structure );
$roles[$affRoleId] = $affRole;
}
}
} }
} }
return $roles; return $roles;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment