From 1c2faadd71da9e158b4bd7bf4217507f66516b30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be> Date: Thu, 15 Nov 2018 15:47:06 +0100 Subject: [PATCH] :ambulance: fix(objects) Template search should return cn as well issue #5135 --- include/class_objects.inc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/include/class_objects.inc b/include/class_objects.inc index 8d8cf0233..2b9db93ba 100644 --- a/include/class_objects.inc +++ b/include/class_objects.inc @@ -58,8 +58,9 @@ class objects if (count($types) > 1) { throw new FusionDirectoryException('Cannot evaluate ACL for several types'); } - $infos = static::infos(reset($types)); - $acl = $infos['aclCategory'].'/'.$infos['mainTab']; + $infos = static::infos(reset($types)); + $acl = $infos['aclCategory'].'/'.$infos['mainTab']; + $tplAcl = $infos['aclCategory'].'/template'; } $attrsAcls = array(); @@ -102,6 +103,7 @@ class objects $search_attrs = array_keys($attrs); if ($templateSearch) { $search_attrs[] = 'fdTemplateField'; + $search_attrs[] = 'cn'; } } else { $search_attrs = array($attrs); @@ -146,6 +148,12 @@ class objects } } if ($templateSearch) { + if ( + isset($fetched_attrs['cn']) && + (!$checkAcl || (strpos($ui->get_permissions($key, $tplAcl, 'template_cn'), 'r') !== FALSE)) + ) { + $result[$key]['cn'] = $fetched_attrs['cn'][0]; + } $result[$key]['fdTemplateField'] = array(); foreach ($fetched_attrs['fdTemplateField'] as $templateField) { $attr = explode(':', $templateField, 2)[0]; -- GitLab