This commit is contained in:
zhouxin
2023-04-26 10:56:12 +00:00
4 changed files with 37 additions and 40 deletions
+2 -2
View File
@@ -1932,7 +1932,7 @@ class projectModel extends model
* @access public
* @return array $changes|false
*/
public function activate($project) :array|false
public function activate(object $project) :array|false
{
$now = helper::now();
$projectID = $project->id;
@@ -1948,7 +1948,7 @@ class projectModel extends model
if($project->readjustTime and $project->readjustTask)
{
$beginTimeStamp = strtotime($project->begin);
$tasks = $this->projectTao->fetchUndoneTasks($projectID);
$tasks = $this->projectTao->fetchUndoneTasks((int)$projectID);
$this->projectTao->updateTasksStartAndEndDate($tasks);
}
/* Activate the shadow product of the project. (only change product status) */
+8 -7
View File
@@ -16,7 +16,7 @@ class projectTao extends projectModel
* @access protected
* @return void
*/
protected function doStart(int $projectID, object $project):void
protected function doStart(int $projectID, object $project) :void
{
$this->dao->update(TABLE_PROJECT)->data($project)
->autoCheck()
@@ -26,14 +26,15 @@ class projectTao extends projectModel
->where('id')->eq((int)$projectID)
->exec();
}
/**
* Update project.
*
* @param object $project
* @param object $project
* @access protected
* @return void
*/
protected function updateProject($project) :void
protected function updateProject(object $project) :void
{
$this->dao->update(TABLE_PROJECT)->data($project)
->autoCheck()
@@ -45,11 +46,11 @@ class projectTao extends projectModel
/**
* Fetch undone tasks.
*
* @param int $projectID
* @param int $projectID
* @access protected
* @return array
*/
protected function fetchUndoneTasks($projectID) :array
protected function fetchUndoneTasks(int $projectID) :array
{
return $this->dao->select('id,estStarted,deadline,status')->from(TABLE_TASK)
->where('deadline')->notZeroDate()
@@ -61,11 +62,11 @@ class projectTao extends projectModel
/**
* Update start and end date of tasks.
*
* @param array $tasks
* @param array $tasks
* @access protected
* @return void
*/
protected function updateTasksStartAndEndDate($tasks) :void
protected function updateTasksStartAndEndDate(array $tasks) :void
{
foreach($tasks as $task)
{
+27 -7
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
su('admin');
/**
@@ -9,16 +9,36 @@ title=测试 projectModel->activate();
cid=1
pid=1
激活id为66状态是closed的项目 >> status,closed,doing
激活id为73状态是suspended的项目 >> status,suspended,doing
激活id为20的项目 >> object
激活id为20的项目 >> object
*/
global $tester;
$tester->loadModel('project');
$changes1 = $tester->project->activate(66);
$changes2 = $tester->project->activate(73);
$project = new Project();
$data1 = array(
'id' => 2,
'begin'=> '2023-04-26',
'end'=> '10001-01-07',
'readjustTime'=> 1,
'readjustTask'=> 1,
'status'=> 'doing',
'comment'=> 'sdfsdf'
);
$data2 = array(
'id' => 3,
'begin'=> '2023-04-26',
'end'=> '10001-01-07',
'readjustTime'=> 1,
'readjustTask'=> 1,
'status'=> 'doing',
'comment'=> 'sdfsdf'
);
r($project->activate($data1)) && p('1:field,old,new') && e('status,closed,doing'); // 激活id为2状态是closed的项目
r($project->activate($data2)) && p('1:field,old,new') && e('status,suspended,doing'); // 激活id为3状态是suspended的项目
r($changes1) && p('1:field,old,new') && e('status,closed,doing'); // 激活id为66状态是closed的项目
r($changes2) && p('1:field,old,new') && e('status,suspended,doing'); // 激活id为73状态是suspended的项目
-24
View File
@@ -1,24 +0,0 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
su('admin');
/**
title=测试 projectModel->activate();
cid=1
pid=1
激活id为66状态是closed的项目 >> status,closed,doing
激活id为73状态是suspended的项目 >> status,suspended,doing
*/
global $tester;
$tester->loadModel('project');
$changes1 = $tester->project->activate(66);
$changes2 = $tester->project->activate(73);
r($changes1) && p('1:field,old,new') && e('status,closed,doing'); // 激活id为66状态是closed的项目
r($changes2) && p('1:field,old,new') && e('status,suspended,doing'); // 激活id为73状态是suspended的项目