diff --git a/include/management/columns/class_ObjectTypeColumn.inc b/include/management/columns/class_ObjectTypeColumn.inc index 0d7a9820a8a57fa7660626eea25a1cca59e9e56c..a29b7b084f95654a36a59e6030b115f6c5ad9cb9 100644 --- a/include/management/columns/class_ObjectTypeColumn.inc +++ b/include/management/columns/class_ObjectTypeColumn.inc @@ -30,12 +30,28 @@ class ObjectTypeColumn extends Column function renderCell (ListingEntry $entry): string { - if ($entry->isTemplate()) { + if (isset($this->attributes)) { + $isTemplate = FALSE; + $types = $this->getAttributeValues($entry); + } else { + $isTemplate = $entry->isTemplate(); + if ($entry->type) { + $types = [$entry->type]; + } else { + $types = []; + } + } + if ($isTemplate) { $infos = objects::infos($entry->getTemplatedType()); return '<img title="'.htmlescape($entry->dn).'" src="'.htmlescape('geticon.php?context=devices&icon=template&size=16').'" alt="'.htmlescape(sprintf(_('%s template'), $infos['name'])).'"/>'; - } elseif ($entry->type) { - $infos = objects::infos($entry->type); - return '<img title="'.htmlescape($entry->dn).'" src="'.htmlescape($infos['icon']).'" alt="'.htmlescape($infos['name']).'"/>'; + } elseif (!empty($types)) { + $cell = ''; + foreach ($types as $type) { + $infos = objects::infos($type); + $title = (isset($this->attributes) ? $infos['name'] : $entry->dn); + $cell .= '<img title="'.htmlescape($title).'" src="'.htmlescape($infos['icon']).'" alt="'.htmlescape($infos['name']).'"/>'; + } + return $cell; } else { return ' '; }