Update box_project.php

This commit is contained in:
BENKE Charles 2014-06-18 22:19:28 +02:00
parent 31c2815d0f
commit 754b028ec6

View File

@ -66,21 +66,20 @@ class box_projet extends ModeleBoxes {
$textHead = $langs->trans("Projet")." ".date("Y"); $textHead = $langs->trans("Projet");
$this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead)); $this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead));
// list the summary of the orders // list the summary of the orders
if ($user->rights->projet->lire) if ($user->rights->projet->lire)
{ {
$sql = "SELECT p.fk_statut, count(p.rowid) as nb"; $sql = "SELECT p.rowid, p.ref, p.title, p.fk_statut ";
$sql.= " FROM (".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."projet as p"; $sql.= " FROM (".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."projet as p";
$sql.= ")"; $sql.= ")";
$sql.= " WHERE p.fk_soc = s.rowid"; $sql.= " WHERE p.fk_soc = s.rowid";
$sql.= " AND s.entity = ".$conf->entity; $sql.= " AND s.entity = ".$conf->entity;
$sql.= " AND DATE_FORMAT(p.datec,'%Y') = ".date("Y")." "; $sql.= " AND p.fk_statut = 1"; // Seulement les projets ouverts
$sql.= " GROUP BY p.fk_statut "; $sql.= " ORDER BY p.datec DESC";
$sql.= " ORDER BY p.fk_statut DESC";
$sql.= $db->plimit($max, 0); $sql.= $db->plimit($max, 0);
$result = $db->query($sql); $result = $db->query($sql);
@ -94,38 +93,36 @@ class box_projet extends ModeleBoxes {
$this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_projectpub'); $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_projectpub');
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$projectstatic->fetch($objp->rowid);
$this->info_box_contents[$i][1] = array('td' => 'align="left"', $this->info_box_contents[$i][1] = array('td' => 'align="left"',
'text' =>$langs->trans("Project")." ".$projectstatic->LibStatut($objp->fk_statut,0) 'text' =>$projectstatic->getNomUrl(1)
); );
$this->info_box_contents[$i][2] = array('td' => 'align="right"', $this->info_box_contents[$i][2] = array('td' => 'align="left"',
'text' => $objp->nb." ".$langs->trans("Projects"), 'text' => $objp->title
'url' => DOL_URL_ROOT."/projet/liste.php?mainmenu=project&viewstatut=".$objp->fk_statut
); );
$totalnb += $objp->nb;
$sql = "SELECT sum(pt.total_ht) as Mnttot, count(*) as nb"; $sql = "SELECT count(*) as nb, sum(progress) as totprogress";
$sql.= " FROM ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."projet as p"; $sql.= " FROM ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."projet as p";
$sql.= " WHERE pt.fk_projet = p.rowid"; $sql.= " WHERE pt.fk_projet = p.rowid";
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
$sql.= " AND (DATE_FORMAT(p.datec,'%Y') = ".date("Y").")";
$sql.= " AND p.fk_statut=".$objp->fk_statut;
$resultTask = $db->query($sql); $resultTask = $db->query($sql);
if ($resultTask) if ($resultTask)
{ {
$objTask = $db->fetch_object($resultTask); $objTask = $db->fetch_object($resultTask);
$this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => number_format($objTask->nb , 0, ',', ' ')." ".$langs->trans("Tasks")); $this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => number_format($objTask->nb , 0, ',', ' ')." ".$langs->trans("Tasks"));
$this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => number_format($objTask->Mnttot, 0, ',', ' ')." ".$langs->trans("Currency".$conf->currency)); if ($objTask->nb > 0 )
$this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => number_format(($objTask->totprogress/$objTask->nb) , 0, ',', ' ')." % ".$langs->trans("Progress"));
$totalMnt += $objTask->Mnttot; else
$this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => "N/A ");
$totalnbTask += $objTask->nb; $totalnbTask += $objTask->nb;
} }
else else
{ {
$this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => number_format(0 , 0, ',', ' ')); $this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => number_format(0 , 0, ',', ' '));
$this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => dol_trunc(number_format(0 , 0, ',', ' '),40)." ".$langs->trans("Currency".$conf->currency)); $this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => "N/A ");
} }
$this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', 'text' => $projectstatic->LibStatut($objp->fk_statut,3));
$i++; $i++;
} }
@ -135,9 +132,8 @@ class box_projet extends ModeleBoxes {
// Add the sum à the bottom of the boxes // Add the sum à the bottom of the boxes
$this->info_box_contents[$i][0] = array('tr' => 'class="liste_total"', 'td' => 'colspan=2 align="left" ', 'text' => $langs->trans("Total")." ".$textHead); $this->info_box_contents[$i][0] = array('tr' => 'class="liste_total"', 'td' => 'colspan=2 align="left" ', 'text' => $langs->trans("Total")." ".$textHead);
$this->info_box_contents[$i][1] = array('td' => 'align="right" ', 'text' => number_format($totalnb, 0, ',', ' ')." ".$langs->trans("Projects")); $this->info_box_contents[$i][1] = array('td' => 'align="right" ', 'text' => number_format($num, 0, ',', ' ')." ".$langs->trans("Projects"));
$this->info_box_contents[$i][2] = array('td' => 'align="right" ', 'text' => number_format($totalnbTask, 0, ',', ' ')." ".$langs->trans("Tasks")); $this->info_box_contents[$i][2] = array('td' => 'align="right" ', 'text' => number_format($totalnbTask, 0, ',', ' ')." ".$langs->trans("Tasks"));
$this->info_box_contents[$i][3] = array('td' => 'align="right" ', 'text' => number_format($totalMnt, 0, ',', ' ')." ".$langs->trans("Currency".$conf->currency));
$this->info_box_contents[$i][4] = array('td' => 'colspan=2', 'text' => ""); $this->info_box_contents[$i][4] = array('td' => 'colspan=2', 'text' => "");
} }