* adjust for delete estimate.
This commit is contained in:
+24
-9
@@ -358,18 +358,33 @@ class reportModel extends model
|
||||
$taskGroups[$task->assignedTo][$task->id] = $task;
|
||||
}
|
||||
|
||||
$multiTaskTeams = $this->dao->select('*')->from(TABLE_TASKTEAM)->where('task')->in(array_keys($allTasks))
|
||||
$stmt = $this->dao->select('*')->from(TABLE_TASKTEAM)->where('task')->in(array_keys($allTasks))
|
||||
->beginIF($dept)->andWhere('account')->in(array_keys($deptUsers))->fi()
|
||||
->fetchGroup('account', 'task');
|
||||
foreach($multiTaskTeams as $assignedTo => $multiTasks)
|
||||
->query();
|
||||
$multiTaskTeams = array();
|
||||
while($taskTeam = $stmt->fetch())
|
||||
{
|
||||
foreach($multiTasks as $task)
|
||||
$account = $taskTeam->account;
|
||||
if(!isset($multiTaskTeams[$account][$taskTeam->task]))
|
||||
{
|
||||
$userTask = clone $allTasks[$task->root];
|
||||
$userTask->estimate = $task->estimate;
|
||||
$userTask->consumed = $task->consumed;
|
||||
$userTask->left = $task->left;
|
||||
$taskGroups[$assignedTo][$task->root] = $userTask;
|
||||
$multiTaskTeams[$account][$taskTeam->task] = $taskTeam;
|
||||
}
|
||||
else
|
||||
{
|
||||
$multiTaskTeams[$account][$taskTeam->task]->estimate += $taskTeam->estimate;
|
||||
$multiTaskTeams[$account][$taskTeam->task]->consumed += $taskTeam->consumed;
|
||||
$multiTaskTeams[$account][$taskTeam->task]->left = $taskTeam->left;
|
||||
}
|
||||
}
|
||||
foreach($multiTaskTeams as $assignedTo => $taskTeams)
|
||||
{
|
||||
foreach($taskTeams as $taskTeam)
|
||||
{
|
||||
$userTask = clone $allTasks[$taskTeam->task];
|
||||
$userTask->estimate = $taskTeam->estimate;
|
||||
$userTask->consumed = $taskTeam->consumed;
|
||||
$userTask->left = $taskTeam->left;
|
||||
$taskGroups[$assignedTo][$taskTeam->task] = $userTask;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1228,7 +1228,8 @@ class task extends control
|
||||
public function deleteEstimate($estimateID, $confirm = 'no')
|
||||
{
|
||||
$estimate = $this->task->getEstimateById($estimateID);
|
||||
$task = $this->task->getById($estimate->task);
|
||||
$taskID = $estimate->objectID;
|
||||
$task = $this->task->getById($taskID);
|
||||
if($confirm == 'no' and $task->consumed - $estimate->consumed != 0)
|
||||
{
|
||||
return print(js::confirm($this->lang->task->confirmDeleteEstimate, $this->createLink('task', 'deleteEstimate', "estimateID=$estimateID&confirm=yes")));
|
||||
@@ -1242,12 +1243,12 @@ class task extends control
|
||||
$changes = $this->task->deleteEstimate($estimateID);
|
||||
if(dao::isError()) return print(js::error(dao::getError()));
|
||||
|
||||
$actionID = $this->loadModel('action')->create('task', $estimate->task, 'DeleteEstimate');
|
||||
$actionID = $this->loadModel('action')->create('task', $taskID, 'DeleteEstimate');
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
|
||||
if($task->consumed - $estimate->consumed == 0)
|
||||
{
|
||||
$this->loadModel('action')->create('task', $estimate->task, 'Adjusttasktowait');
|
||||
$this->action->create('task', $taskID, 'Adjusttasktowait');
|
||||
return print(js::reload('parent.parent'));
|
||||
}
|
||||
|
||||
|
||||
@@ -2873,7 +2873,7 @@ class taskModel extends model
|
||||
if($estimate->consumed < 0) return dao::$errors[] = sprintf($this->lang->error->ge, $this->lang->task->record, '0');
|
||||
if($estimate->left < 0) return dao::$errors[] = sprintf($this->lang->error->ge, $this->lang->task->left, '0');
|
||||
|
||||
$task = $this->getById($oldEstimate->task);
|
||||
$task = $this->getById($oldEstimate->objectID);
|
||||
$this->dao->update(TABLE_EFFORT)->data($estimate)
|
||||
->autoCheck()
|
||||
->where('id')->eq((int)$estimateID)
|
||||
@@ -2946,7 +2946,7 @@ class taskModel extends model
|
||||
public function deleteEstimate($estimateID)
|
||||
{
|
||||
$estimate = $this->getEstimateById($estimateID);
|
||||
$task = $this->getById($estimate->task);
|
||||
$task = $this->getById($estimate->objectID);
|
||||
$now = helper::now();
|
||||
|
||||
$consumed = $task->consumed - $estimate->consumed;
|
||||
@@ -2954,7 +2954,7 @@ class taskModel extends model
|
||||
if($estimate->isLast)
|
||||
{
|
||||
$lastTwoEstimates = $this->dao->select('*')->from(TABLE_EFFORT)
|
||||
->where('objectID')->eq($estimate->task)
|
||||
->where('objectID')->eq($estimate->objectID)
|
||||
->andWhere('objectType')->eq('task')
|
||||
->orderBy('date desc,id desc')->limit(2)->fetchAll();
|
||||
$lastTwoEstimate = isset($lastTwoEstimates[1]) ? $lastTwoEstimates[1] : '';
|
||||
@@ -3031,7 +3031,7 @@ class taskModel extends model
|
||||
$this->dao->update(TABLE_EFFORT)->set('deleted')->eq('1')->where('id')->eq($estimateID)->exec();
|
||||
if(!empty($task->team)) $data = $this->computeHours4Multiple($task, $data);
|
||||
|
||||
$this->dao->update(TABLE_TASK)->data($data) ->where('id')->eq($estimate->task)->exec();
|
||||
$this->dao->update(TABLE_TASK)->data($data) ->where('id')->eq($estimate->objectID)->exec();
|
||||
if($task->parent > 0) $this->updateParentStatus($task->id);
|
||||
if($task->story) $this->loadModel('story')->setStage($task->story);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user