From 10b763fdf2b8a67dac856a5ec08a2c437605504c Mon Sep 17 00:00:00 2001 From: tianshujie Date: Thu, 2 Jun 2022 16:35:48 +0800 Subject: [PATCH] * Fix bug #23230. --- module/testcase/model.php | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/module/testcase/model.php b/module/testcase/model.php index acb1fb01c3..ba07b6894d 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -396,15 +396,27 @@ class testcaseModel extends model foreach($case as $key => $value) if(strpos($key, 'Date') !== false and !(int)substr($value, 0, 4)) $case->$key = ''; /* Get project and execution. */ - $objects = $this->dao->select('t1.*, t1.project as objectID, t2.type')->from(TABLE_PROJECTCASE)->alias('t1') - ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project=t2.id') - ->where('t1.case')->eq($caseID) - ->fetchAll('objectID'); - - foreach($objects as $objectID => $object) + if($this->app->tab == 'project') { - if($object->type == 'project') $case->project = $objectID; - if(in_array($object->type, array('sprint', 'stage'))) $case->execution = $objectID; + $case->project = $this->session->project; + } + elseif($this->app->tab == 'execution') + { + $case->execution = $this->session->execution; + $case->project = $this->dao->select('project')->from(TABLE_PROJECT)->where('id')->eq($case->execution)->fetch('project'); + } + else + { + $objects = $this->dao->select('t1.*, t1.project as objectID, t2.type')->from(TABLE_PROJECTCASE)->alias('t1') + ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project=t2.id') + ->where('t1.case')->eq($caseID) + ->fetchAll('objectID'); + + foreach($objects as $objectID => $object) + { + if($object->type == 'project') $case->project = $objectID; + if(in_array($object->type, array('sprint', 'stage', 'kanban'))) $case->execution = $objectID; + } } if($case->story)