diff --git a/module/testreport/control.php b/module/testreport/control.php index 748bc72b94..4b5af5bc96 100644 --- a/module/testreport/control.php +++ b/module/testreport/control.php @@ -310,8 +310,13 @@ class testreport extends control $this->view->cases = $cases; $this->view->caseSummary = $this->testreport->getResultSummary($tasks, $cases, $begin, $end); - $perCaseResult = $this->testreport->getPerCaseResult4Report($tasks, $cases, $begin, $end); - $perCaseRunner = $this->testreport->getPerCaseRunner4Report($tasks, $cases, $begin, $end); + $caseList = array(); + foreach($cases as $taskID => $casesList) + { + foreach($casesList as $caseID => $case) $caseList[$caseID] = $case; + } + $perCaseResult = $this->testreport->getPerCaseResult4Report($tasks, array_keys($caseList), $begin, $end); + $perCaseRunner = $this->testreport->getPerCaseRunner4Report($tasks, array_keys($caseList), $begin, $end); $this->view->datas['testTaskPerRunResult'] = $this->loadModel('report')->computePercent($perCaseResult); $this->view->datas['testTaskPerRunner'] = $this->report->computePercent($perCaseRunner); @@ -439,8 +444,8 @@ class testreport extends control $this->view->cases = $cases; $this->view->caseSummary = $this->testreport->getResultSummary($tasks, $cases, $begin, $end); - $perCaseResult = $this->testreport->getPerCaseResult4Report($tasks, $cases, $begin, $end); - $perCaseRunner = $this->testreport->getPerCaseRunner4Report($tasks, $cases, $begin, $end); + $perCaseResult = $this->testreport->getPerCaseResult4Report($tasks, $report->cases, $begin, $end); + $perCaseRunner = $this->testreport->getPerCaseRunner4Report($tasks, $report->cases, $begin, $end); $this->view->datas['testTaskPerRunResult'] = $this->loadModel('report')->computePercent($perCaseResult); $this->view->datas['testTaskPerRunner'] = $this->report->computePercent($perCaseRunner); @@ -511,11 +516,10 @@ class testreport extends control if($this->app->getViewType() == 'mhtml') $recPerPage = 10; $pager = pager::init($recTotal, $recPerPage, $pageID); - $tasks = $report->tasks ? $this->testtask->getByList($report->tasks) : array();; - $builds = $report->builds ? $this->build->getByList($report->builds) : array(); - $cases = $this->testreport->getTaskCases($tasks, $report->begin, $report->end, $report->cases, $pager); - $caseIdList = $this->testreport->getCaseIdList($reportID); - $bugInfo = $this->testreport->getBugInfo($tasks, $report->product, $report->begin, $report->end, $builds); + $tasks = $report->tasks ? $this->testtask->getByList($report->tasks) : array();; + $builds = $report->builds ? $this->build->getByList($report->builds) : array(); + $cases = $this->testreport->getTaskCases($tasks, $report->begin, $report->end); + $bugInfo = $this->testreport->getBugInfo($tasks, $report->product, $report->begin, $report->end, $builds); if($report->objectType == 'testtask') { @@ -537,15 +541,15 @@ class testreport extends control $this->view->stories = $stories; $this->view->bugs = $report->bugs ? $this->bug->getByList($report->bugs) : array(); $this->view->builds = $builds; - $this->view->cases = $cases; + $this->view->cases = $this->testreport->getTaskCases($tasks, $report->begin, $report->end, $report->cases, $pager); $this->view->users = $this->user->getPairs('noletter|noclosed|nodeleted'); $this->view->actions = $this->loadModel('action')->getList('testreport', $reportID); $this->view->storySummary = $this->product->summary($stories); $this->view->caseSummary = $this->testreport->getResultSummary($tasks, $cases, $report->begin, $report->end); - $perCaseResult = $this->testreport->getPerCaseResult4Report($tasks, $caseIdList, $report->begin, $report->end); - $perCaseRunner = $this->testreport->getPerCaseRunner4Report($tasks, $caseIdList, $report->begin, $report->end); + $perCaseResult = $this->testreport->getPerCaseResult4Report($tasks, $report->cases, $report->begin, $report->end); + $perCaseRunner = $this->testreport->getPerCaseRunner4Report($tasks, $report->cases, $report->begin, $report->end); $this->view->datas['testTaskPerRunResult'] = $this->loadModel('report')->computePercent($perCaseResult); $this->view->datas['testTaskPerRunner'] = $this->report->computePercent($perCaseRunner); diff --git a/module/testreport/model.php b/module/testreport/model.php index 2007b22bcd..7dcf955db5 100644 --- a/module/testreport/model.php +++ b/module/testreport/model.php @@ -438,7 +438,7 @@ class testreportModel extends model ->on('t1.run= t2.id') ->where('t2.task')->in(array_keys($tasks)) ->andwhere('t1.date = t2.lastRunDate') - ->andWhere('t1.`case`')->in(array_keys($cases)) + ->andWhere('t1.`case`')->in($cases) ->andWhere('t1.date')->ge($begin) ->andWhere('t1.date')->le($end . " 23:59:59") ->groupBy('name') @@ -470,7 +470,7 @@ class testreportModel extends model ->on('t1.run= t2.id') ->where('t2.task')->in(array_keys($tasks)) ->andwhere('t1.date = t2.lastRunDate') - ->andWhere('t1.`case`')->in(array_keys($cases)) + ->andWhere('t1.`case`')->in($cases) ->andWhere('t1.date')->ge($begin) ->andWhere('t1.date')->le($end . " 23:59:59") ->groupBy('name')