diff --git a/src/Server.php b/src/Server.php index c38392e..b8fd0c6 100644 --- a/src/Server.php +++ b/src/Server.php @@ -12,9 +12,12 @@ use CommonDBTM; use CommonGLPI; use Dropdown; use Entity; +use Group; use Html; use Location; use Session; +use State; +use User; class Server extends CommonDBTM { @@ -1062,6 +1065,12 @@ class Server extends CommonDBTM } } + $cacheEntity = []; + $cacheLocation = []; + $cacheState = []; + $cacheUser = []; + $cacheGroup = []; + $itemtypes = Config::getEnabledItemtypes(); $missingAssets = []; @@ -1100,6 +1109,8 @@ class Server extends CommonDBTM } $key = $itemtype . ':' . $assetRow['id']; + $assetId = (int) $assetRow['id']; + if (isset($linkedAssetKeys[$key])) { continue; } @@ -1107,10 +1118,25 @@ class Server extends CommonDBTM continue; } + $entityName = self::getCachedName('Entity', (int) ($assetRow['entities_id'] ?? 0), $cacheEntity); + $locationName = self::getCachedLocationName($assetLocationId, $cacheLocation); + $stateName = self::getCachedName('State', (int) ($assetRow['states_id'] ?? 0), $cacheState); + $userName = self::getCachedName('User', (int) ($assetRow['users_id'] ?? 0), $cacheUser); + $groupName = self::getCachedName('Group', (int) ($assetRow['groups_id'] ?? 0), $cacheGroup); + + $ip = self::getAssetIp($itemtype, $assetId); + $missingAssets[] = [ - 'itemtype' => $itemtype, - 'items_id' => (int) $assetRow['id'], - 'name' => $name, + 'itemtype' => $itemtype, + 'items_id' => $assetId, + 'name' => $name, + 'entity' => $entityName, + 'location' => $locationName, + 'otherserial' => (string) ($assetRow['otherserial'] ?? ''), + 'ip' => $ip, + 'state' => $stateName, + 'user' => $userName, + 'group' => $groupName, ]; } } @@ -1126,17 +1152,28 @@ class Server extends CommonDBTM echo '
| ' . htmlspecialchars(__('Asset type')) . ' | '; echo '' . htmlspecialchars(__('Name')) . ' | '; + echo '' . htmlspecialchars(Entity::getTypeName(1)) . ' | '; + echo '' . htmlspecialchars(Location::getTypeName(1)) . ' | '; + echo '' . htmlspecialchars(__('Inventory number')) . ' | '; + echo '' . htmlspecialchars(__('IP address', 'urbackup')) . ' | '; + echo '' . htmlspecialchars(State::getTypeName(1)) . ' | '; + echo '' . htmlspecialchars(User::getTypeName(1)) . ' | '; + echo '' . htmlspecialchars(Group::getTypeName(1)) . ' | '; echo '' . htmlspecialchars(__('Actions', 'urbackup')) . ' | '; echo '
|---|---|---|---|---|---|---|---|---|---|
| ' . htmlspecialchars($itemtypeLabel) . ' | '; echo '' . htmlspecialchars($asset['name']) . ' | '; + echo '' . htmlspecialchars($asset['entity']) . ' | '; + echo '' . htmlspecialchars($asset['location']) . ' | '; + echo '' . htmlspecialchars($asset['otherserial']) . ' | '; + echo '' . htmlspecialchars($asset['ip']) . ' | '; + echo '' . htmlspecialchars($asset['state']) . ' | '; + echo '' . htmlspecialchars($asset['user']) . ' | '; + echo '' . htmlspecialchars($asset['group']) . ' | '; echo ''; echo ' |