* finish task #1202.

This commit is contained in:
wangyidong
2014-08-13 09:03:41 +00:00
parent 5e9ac3f2bc
commit fd0f8e02f2
13 changed files with 117 additions and 3 deletions

View File

@@ -499,6 +499,13 @@ class taskModel extends model
$data->assignedDate = $now;
$data->realStarted = date('Y-m-d');
}
else if($task->status == 'pause')
{
$task->status = 'doing';
$data->status = $task->status;
$data->assignedTo = $this->app->user->account;
$data->assignedDate = $now;
}
$this->dao->update(TABLE_TASK)->data($data)->where('id')->eq($taskID)->exec();
@@ -558,6 +565,28 @@ class taskModel extends model
if($oldTask->story) $this->loadModel('story')->setStage($oldTask->story);
if(!dao::isError()) return common::createChanges($oldTask, $task);
}
/**
* Pause task
*
* @param int $taskID
* @access public
* @return array
*/
public function pause($taskID)
{
$oldTask = $this->getById($taskID);
$now = helper::now();
$task = fixer::input('post')
->setDefault('status', 'pause')
->setDefault('lastEditedBy', $this->app->user->account)
->setDefault('lastEditedDate', $now)
->remove('comment')->get();
$this->dao->update(TABLE_TASK)->data($task)->autoCheck()->where('id')->eq((int)$taskID)->exec();
if(!dao::isError()) return common::createChanges($oldTask, $task);
}
/**
* Close a task.
@@ -1334,7 +1363,8 @@ class taskModel extends model
if($action == 'finish') return $task->status != 'done' and $task->status != 'closed' and $task->status != 'cancel';
if($action == 'close') return $task->status == 'done' or $task->status == 'cancel';
if($action == 'activate') return $task->status == 'done' or $task->status == 'closed' or $task->status == 'cancel' ;
if($action == 'cancel') return $task->status != 'done ' and $task->status != 'closed' and $task->status != 'cancel';
if($action == 'cancel') return $task->status != 'done' and $task->status != 'closed' and $task->status != 'cancel';
if($action == 'pause') return $task->status != 'done' and $task->status != 'closed' and $task->status != 'cancel' and $task->status != 'wait' and $task->status != 'pause';
return true;
}