You are not logged in.
Pages: 1
Topic closed
Bonsoir,
J'ai relevé ce que je pense être un deuxième bug, toujours via le webservice.
Je cherchais à lister tous les disques durs d'un ordinateur. Pour cela, l'objet correspondant est Computer_Device et la table Mysql correspondante est glpi_computers_deviceharddrives
Les méthodes génériques utilisées pour la communication via webservice glpi.listDropdownValues passent par les fonctions getItemTypeForTable et getTableForItemType du fichier /inc/db.function.php
Ces fonctions ne peuvent pas faire correspondre l'objet Computer_Device et les tables "héritées".
Une proposition de solution : vu que pour le front office, les objets de type Computer_Device utilisent la méthode statique getDeviceTypes de computer_device.class.php pour faire correspondre l'objet avec la table mysql, il suffirait peut-être de créer des classes héritées correspondantes à la suite du code. Par exemple
class Computer_DeviceMotherboard extends Computer_Device{
function __construct() {
parent::__construct("DeviceMotherboard");
}
}
class Computer_DeviceHardDrive extends Computer_Device{
function __construct() {
parent::__construct("DeviceHardDrive");
}
}
A discuter et à tester.
Offline
Ces classes feront leur apparition dans une prochaine version (GLPI 0.84 ?) car cette gestion doit être revue et les tables correspondantes réorganisées (il y a des tickets dans la roadmap)
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Parfait, si vous avez besoin d'aide pour réaliser/tester ce patch, je reste disponible.
Ce ticket peut donc être clôturer par un modo !
Offline
Pages: 1
Topic closed