Voila un petit patch par rapport à l'usage des durées dans le plugin projet :
la durée inscrite dans le champs durée effective dans une tache est considérée comme une estimation de la durée de la tache ( je n'ai pas changé le terme dans l'interface) La durée estimée du projet est la somme des durée estimées des taches La durée effective est la somme des durées effectives des tickets liés au projet J'ai rajoutés des deux champs dans le formulaire du projet A voir JCharles
--- ../../../orig/plugins/projet/trunk/inc/plugin_projet.projet.classes.php 2008-08-30 14:16:07.000000000 +0200 +++ inc/plugin_projet.projet.classes.php 2008-08-30 16:37:24.000000000 +0200 @@ -481,6 +481,11 @@ showDateFormItem("end_date",$this->fields["end_date"],true,true); echo "</td>"; echo "</tr>"; +//// START PROVECTIO + echo "<tr><td>" . $LANGPROJET["projet"][75] . ':</td><td>' . $this->getProjectForecast($ID) . '</td></tr>'; + echo "<tr><td>" . $LANGPROJET["projet"][72] . ':</td><td>' . $this->getProjectDuration($ID) . '</td></tr>'; +//// END PROVECTIO + echo "</table>"; //end first row @@ -613,6 +618,54 @@ return true; } + + //// START PROVECTIO + /** + * Compute project real duration + * + [EMAIL PROTECTED] $ID ID of the project + [EMAIL PROTECTED] text duration of project + **/ + function getProjectDuration($ID) { + + global $DB; + $query = "select sum(realtime) from glpi_tracking where ID in (SELECT FK_device FROM glpi_plugin_projet_items where FK_projet = $ID);"; + if ($result = $DB->query($query)) { + $sum=$DB->result($result,0,0); + if (is_null($sum)) return '00:00'; + return $this->getRealtime($sum); + } else { + return '00:00'; + } + } + + /** + * Compute forecast duration + * + [EMAIL PROTECTED] $ID ID of the project + [EMAIL PROTECTED] text duration of project + **/ + function getProjectForecast ($ID) { + + global $DB; + $query = "SELECT SUM(realtime) FROM glpi_plugin_projet_tasks WHERE FK_projet=$ID"; + if ($result = $DB->query($query)) { + $sum=$DB->result($result,0,0); + if (is_null($sum)) return '00:00'; + return $this->getRealtime($sum); + } else { + return '00:00'; + } + } + + function getRealtime($realtime){ + $hours=floor($realtime); + $minutes = round((($realtime-floor($realtime))*60)); + $hours = str_pad($hours, 2, '0', STR_PAD_LEFT) . ':'; + $minutes = str_pad($minutes, 2, '0', STR_PAD_LEFT); + return $hours . $minutes; + } +//// END PROVECTIO } -?> \ Pas de fin de ligne à la fin du fichier. +?>
_______________________________________________ Glpi-dev mailing list Glpi-dev@gna.org https://mail.gna.org/listinfo/glpi-dev