commit f113d68ce011f3913fc304e1d44c2de89a9ffe9c
Author: Eric Seigne <eric.seigne@ryxeo.com>
Date:   Sun Dec 5 13:22:56 2010 +0100

    recollement automatique des contrats

diff --git a/plugins/anet_epacks/front/plugin_anet_epacks.index.php b/plugins/anet_epacks/front/plugin_anet_epacks.index.php
index 0bca47e..517fd21 100644
--- a/plugins/anet_epacks/front/plugin_anet_epacks.index.php
+++ b/plugins/anet_epacks/front/plugin_anet_epacks.index.php
@@ -43,19 +43,20 @@ print "
  <li><a href=\"plugin_anet_epacks.generate_odt_client.form.php\">Créer un nouveau pack pour un CLIENT</a></li>
  <li><a href=\"plugin_anet_epacks.generate_odt_client_8_to_9.form.php\">Créer un nouveau pack CLIENT qui migre un serveur 8.08 en 9.08</a></li>
  <li><a href=\"plugin_anet_epacks.generate_odt_contrat_partenaire_enr2009.form.php\">Créer un contrat de maintenance pour partenaire ENR 2009</a></li>
- <li><a href=\"plugin_anet_epacks.generate_odt_maintenance.form.php\">Associer un contrat de maintenance à des pack(s)</a></li>
+ <li><a href=\"plugin_anet_epacks.generate_odt_maintenance.form.php\">Associer un contrat de maintenance à des pack(s)</a> ... n'est plus trop utile, on créé le contrat depuis la fiche client et ensuite on utilise de manière globale une action (réservée aux admin) pour recoller les morceaux</li>
  <li><a href=\"plugin_anet_epacks.view_maintenance.php?year=" . date("Y") . "\">Liste des contrats auto-générés</a></li>
- <li><a href=\"plugin_anet_epacks.view_array_recap.php\">Tableau récapitulatif de mes serveurs</a></li>
+ <li><a href=\"plugin_anet_epacks.view_array_recap.php\">Tableau récapitulatif de mes serveurs</a> (page d'accueil du site normalement)</li>
  <li><a href=\"plugin_anet_epacks.view_recap_mensuel_rvd.php?year=" . date("Y") . "&month=" . date("m") . "\">Relevé mensuel pour facturer les revendeurs</a></li>
 </ul>
 
 <h2>Tâches pour l'administrateur</h2>
 <ul style=\"text-align: left;margin-left: 40px;\">
- <li><a href=\"plugin_anet_epacks.automatic_routage.php\">Actualiser la liste des règles de routage pour l'import de OCSNG</a></li>
- <li><a href=\"plugin_anet_epacks.verif_epacks.php\">Vérifier la liste des epacks utilisés (détection d'incohérences)</a></li>
- <li><a href=\"plugin_anet_epacks.verif_dyndns.php\">Vérifier les affectations DynDNS (détection d'incohérences et doublons)</a></li>
- <li><a href=\"plugin_anet_epacks.verif_comptes_dsi.php\">Vérifier et corriger les types de comptes utilisateurs (DSI/Post-Only)</a></li>
+ <li><a href=\"plugin_anet_epacks.automatic_routage.php\">Actualiser la liste des règles de routage pour l'import de OCSNG</a> pour que l'import automatique des ordinateurs soit correct, on créé des règles d'affectations à des entités automatiquement</li>
+ <li><a href=\"plugin_anet_epacks.verif_epacks.php\">Vérifier la liste des epacks utilisés (détection d'incohérences)</a> pour trouver les erreurs de saisies ou peut-être des marioles qui essaient de jouer ...</li>
+ <li><a href=\"plugin_anet_epacks.verif_dyndns.php\">Vérifier les affectations DynDNS (détection d'incohérences et doublons)</a> pour éviter qu'on ait deux (ou plus) serveurs qui essayent de se partager le même compte dyndns</li>
+ <li><a href=\"plugin_anet_epacks.verif_comptes_dsi.php\">Vérifier et corriger les types de comptes utilisateurs (DSI/Post-Only)</a> parcequ'à chaque fois qu'un formulaire webadmin est validé, les comptes DSI et IATICE sont créés comme de simples utilisateurs, ensuite si ces comptes ont eu un jour une accréditation DSI/IATICE manuelle par ryxéo il est naturel de leur mettre la même accréditation pour ce nouveau serveur</li>
  <li><a href=\"plugin_anet_epacks.verif_multigroupes.php\">Chercher les erreurs d'affectations des epacks-entités ou des clients qui font partis de plusieurs groupes</a></li>
+ <li><a href=\"plugin_anet_epacks.verif_contract_epack.php\">Recolle les epacks avec les contrats saisis directement</a> pour que la page d'accueil soit actualisée. Lorsqu'on ajoute un contrat il n'est pas forcément rattaché à la gestion des epacks, cette page permet de mettre tout ça à jour proprement en cherchant les epacks dont la clé de contrat == 0. Si un contrat fait référence au meme enduser qu'un epack on recolle..</li>
  <li><a href=\"plugin_anet_epacks.verif_modifhardware.php\">Chercher les serveurs dont le matériel a été modifié</a></li>
 </ul>
 ";
diff --git a/plugins/anet_epacks/front/plugin_anet_epacks.view_array_recap.php b/plugins/anet_epacks/front/plugin_anet_epacks.view_array_recap.php
index 8bddc5e..e5c6ce6 100644
--- a/plugins/anet_epacks/front/plugin_anet_epacks.view_array_recap.php
+++ b/plugins/anet_epacks/front/plugin_anet_epacks.view_array_recap.php
@@ -87,12 +87,13 @@ include_once (GLPI_ROOT . "/inc/includes.php");
 //
 function local_make_query($data, $entityid, $maintenance) {
   $query = "SELECT e.*, e.FK_enduser as entityid, g3.name as client, g4.name as serveur, g4.os_license_number, g4.os_license_id, g4.otherserial, ssh.*,
-(g5.nbeleves+g5.nbprofs) as nbusers, g5.nbpc as nbpc
+(g5.nbeleves+g5.nbprofs) as nbusers, g5.nbpc as nbpc, g6.name as contract
 FROM glpi_plugin_anet_epacks AS e
 LEFT JOIN glpi_plugin_anet_epacks_ssh_max AS ssh ON e.FK_serveur=ssh.FK_serveur
 LEFT JOIN glpi_entities AS g3 ON (e.FK_client=g3.ID OR e.FK_enduser=g3.ID)
 LEFT JOIN glpi_computers AS g4 ON e.FK_serveur=g4.ID
-LEFT JOIN glpi_plugin_anet_epacks_recencement_max AS g5 ON e.FK_serveur=g5.FK_serveur\n";
+LEFT JOIN glpi_plugin_anet_epacks_recencement_max AS g5 ON e.FK_serveur=g5.FK_serveur
+LEFT JOIN glpi_contracts AS g6 ON e.FK_contract=g6.ID\n";
 
   //WHERE e.Fk_Serveur > '0'\n";
   if($data['name'] == "revendeur" || $data['name'] == "dsi") {
@@ -132,12 +133,13 @@ LIMIT 500;";
 //special pour trouver les serveurs existants mais les enduser=0 (abonnement zen pas fait ou autre ?)
 function local_make_query_zarb() {
   $query = "SELECT e.*, e.FK_enduser as entityid, g3.name as client, g4.name as serveur, g4.os_license_number, g4.os_license_id, g4.otherserial, ssh.*,
-(g5.nbeleves+g5.nbprofs) as nbusers, g5.nbpc as nbpc
+(g5.nbeleves+g5.nbprofs) as nbusers, g5.nbpc as nbpc, g6.name as contract
 FROM glpi_plugin_anet_epacks AS e
 LEFT JOIN glpi_plugin_anet_epacks_ssh_max AS ssh ON e.FK_serveur=ssh.FK_serveur
 LEFT JOIN glpi_entities AS g3 ON (e.FK_client=g3.ID OR e.FK_enduser=g3.ID)
 LEFT JOIN glpi_computers AS g4 ON e.FK_serveur=g4.ID
-LEFT JOIN glpi_plugin_anet_epacks_recencement_max AS g5 ON e.FK_serveur=g5.FK_serveur\n";
+LEFT JOIN glpi_plugin_anet_epacks_recencement_max AS g5 ON e.FK_serveur=g5.FK_serveur
+LEFT JOIN glpi_contracts AS g6 ON e.FK_contract=g6.ID\n";
   $query .= "WHERE e.FK_enduser='0' AND e.FK_client!='0'\n";
   $query .= "GROUP BY e.FK_serveur
 ORDER BY client ASC
@@ -150,12 +152,13 @@ LIMIT 500;";
 //Special pour les "dsi" quand on convertis a la vollee les comptes post-only en dsi pour les animtice
 function local_make_query_dsi($data, $entityid, $maintenance) {
   $query = "SELECT e.*, e.FK_enduser as entityid, g3.name as client, g4.name as serveur, g4.os_license_number, g4.os_license_id, g4.otherserial, ssh.*,
-(g5.nbeleves+g5.nbprofs) as nbusers, g5.nbpc as nbpc
+(g5.nbeleves+g5.nbprofs) as nbusers, g5.nbpc as nbpc, g6.name as contract
 FROM glpi_plugin_anet_epacks AS e
 LEFT JOIN glpi_plugin_anet_epacks_ssh_max AS ssh ON e.FK_serveur=ssh.FK_serveur
 LEFT JOIN glpi_entities AS g3 ON (e.FK_client=g3.ID OR e.FK_enduser=g3.ID)
 LEFT JOIN glpi_computers AS g4 ON e.FK_serveur=g4.ID
-LEFT JOIN glpi_plugin_anet_epacks_recencement_max AS g5 ON e.FK_serveur=g5.FK_serveur\n";
+LEFT JOIN glpi_plugin_anet_epacks_recencement_max AS g5 ON e.FK_serveur=g5.FK_serveur
+LEFT JOIN glpi_contracts AS g6 ON e.FK_contract=g6.ID\n";
 
   //WHERE e.Fk_Serveur > '0'\n";
   if($data['name'] == "dsi") {
@@ -248,8 +251,7 @@ function local_make_array($q,$maintenance,$enduser=1) {
   <td align=\"left\">" . $data['os_license_id'] . " " . $data['otherserial'] . "<br />" . $data['os_license_number'] . " " . $data['otherserial'] ."</td>
   <td>" . $data['nbpc'] . "</td>
   <td>" . $data['nbusers'] . "</td>
-  <td>
-  </td>
+  <td>" . $data['contract'] . "</td>
 </tr>\n";
       /*
        <a href=\"../../../front/contract.php?contains[0]=" . $data['client'] . "\"><img src=\"img/stock_hand-signed.png\" title=\"Contrat\"></a>
@@ -278,12 +280,13 @@ function local_make_array($q,$maintenance,$enduser=1) {
 
   if($enduser == 1) {
     $query = "SELECT e.*, e.FK_enduser as entityid, g3.name as client, g4.name as serveur, g4.os_license_number, g4.os_license_id, g4.otherserial, ssh.*,
-(sum(g5.nbeleves)+sum(g5.nbprofs)) as nbusers, g5.nbpc as nbpc
+(sum(g5.nbeleves)+sum(g5.nbprofs)) as nbusers, g5.nbpc as nbpc, g6.name as contract
 FROM glpi_plugin_anet_epacks AS e
 LEFT JOIN glpi_plugin_anet_epacks_ssh_max AS ssh ON e.FK_serveur=ssh.FK_serveur
 LEFT JOIN glpi_entities AS g3 ON (e.FK_client=g3.ID OR e.FK_enduser=g3.ID)
 LEFT JOIN glpi_computers AS g4 ON e.FK_serveur=g4.ID
-LEFT JOIN glpi_plugin_anet_epacks_recencement_max AS g5 ON e.FK_serveur=g5.FK_serveur\n";
+LEFT JOIN glpi_plugin_anet_epacks_recencement_max AS g5 ON e.FK_serveur=g5.FK_serveur
+LEFT JOIN glpi_contracts AS g6 ON e.FK_contract=g6.ID\n";
     //WHERE e.Fk_Serveur > '0'\n";
 
     if($maintenance == 0 || $maintenance ==  1) {
@@ -306,12 +309,13 @@ LIMIT 500;";
   }
   else {
     //LEFT JOIN glpi_entities AS g3 ON e.FK_client=g3.ID OR e.FK_enduser=g3.ID
-    $query = "SELECT e.*, e.FK_client as entityid, g3.name as client, g4.name as serveur, g4.os_license_number, g4.os_license_id, g4.otherserial, ssh.*
+    $query = "SELECT e.*, e.FK_client as entityid, g3.name as client, g4.name as serveur, g4.os_license_number, g4.os_license_id, g4.otherserial, ssh.*, g6.name as contract
 FROM glpi_plugin_anet_epacks AS e
 LEFT JOIN glpi_plugin_anet_epacks_ssh_max AS ssh ON e.FK_serveur=ssh.FK_serveur
 LEFT JOIN glpi_entities AS g3 ON (e.FK_client=g3.ID OR e.FK_enduser=g3.ID)
 LEFT JOIN glpi_computers AS g4 ON e.FK_serveur=g4.ID
 LEFT JOIN glpi_plugin_anet_epacks_recencement_max AS g5 ON e.FK_serveur=g5.FK_serveur
+LEFT JOIN glpi_contracts AS g6 ON e.FK_contract=g6.ID
 WHERE e.FK_enduser='0' AND e.FK_client!='0'
 ORDER BY client\n";
     //print $query;
@@ -365,8 +369,7 @@ ORDER BY client\n";
   <td align=\"left\">" . $data['os_license_id'] . " " . $data['otherserial'] . "<br />" . $data['os_license_number'] . " " . $data['otherserial'] . "</td>
   <td>" . $data['nbpc'] . "</td>
   <td>" . $data['nbusers'] . "</td>
-  <td>
-  </td>
+  <td>" . $data['contract'] . "</td>
 </tr>\n";
       /*
 	  <a href=\"../../../front/contract.php?contains[0]=" . $data['client'] . "\"><img src=\"img/stock_hand-signed.png\" title=\"Contrat\"></a>
