Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
…evelop
- Loading branch information
Showing
10 changed files
with
618 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
<?php | ||
/* Copyright (C) 2012-2014 Charles-François BENKE <charles.fr@benke.fr> | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation; either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
/** | ||
* \file htdocs/core/boxes/box_activite.php | ||
* \ingroup projet | ||
* \brief Module to show Projet activity of the current Year | ||
*/ | ||
include_once(DOL_DOCUMENT_ROOT."/core/boxes/modules_boxes.php"); | ||
|
||
/** | ||
* Class to manage the box to show last projet | ||
*/ | ||
class box_project extends ModeleBoxes | ||
{ | ||
var $boxcode="project"; | ||
var $boximg="object_projectpub"; | ||
var $boxlabel; | ||
//var $depends = array("projet"); | ||
var $db; | ||
var $param; | ||
|
||
var $info_box_head = array(); | ||
var $info_box_contents = array(); | ||
|
||
/** | ||
* \brief Constructeur de la classe | ||
*/ | ||
function box_project() | ||
{ | ||
global $langs; | ||
$langs->load("boxes"); | ||
$langs->load("projects"); | ||
|
||
$this->boxlabel="Projet"; | ||
} | ||
|
||
/** | ||
* Load data for box to show them later | ||
* | ||
* @param int $max Maximum number of records to load | ||
* @return void | ||
*/ | ||
function loadBox($max=5) | ||
{ | ||
global $conf, $user, $langs, $db; | ||
|
||
$this->max=$max; | ||
|
||
$totalMnt = 0; | ||
$totalnb = 0; | ||
$totalnbTask=0; | ||
include_once(DOL_DOCUMENT_ROOT."/projet/class/project.class.php"); | ||
require_once(DOL_DOCUMENT_ROOT."/core/lib/project.lib.php"); | ||
$projectstatic=new Project($db); | ||
|
||
|
||
|
||
$textHead = $langs->trans("Projet"); | ||
$this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead)); | ||
|
||
// list the summary of the orders | ||
if ($user->rights->projet->lire) | ||
{ | ||
|
||
$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.= ")"; | ||
$sql.= " WHERE p.fk_soc = s.rowid"; | ||
$sql.= " AND s.entity = ".$conf->entity; | ||
$sql.= " AND p.fk_statut = 1"; // Seulement les projets ouverts | ||
$sql.= " ORDER BY p.datec DESC"; | ||
$sql.= $db->plimit($max, 0); | ||
|
||
$result = $db->query($sql); | ||
|
||
if ($result) | ||
{ | ||
$num = $db->num_rows($result); | ||
$i = 0; | ||
while ($i < $num) | ||
{ | ||
$this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_projectpub'); | ||
|
||
$objp = $db->fetch_object($result); | ||
$projectstatic->fetch($objp->rowid); | ||
|
||
$this->info_box_contents[$i][1] = array('td' => 'align="left"', | ||
'text' =>$projectstatic->getNomUrl(1) | ||
); | ||
|
||
$this->info_box_contents[$i][2] = array('td' => 'align="left"', | ||
'text' => $objp->title | ||
); | ||
|
||
$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.=" WHERE pt.fk_projet = p.rowid"; | ||
$sql.=" AND p.entity = ".$conf->entity; | ||
$resultTask = $db->query($sql); | ||
if ($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")); | ||
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")); | ||
else | ||
$this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => "N/A "); | ||
$totalnbTask += $objTask->nb; | ||
} | ||
else | ||
{ | ||
$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' => "N/A "); | ||
} | ||
|
||
$i++; | ||
} | ||
} | ||
} | ||
|
||
|
||
// 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][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][4] = array('td' => 'colspan=2', 'text' => ""); | ||
|
||
} | ||
|
||
/** | ||
* Method to show box | ||
* | ||
* @param array $head Array with properties of box title | ||
* @param array $contents Array with properties of box lines | ||
* @return void | ||
*/ | ||
function showBox($head = null, $contents = null) | ||
{ | ||
parent::showBox($this->info_box_head, $this->info_box_contents); | ||
} | ||
} | ||
?> |
Oops, something went wrong.