mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-22 09:59:06 +01:00
LSldapObject : Add except_current_object option on attribute validation test
This commit is contained in:
parent
5ec0f7d210
commit
f313b2e1d3
2 changed files with 23 additions and 2 deletions
|
@ -23,7 +23,8 @@
|
|||
'object_type' => '[Type d'LSobject recherché]',
|
||||
'basedn' => '[BaseDn de la recherche]',
|
||||
'scope' => '[Scope de la recherche]',
|
||||
'result' => '[Résultat positif de la recherche]'
|
||||
'result' => '[Résultat positif de la recherche]',
|
||||
'except_current_object' => '[Exclure l'objet courant]'
|
||||
),
|
||||
...
|
||||
),]]>
|
||||
|
@ -86,6 +87,15 @@
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>except_current_object</term>
|
||||
<listitem>
|
||||
<simpara>Booléen définissant si l'objet courrant doit être exclu du résultat
|
||||
de la recherche. Ce paramètre n'est évalué quand cas de création (formulaire
|
||||
<literal>create</literal>).</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect4>
|
||||
|
|
|
@ -494,7 +494,18 @@ class LSldapObject {
|
|||
$sfilter=$sfilter_user;
|
||||
}
|
||||
$sbasedn=(isset($test['basedn']))?getFData($test['basedn'],$this,'getValue'):NULL;
|
||||
$ret=LSldap :: getNumberResult ($sfilter,$sbasedn,$sparams);
|
||||
if (isset($test['except_current_object']) && (bool)$test['except_current_object'] && !$LSform -> idForm!='create') {
|
||||
$sret=LSldap :: search ($sfilter,$sbasedn,$sparams);
|
||||
$dn=$this->getDn();
|
||||
$ret=0;
|
||||
foreach($sret as $obj) {
|
||||
if ($obj['dn']!=$dn)
|
||||
$ret++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$ret=LSldap :: getNumberResult ($sfilter,$sbasedn,$sparams);
|
||||
}
|
||||
if($test['result']==0) {
|
||||
if($ret!=0) {
|
||||
if ($LSform) $LSform -> setElementError($attr,$msg_error);
|
||||
|
|
Loading…
Reference in a new issue