Verified Commit cc37d064 authored by Côme Chilliet's avatar Côme Chilliet
Browse files

:sparkles: feat(supann) Show descriptions of entities in drop downs

issue #5946
Showing with 29 additions and 11 deletions
+29 -11
......@@ -117,21 +117,30 @@ class entite extends simplePlugin
$ldap = $config->get_ldap_link();
$ldap->cd($config->current['BASE']);
$ldap->search('(objectClass=supannEntite)', ['supannCodeEntite','ou','o']);
$ldap->search('(objectClass=supannEntite)', ['supannCodeEntite','ou','o','description']);
$entity_codes = [''];
$entity_labels = [''];
$code_entites = [''];
$label_entites = [''];
while ($attrs = $ldap->fetch()) {
if (isset($attrs['supannCodeEntite'][0])) {
$entity_codes[] = $attrs['supannCodeEntite'][0];
$code_entites[] = $attrs['supannCodeEntite'][0];
if (isset($attrs['description'][0])) {
$description = $attrs['description'][0];
if (mb_strlen($description, 'UTF-8') > 30) {
$description = mb_substr($description, 0, 27, 'UTF-8').'...';
}
$description = ' ('.$description.')';
} else {
$description = '';
}
if (isset($attrs['ou'][0])) {
$entity_labels[] = $attrs['ou'][0]." (".$attrs['supannCodeEntite'][0].")";
$label_entites[] = $attrs['ou'][0].$description;
} else {
$entity_labels[] = $attrs['o'][0]." (".$attrs['supannCodeEntite'][0].")";
$label_entites[] = $attrs['o'][0].$description;
}
}
}
$this->attributesAccess['supannCodeEntiteParent']->attribute->setChoices($entity_codes, $entity_labels);
$this->attributesAccess['supannCodeEntiteParent']->attribute->setChoices($code_entites, $label_entites);
$this->attributesAccess['ou']->setUnique('one');
$this->attributesAccess['supannCodeEntite']->setUnique('whole', '(objectClass=supannEntite)');
......
......@@ -493,7 +493,7 @@ class supannAccount extends simplePlugin
/* list of entity stored in LDAP tree */
$ldap = $config->get_ldap_link();
$ldap->cd($config->current['BASE']);
$ldap->search('(objectClass=supannEntite)', ['supannCodeEntite', 'ou', 'o','supannEtablissement']);
$ldap->search('(objectClass=supannEntite)', ['supannCodeEntite', 'ou', 'o','supannEtablissement','description']);
$code_entites = [];
$label_entites = [];
......@@ -502,14 +502,23 @@ class supannAccount extends simplePlugin
while ($attrs = $ldap->fetch()) {
if (isset($attrs['supannCodeEntite'][0])) {
$code_entites[] = $attrs['supannCodeEntite'][0];
if (isset($attrs['description'][0])) {
$description = $attrs['description'][0];
if (mb_strlen($description, 'UTF-8') > 30) {
$description = mb_substr($description, 0, 27, 'UTF-8').'...';
}
$description = ' ('.$description.')';
} else {
$description = '';
}
if (isset($attrs['ou'][0])) {
$label_entites[] = $attrs['ou'][0]." (".$attrs['supannCodeEntite'][0].")";
$label_entites[] = $attrs['ou'][0].$description;
} else {
$label_entites[] = $attrs['o'][0]." (".$attrs['supannCodeEntite'][0].")";
$label_entites[] = $attrs['o'][0].$description;
}
if (isset($attrs['supannEtablissement'][0])) {
$code_etablissements[] = $attrs['supannEtablissement'][0];
$label_etablissements[] = $attrs['o'][0]." (".$attrs['supannEtablissement'][0].")";
$label_etablissements[] = $attrs['o'][0].' ('.$attrs['supannEtablissement'][0].')';
}
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment