mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-18 22:43:47 +01:00
supann: add generate_supannEntiteAffectationPrincipale
This commit is contained in:
parent
85592f94fd
commit
1534a40c7b
1 changed files with 41 additions and 0 deletions
|
@ -203,6 +203,47 @@ function generate_eduPersonOrgUnitDN($ldapObject) {
|
||||||
return $retval;
|
return $retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generation de la valeur de l'attribut supannEntiteAffectationPrincipale
|
||||||
|
* à partir de la valeur de l'attribut supannEntiteAffectation si elle est unique.
|
||||||
|
*
|
||||||
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
|
*
|
||||||
|
* @param LSldapObject $ldapObject L'objet ldap
|
||||||
|
*
|
||||||
|
* @return array|null|false La valeur de l'attribut supannEntiteAffectationPrincipale
|
||||||
|
* ou false si il y a un problème durant la génération
|
||||||
|
*/
|
||||||
|
function generate_supannEntiteAffectationPrincipale($ldapObject) {
|
||||||
|
if ( get_class($ldapObject -> attrs[ 'supannEntiteAffectation' ]) != 'LSattribute' ) {
|
||||||
|
LSerror :: addErrorCode(
|
||||||
|
'SUPANN_01',
|
||||||
|
array(
|
||||||
|
'dependency' => 'supannEntiteAffectation',
|
||||||
|
'attr' => 'supannEntiteAffectationPrincipale'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si des valeurs ont été fourni pour cet attribut par l'utilisateur, on les conserve
|
||||||
|
$affectations_principales = $ldapObject -> attrs[ 'supannEntiteAffectationPrincipale' ] -> getUpdateData();
|
||||||
|
if ($affectations_principales) return $affectations_principales;
|
||||||
|
|
||||||
|
// Sinon on prends la valeur de supannEntiteAffectation si elle est unique
|
||||||
|
$affectations = $ldapObject -> attrs[ 'supannEntiteAffectation' ] -> getUpdateData();
|
||||||
|
if (count($affectations) == 1)
|
||||||
|
return array($affectations[0]);
|
||||||
|
|
||||||
|
// Sinon on garde celle existante si elle est fait toujours partie de entites d'affecations de la personne
|
||||||
|
$affectations_principales = $ldapObject -> attrs[ 'supannEntiteAffectationPrincipale' ] -> getOldValue();
|
||||||
|
if ($affectations_principales && in_array($affectations_principales[0], $affectations))
|
||||||
|
return array($affectations_principales[0]);
|
||||||
|
|
||||||
|
// À défaut, l'attribut sera vide
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generation de la valeur de l'attribut eduPersonPrimaryOrgUnitDN
|
* Generation de la valeur de l'attribut eduPersonPrimaryOrgUnitDN
|
||||||
* à partir de la valeur de l'attribut supannEntiteAffectationPrincipale.
|
* à partir de la valeur de l'attribut supannEntiteAffectationPrincipale.
|
||||||
|
|
Loading…
Reference in a new issue