Fix time spent counted twice
This commit is contained in:
parent
0d192df1fd
commit
f153d9c9ff
@ -899,11 +899,15 @@ function projectLinesPerWeek(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$
|
||||
$projectstatic->id = $lines[$i]->fk_project;
|
||||
}
|
||||
|
||||
//var_dump('--- '.$level.' '.$firstdaytoshow.' '.$fuser->id.' '.$projectstatic->id.' '.$workloadforid[$projectstatic->id]);
|
||||
//var_dump($projectstatic->weekWorkLoadPerTask);
|
||||
if (empty($workloadforid[$projectstatic->id]))
|
||||
{
|
||||
$projectstatic->loadTimeSpent($firstdaytoshow, 0, $fuser->id); // Load time spent from table projet_task_time for the project into this->weekWorkLoad and this->weekWorkLoadPerTask for all days of a week
|
||||
$workloadforid[$projectstatic->id]=1;
|
||||
}
|
||||
//var_dump($projectstatic->weekWorkLoadPerTask);
|
||||
//var_dump('--- '.$projectstatic->id.' '.$workloadforid[$projectstatic->id]);
|
||||
|
||||
$projectstatic->id=$lines[$i]->fk_project;
|
||||
$projectstatic->ref=$lines[$i]->projectref;
|
||||
@ -1033,6 +1037,7 @@ function projectLinesPerWeek(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$
|
||||
|
||||
$tmparray=dol_getdate($tmpday);
|
||||
$dayWorkLoad = $projectstatic->weekWorkLoadPerTask[$tmpday][$lines[$i]->id];
|
||||
|
||||
$alreadyspent='';
|
||||
if ($dayWorkLoad > 0) $alreadyspent=convertSecondToTime($dayWorkLoad,'allhourmin');
|
||||
$alttitle=$langs->trans("AddHereTimeSpentForDay",$tmparray['day'],$tmparray['mon']);
|
||||
|
||||
@ -1659,7 +1659,7 @@ class Project extends CommonObject
|
||||
* @param int $userid Time spent by a particular user
|
||||
* @return int <0 if OK, >0 if KO
|
||||
*/
|
||||
public function loadTimeSpent($datestart,$taskid=0,$userid=0)
|
||||
public function loadTimeSpent($datestart, $taskid=0, $userid=0)
|
||||
{
|
||||
$error=0;
|
||||
|
||||
@ -1670,7 +1670,7 @@ class Project extends CommonObject
|
||||
$sql.= " WHERE ptt.fk_task = pt.rowid";
|
||||
$sql.= " AND pt.fk_projet = ".$this->id;
|
||||
$sql.= " AND (ptt.task_date >= '".$this->db->idate($datestart)."' ";
|
||||
$sql.= " AND ptt.task_date <= '".$this->db->idate($datestart + (7 * 24 * 3600) - 1)."')";
|
||||
$sql.= " AND ptt.task_date <= '".$this->db->idate(dol_time_plus_duree($datestart, 1, 'w') - 1)."')";
|
||||
if ($task_id) $sql.= " AND ptt.fk_task=".$taskid;
|
||||
if (is_numeric($userid)) $sql.= " AND ptt.fk_user=".$userid;
|
||||
|
||||
@ -1678,16 +1678,28 @@ class Project extends CommonObject
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
//unset($this->weekWorkLoad[$day]);
|
||||
//unset($this->weekWorkLoadPerTask[$day]);
|
||||
$daylareadyfound=array();
|
||||
|
||||
$num = $this->db->num_rows($resql);
|
||||
$i = 0;
|
||||
// Loop on each record found, so each couple (project id, task id)
|
||||
while ($i < $num)
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj=$this->db->fetch_object($resql);
|
||||
$day=$this->db->jdate($obj->task_date);
|
||||
$this->weekWorkLoad[$day] += $obj->task_duration;
|
||||
$this->weekWorkLoadPerTask[$day][$obj->fk_task] += $obj->task_duration;
|
||||
if (empty($daylareadyfound[$day]))
|
||||
{
|
||||
$this->weekWorkLoad[$day] = $obj->task_duration;
|
||||
$this->weekWorkLoadPerTask[$day][$obj->fk_task] = $obj->task_duration;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->weekWorkLoad[$day] += $obj->task_duration;
|
||||
$this->weekWorkLoadPerTask[$day][$obj->fk_task] += $obj->task_duration;
|
||||
}
|
||||
$daylareadyfound[$day]=1;
|
||||
$i++;
|
||||
}
|
||||
$this->db->free($resql);
|
||||
|
||||
@ -474,6 +474,16 @@ if ($id > 0 || ! empty($ref))
|
||||
print '<div class="underbanner clearboth"></div>';
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Task parent
|
||||
print '<tr><td>'.$langs->trans("ChildOfTask").'</td><td>';
|
||||
if ($object->fk_task_parent > 0)
|
||||
{
|
||||
$tasktmp=new Task($db);
|
||||
$tasktmp->fetch($object->fk_task_parent);
|
||||
print $tasktmp->getNomUrl(1);
|
||||
}
|
||||
print '</td></tr>';
|
||||
|
||||
// Date start - Date end
|
||||
print '<tr><td class="titlefield">'.$langs->trans("DateStart").' - '.$langs->trans("DateEnd").'</td><td colspan="3">';
|
||||
$start = dol_print_date($object->date_start,'dayhour');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user