From 369f51c182f76d7e6162ac00543a312c8b9964ff Mon Sep 17 00:00:00 2001 From: guofeilong Date: Wed, 26 Apr 2023 18:52:26 +0800 Subject: [PATCH 1/2] * Code for testcase project activate. --- module/project/test/model/activate.php | 34 ++++++++++++++++++++------ test/model/project/activate.php | 24 ------------------ 2 files changed, 27 insertions(+), 31 deletions(-) delete mode 100755 test/model/project/activate.php diff --git a/module/project/test/model/activate.php b/module/project/test/model/activate.php index 437fa349f5..366c2a505b 100755 --- a/module/project/test/model/activate.php +++ b/module/project/test/model/activate.php @@ -1,6 +1,6 @@ #!/usr/bin/env php 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的项目 diff --git a/test/model/project/activate.php b/test/model/project/activate.php deleted file mode 100755 index 455c4cef16..0000000000 --- a/test/model/project/activate.php +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env php -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的项目 From 7fb41fcc09b7cf5a3c801264fdae282c11894034 Mon Sep 17 00:00:00 2001 From: sunguangming Date: Wed, 26 Apr 2023 18:55:01 +0800 Subject: [PATCH 2/2] * Add default type to param. --- module/project/model.php | 4 ++-- module/project/tao.php | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/module/project/model.php b/module/project/model.php index 7c21510007..daa974f117 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -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) */ diff --git a/module/project/tao.php b/module/project/tao.php index ea7862c4ba..5c913bdc0f 100644 --- a/module/project/tao.php +++ b/module/project/tao.php @@ -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) {