On 13/12/2012 13:37, Walid Nouh wrote:
Salut,
Tant que je tiens les développeurs du plugin (donnant - donnant :D) :
je n'arrive pas à trouver comment définir les règles pour que par
défaut tous les ordinateurs soient importés. En effet, par défaut,
aucun ordinateur ne respecte les règles. Il semble que Je sois obligé
de sélectionner une entitée et un lieu pour chaque ordinateur pour
qu'il respecte la règle. Ai-je loupé quelque chose ?
Tu sembles parler du moteur d'affectation d'entité.
La règle root permet d'importer tous les ordinateurs dans l'entité
racine (à la différence de fusion où si aucune règle ne matche
l'ordinateur est importé dans l'entité racine, pour ocs si aucune
règle ne matche l'ordinateur est refusé).
Je me suis trompé : pour l'entité cela fonctionne. C'est pour le lieu :
si je n'affecte l'ordinateur à aucun lieu, il ne respecte pas aucune règle.
Tu trouveras en attaché un patch qui corrige le bug de l'IP qui ne
remonte pas. Le problème provenait de l'obligation pour l'ipaddress
d'avoir un identifiant négatif. Sinon, le NetworkName le considérait
comme une adresse IP déjà existante.
De plus, ce patch généralise un petit peu la résolution numérique d'une
vitesse de port en fonction de sa valeur en chaîne de caractères. Il ne
fonctionne qu'avec la revision r19832 du core.
Je dois avouer que j'ai du mal à saisir le point : Gestion des locks
(notamment la partie réseau et composants)
Quels sont ces locks ?
Damien
Index: inc/networkport.class.php
===================================================================
--- inc/networkport.class.php (revision 176)
+++ inc/networkport.class.php (working copy)
@@ -376,18 +376,9 @@
$netport['gateway'] = $line2['IPGATEWAY'];
$netport['subnet'] = $line2['IPSUBNET'];
- switch ($line2['SPEED']) {
- case "1 Gb/s" :
- $netport['speed'] = 1000;
- break;
-
- case "100 Mb/s" :
- $netport['speed'] = 100;
- break;
-
- default:
- $netport['speed'] = 10;
- break;
+ $netport['speed'] = NetworkPortEthernet::transformPortSpeed($line2['SPEED'], false);
+ if ($netport['speed'] === false) {
+ $netport['speed'] = 10;
}
$netport['invalid_network_interface'] = 0;
@@ -455,7 +446,9 @@
$netport['instantiation_type'] = $instantiation_type;
$netport['NetworkName_name'] = 'OCS-INVENTORY-NG-'.str_replace('.', '-',
$ip_address);
- $netport['NetworkName__ipaddresses'] = array($ip_address);
+ // Warning : index must be negative, otherwise, the address will be
+ // considered to be updated, not added !
+ $netport['NetworkName__ipaddresses'] = array('-1' => $ip_address);
} else {
// In case of invalid IP we force the NetworkPort to be a
// PluginOcsinventoryngNetworkPort, thus we will keep the IP !
_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev