* finishe the module of testtask.
This commit is contained in:
@@ -4,7 +4,7 @@ $app->loadLang('testcase');
|
||||
$config->testcase->search['module'] = 'testcase';
|
||||
$config->testcase->search['fields']['id'] = $lang->testcase->id;
|
||||
$config->testcase->search['fields']['title'] = $lang->testcase->title;
|
||||
$config->testcase->search['fields']['steps'] = $lang->testcase->steps;
|
||||
$config->testcase->search['fields']['module'] = $lang->testcase->module;
|
||||
$config->testcase->search['fields']['openedBy'] = $lang->testcase->openedBy;
|
||||
$config->testcase->search['fields']['lastEditedBy'] = $lang->testcase->lastEditedBy;
|
||||
$config->testcase->search['fields']['status'] = $lang->testcase->status;
|
||||
@@ -14,7 +14,7 @@ $config->testcase->search['fields']['openedDate'] = $lang->testcase->openedD
|
||||
$config->testcase->search['fields']['lastEditedDate'] = $lang->testcase->lastEditedDate;
|
||||
|
||||
$config->testcase->search['params']['title'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
$config->testcase->search['params']['steps'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
$config->testcase->search['params']['module'] = array('operator' => '=', 'control' => 'select', 'values' => '');
|
||||
$config->testcase->search['params']['openedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
|
||||
$config->testcase->search['params']['lastEditedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
|
||||
$config->testcase->search['params']['status'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->testcase->statusList);
|
||||
|
||||
@@ -102,9 +102,9 @@ class testtask extends control
|
||||
$this->view->position[] = $this->lang->testtask->view;
|
||||
|
||||
/* 赋值。*/
|
||||
$this->view->task = $task;
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noletter');
|
||||
$this->view->cases = $this->testtask->getCases($taskID);
|
||||
$this->view->task = $task;
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noclosed');
|
||||
$this->view->runs = $this->testtask->getRuns($taskID);
|
||||
|
||||
$this->display();
|
||||
}
|
||||
@@ -163,14 +163,15 @@ class testtask extends control
|
||||
$this->locate(inlink('view', "taskID=$taskID"));
|
||||
}
|
||||
|
||||
/* 构造搜索表单。*/
|
||||
$this->config->testcase->search['actionURL'] = inlink('linkcase', "taskID=$taskID");
|
||||
$this->view->searchForm = $this->fetch('search', 'buildForm', $this->config->testcase->search);
|
||||
|
||||
/* 获得task信息。*/
|
||||
$task = $this->testtask->getById($taskID);
|
||||
$productID = common::saveProductState($task->product, key($this->products));
|
||||
|
||||
/* 构造搜索表单。*/
|
||||
$this->config->testcase->search['params']['module']['values'] = $this->loadModel('tree')->getOptionMenu($productID, $viewType = 'case');
|
||||
$this->config->testcase->search['actionURL'] = inlink('linkcase', "taskID=$taskID");
|
||||
$this->view->searchForm = $this->fetch('search', 'buildForm', $this->config->testcase->search);
|
||||
|
||||
/* 设置菜单。*/
|
||||
$this->testtask->setMenu($this->products, $productID);
|
||||
|
||||
@@ -181,10 +182,52 @@ class testtask extends control
|
||||
|
||||
/* 获得用例列表。*/
|
||||
if($this->session->testcaseQuery == false) $this->session->set('testcaseQuery', ' 1 = 1');
|
||||
$this->view->cases = $this->dao->select('*')->from(TABLE_CASE)->where($this->session->testcaseQuery)->andWhere('product')->eq($productID)->orderBy('id desc')->fetchAll();
|
||||
$linkedCases = $this->dao->select('`case`')->from(TABLE_TESTRUN)->where('task')->eq($taskID)->fetchPairs('case');
|
||||
$this->view->cases = $this->dao->select('*')->from(TABLE_CASE)->where($this->session->testcaseQuery)->andWhere('product')->eq($productID)->andWhere('id')->notIN($linkedCases)->orderBy('id desc')->fetchAll();
|
||||
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noletter');
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 移除用例。*/
|
||||
public function unlinkCase($rowID)
|
||||
{
|
||||
$this->dao->delete()->from(TABLE_TESTRUN)->where('id')->eq((int)$rowID)->exec();
|
||||
die(js::reload('parent'));
|
||||
}
|
||||
|
||||
/* 执行用例。*/
|
||||
public function runCase($runID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$this->testtask->createResult($runID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
echo js::reload('parent');
|
||||
die(js::closeWindow());
|
||||
}
|
||||
|
||||
$this->view->run = $this->testtask->getRunById($runID);
|
||||
die($this->display());
|
||||
}
|
||||
|
||||
/* 查看结果列表。*/
|
||||
public function results($runID)
|
||||
{
|
||||
$this->view->run = $this->testtask->getRunById($runID);
|
||||
$this->view->results = $this->testtask->getRunResults($runID);
|
||||
die($this->display());
|
||||
}
|
||||
|
||||
/* 批量指派。*/
|
||||
public function batchAssign($taskID)
|
||||
{
|
||||
$this->dao->update(TABLE_TASKCASE)
|
||||
->set('assignedTo')->eq($this->post->assignedTo)
|
||||
->where('task')->eq((int)$taskID)
|
||||
->andWhere('`case`')->in($this->post->cases)
|
||||
->exec();
|
||||
die(js::reload('parent'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,11 @@ $lang->testtask->name = '测试任务名称';
|
||||
$lang->testtask->begin = '开始日期';
|
||||
$lang->testtask->end = '结束日期';
|
||||
$lang->testtask->desc = '任务描述';
|
||||
$lang->testtask->status = '测试任务状态';
|
||||
$lang->testtask->status = '状态';
|
||||
$lang->testtask->assignedTo = '指派给';
|
||||
$lang->testtask->linkVersion = '关联(版本)';
|
||||
$lang->testtask->lastRun = '最后执行';
|
||||
$lang->testtask->lastResult = '最终结果';
|
||||
|
||||
$lang->testtask->common = '测试任务';
|
||||
$lang->testtask->index = "测试任务首页";
|
||||
@@ -39,12 +43,17 @@ $lang->testtask->view = "测试任务详情";
|
||||
$lang->testtask->edit = "编辑测试任务";
|
||||
$lang->testtask->browse = "测试任务列表";
|
||||
$lang->testtask->linkCase = "关联用例";
|
||||
$lang->testtask->unlinkCase = "移除用例";
|
||||
$lang->testtask->executeCase = "执行用例";
|
||||
$lang->testtask->unlinkCase = "移除";
|
||||
$lang->testtask->batchAssign = "批量指派";
|
||||
$lang->testtask->runCase = "执行";
|
||||
$lang->testtask->results = "结果";
|
||||
$lang->testtask->createBug = "创建Bug";
|
||||
$lang->testtask->assign = '指派';
|
||||
|
||||
$lang->testtask->statusList['wait'] = '未开始';
|
||||
$lang->testtask->statusList['doing'] = '进行中';
|
||||
$lang->testtask->statusList['done'] = '已完成';
|
||||
$lang->testtask->statusList['wait'] = '未开始';
|
||||
$lang->testtask->statusList['doing'] = '进行中';
|
||||
$lang->testtask->statusList['done'] = '已完成';
|
||||
$lang->testtask->statusList['blocked'] = '被阻塞';
|
||||
|
||||
$lang->testtask->unlinkedCases = '未关联用例列表';
|
||||
$lang->testtask->linkedCases = '已关联用例列表';
|
||||
|
||||
@@ -91,17 +91,83 @@ class testtaskModel extends model
|
||||
$row->task = $taskID;
|
||||
$row->case = $caseID;
|
||||
$row->version = $this->post->versions[$key];
|
||||
$row->assignedTo = $this->app->user->account;
|
||||
$this->dao->replace(TABLE_TASKCASE)->data($row)->exec();
|
||||
$row->assignedTo = '';
|
||||
$row->status = 'wait';
|
||||
$this->dao->replace(TABLE_TESTRUN)->data($row)->exec();
|
||||
}
|
||||
}
|
||||
|
||||
/* 获得任务的用例列表。*/
|
||||
public function getCases($taskID)
|
||||
/* 获得任务的执行用例列表。*/
|
||||
public function getRuns($taskID)
|
||||
{
|
||||
return $this->dao->select('t2.*,t1.*')->from(TABLE_TASKCASE)->alias('t1')
|
||||
return $this->dao->select('t2.*,t1.*')->from(TABLE_TESTRUN)->alias('t1')
|
||||
->leftJoin(TABLE_CASE)->alias('t2')->on('t1.case = t2.id')
|
||||
->where('t1.task')->eq((int)$taskID)
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 获得某一个testrun的信息。*/
|
||||
public function getRunById($runID)
|
||||
{
|
||||
$testRun = $this->dao->findById($runID)->from(TABLE_TESTRUN)->fetch();
|
||||
$testRun->case = $this->loadModel('testcase')->getById($testRun->case, $testRun->version);
|
||||
return $testRun;
|
||||
}
|
||||
|
||||
/* 创建测试结果。*/
|
||||
public function createResult($runID)
|
||||
{
|
||||
/* 计算case的结果。*/
|
||||
$caseResult = 'pass';
|
||||
foreach($this->post->steps as $stepID => $stepResult)
|
||||
{
|
||||
if($stepResult != 'pass' and $stepResult != 'n/a')
|
||||
{
|
||||
$caseResult = $stepResult;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 合并步骤的实际输出结果。*/
|
||||
foreach($this->post->steps as $stepID =>$stepResult)
|
||||
{
|
||||
$step['result'] = $stepResult;
|
||||
$step['real'] = $this->post->reals[$stepID];
|
||||
$stepResults[$stepID] = $step;
|
||||
}
|
||||
|
||||
$now = date('Y-m-d H:i:s');
|
||||
$result = fixer::input('post')
|
||||
->add('run', $runID)
|
||||
->add('caseResult', $caseResult)
|
||||
->setForce('stepResults', serialize($stepResults))
|
||||
->add('date', $now)
|
||||
->remove('steps')
|
||||
->remove('reals')
|
||||
->get();
|
||||
$this->dao->insert(TABLE_TESTRESULT)->data($result)->autoCheck()->exec();
|
||||
if(!dao::isError())
|
||||
{
|
||||
$runStatus = $caseResult == 'blocked' ? 'blocked' : 'done';
|
||||
$this->dao->update(TABLE_TESTRUN)
|
||||
->set('lastResult')->eq($caseResult)
|
||||
->set('status')->eq($runStatus)
|
||||
->set('lastRun')->eq($now)
|
||||
->where('id')->eq($runID)
|
||||
->exec();
|
||||
}
|
||||
}
|
||||
|
||||
/* 获得执行结果。*/
|
||||
public function getRunResults($runID)
|
||||
{
|
||||
$results = $this->dao->select('*')->from(TABLE_TESTRESULT)->where('run')->eq($runID)->orderBy('id desc')->fetchAll('id');
|
||||
if(!$results) return array();
|
||||
foreach($results as $resultID => $result)
|
||||
{
|
||||
$result->stepResults = unserialize($result->stepResults);
|
||||
$results[$resultID] = $result;
|
||||
}
|
||||
return $results;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
* @copyright Copyright: 2009 Chunsheng Wang
|
||||
* @author Chunsheng Wang <wwccss@263.net>
|
||||
* @package testtask
|
||||
* @version $Id: browse.html.php 271 2010-01-09 03:37:02Z wwccss $
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.cn
|
||||
*/
|
||||
?>
|
||||
|
||||
@@ -25,6 +25,15 @@
|
||||
<?php include '../../common/header.html.php';?>
|
||||
<?php include '../../common/colorize.html.php';?>
|
||||
<?php include '../../common/tablesorter.html.php';?>
|
||||
<script language="Javascript">
|
||||
function checkall(checker)
|
||||
{
|
||||
$('input').each(function()
|
||||
{
|
||||
$(this).attr("checked", checker.checked)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<div class='yui-d0'>
|
||||
<?php echo $searchForm;?>
|
||||
<form method='post'>
|
||||
@@ -38,7 +47,7 @@
|
||||
<th><?php echo $lang->testcase->type;?></th>
|
||||
<th><?php echo $lang->testcase->openedBy;?></th>
|
||||
<th><?php echo $lang->testcase->status;?></th>
|
||||
<th><?php echo $lang->testtask->linkCase . '/' . $lang->testcase->version;?></th>
|
||||
<th class='w-50px'><nobr><?php echo $lang->testtask->linkVersion;?></nobr></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -59,14 +68,17 @@
|
||||
<td><?php echo $lang->testcase->typeList[$case->type];?></td>
|
||||
<td><?php echo $users[$case->openedBy];?></td>
|
||||
<td><?php echo $lang->testcase->statusList[$case->status];?></td>
|
||||
<td>
|
||||
<td class='a-left'><nobr>
|
||||
<input type='checkbox' name='cases[]' value='<?php echo $case->id;?>' />
|
||||
<?php echo html::select('versions[]', array_combine(range($case->version, 1), range($case->version, 1)), '', 'style=width:50px');?>
|
||||
<?php echo html::select('versions[]', array_combine(range($case->version, 1), range($case->version, 1)), '', 'style=width:50px');?></nobr>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<?php endforeach;?>
|
||||
<tr><td colspan='7' class='a-center'><?php echo html::submitButton();?></td></tr>
|
||||
<tr class='a-center'>
|
||||
<td colspan='6'><?php echo html::submitButton();?></td>
|
||||
<td class='a-left'><input type='checkbox' onclick='checkall(this);'><?php echo $lang->selectAll;?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* The runrun view file of testtask of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright: 2009 Chunsheng Wang
|
||||
* @author Chunsheng Wang <wwccss@263.net>
|
||||
* @package testtask
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.cn
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/header.lite.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<h1>CASE#<?php echo $run->case->id. $lang->colon . $run->case->title;?></h1>
|
||||
<?php foreach($results as $result):?>
|
||||
<table class='table-1 bd-1px'>
|
||||
<caption>RESULT#<?php echo $result->id . ' ' . $result->date . " <span class='$result->caseResult'>" . $lang->testcase->resultList[$result->caseResult] . '</span>';?></caption>
|
||||
<tr>
|
||||
<th class='w-30px'><?php echo $lang->testcase->stepID;?></th>
|
||||
<th class='w-p40'><?php echo $lang->testcase->stepDesc;?></th>
|
||||
<th class='w-p20'><?php echo $lang->testcase->stepExpect;?></th>
|
||||
<th><?php echo $lang->testcase->result;?></th>
|
||||
<th class='w-p20'><?php echo $lang->testcase->real;?></th>
|
||||
</tr>
|
||||
<?php foreach($run->case->steps as $key => $step):?>
|
||||
<?php $stepResult = (object)$result->stepResults[$step->id];?>
|
||||
<tr>
|
||||
<th><?php echo $key + 1;?></th>
|
||||
<td><?php echo nl2br($step->desc);?></td>
|
||||
<td><?php echo nl2br($step->expect);?></td>
|
||||
<td class='<?php echo $stepResult->result;?> a-center'><?php echo $lang->testcase->resultList[$stepResult->result];?></td>
|
||||
<td><?php echo $stepResult->real;?></td>
|
||||
</tr>
|
||||
<?php if($stepResult->result == 'blocked' or $stepResult->result == 'fail') break;?>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* The runrun view file of testtask of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright: 2009 Chunsheng Wang
|
||||
* @author Chunsheng Wang <wwccss@263.net>
|
||||
* @package testtask
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.cn
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/header.lite.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post'>
|
||||
<table class='table-1 bd-1px'>
|
||||
<caption>CASE#<?php echo $run->case->id. $lang->colon . $run->case->title;?></caption>
|
||||
<tr>
|
||||
<th class='w-30px'><?php echo $lang->testcase->stepID;?></th>
|
||||
<th class='w-p40'><?php echo $lang->testcase->stepDesc;?></th>
|
||||
<th class='w-p20'><?php echo $lang->testcase->stepExpect;?></th>
|
||||
<th class='w-100px'><?php echo $lang->testcase->result;?></th>
|
||||
<th><?php echo $lang->testcase->real;?></th>
|
||||
</tr>
|
||||
<?php foreach($run->case->steps as $key => $step):?>
|
||||
<tr>
|
||||
<th><?php echo $key + 1;?></th>
|
||||
<td><?php echo nl2br($step->desc);?></td>
|
||||
<td><?php echo nl2br($step->expect);?></td>
|
||||
<td class='a-center'><?php echo html::select("steps[$step->id]", $lang->testcase->resultList, '');?></td>
|
||||
<td><?php echo html::textarea("reals[$step->id]", '', "rows=3 class='area-1'");?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr class='a-center'>
|
||||
<td colspan='5'>
|
||||
<?php
|
||||
echo html::submitButton();
|
||||
echo html::hidden('case', $run->case->id);
|
||||
echo html::hidden('version', $run->case->version);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
@@ -18,12 +18,28 @@
|
||||
* @copyright Copyright: 2009 Chunsheng Wang
|
||||
* @author Chunsheng Wang <wwccss@263.net>
|
||||
* @package case
|
||||
* @version $Id: view.html.php 355 2010-01-29 06:59:40Z wwccss $
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.cn
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/header.html.php';?>
|
||||
<?php include '../../common/colorize.html.php';?>
|
||||
<?php include '../../common/tablesorter.html.php';?>
|
||||
<?php include '../../common/colorbox.html.php';?>
|
||||
<script language='javascript'>
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("a.iframe").colorbox({width:900, height:600, iframe:true, transition:'none'});
|
||||
});
|
||||
|
||||
function checkall(checker)
|
||||
{
|
||||
$('input').each(function()
|
||||
{
|
||||
$(this).attr("checked", checker.checked)
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->testtask->view;?></caption>
|
||||
@@ -33,7 +49,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->testtask->build;?></th>
|
||||
<td><?php echo $task->buildName;?></td>
|
||||
<td><?php $task->buildName ? print($task->buildName) : print($task->build);?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->testtask->begin;?></th>
|
||||
@@ -56,38 +72,58 @@
|
||||
<td><?php echo nl2br($task->desc);?>
|
||||
</tr>
|
||||
</table>
|
||||
<form method='post' action='<?php echo inlink('batchAssign', "task=$task->id");?>' target='hiddenwin'>
|
||||
<table class='table-1 colored tablesorter'>
|
||||
<caption><?php echo $lang->testtask->linkedCases;?></caption>
|
||||
<caption>
|
||||
<div class='f-left'><?php echo $lang->testtask->linkedCases;?></div>
|
||||
<div class='f-right'><?php common::printLink('testtask', 'linkcase', "taskID=$task->id", $lang->testtask->linkCase);?></div>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->id;?></th>
|
||||
<th class='w-20px'><nobr><?php echo $lang->testcase->id;?></nobr></th>
|
||||
<th><?php echo $lang->testcase->pri;?></th>
|
||||
<th><?php echo $lang->testcase->title;?></th>
|
||||
<th class='w-p40'><?php echo $lang->testcase->title;?></th>
|
||||
<th><?php echo $lang->testcase->type;?></th>
|
||||
<th><?php echo $lang->testcase->openedBy;?></th>
|
||||
<th><?php echo $lang->testcase->status;?></th>
|
||||
<th><?php echo $lang->testtask->assignedTo;?></th>
|
||||
<th><?php echo $lang->testtask->lastRun;?></th>
|
||||
<th><?php echo $lang->testtask->lastResult;?></th>
|
||||
<th><?php echo $lang->testtask->status;?></th>
|
||||
<th><?php echo $lang->action;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($cases as $case):?>
|
||||
<?php foreach($runs as $run):?>
|
||||
<tr class='a-center'>
|
||||
<td><?php echo html::a($this->createLink('testcase', 'view', "testcaseID=$case->id"), sprintf('%03d', $case->id));?></td>
|
||||
<td><?php echo $case->pri?></td>
|
||||
<td width='50%' class='a-left'><?php echo html::a($this->createLink('testcase', 'view', "caseID=$case->id&version=$case->version"), $case->title, '_blank');?>
|
||||
<td class='a-left'><?php echo "<input type='checkbox' name='cases[]' value='$run->case' /> "; printf('%03d', $run->case);?></td>
|
||||
<td><?php echo $run->pri?></td>
|
||||
<td class='a-left nobr'><?php echo html::a($this->createLink('testcase', 'view', "caseID=$run->case&version=$run->version"), $run->title, '_blank');?>
|
||||
</td>
|
||||
<td><?php echo $lang->testcase->typeList[$case->type];?></td>
|
||||
<td><?php echo $users[$case->openedBy];?></td>
|
||||
<td><?php echo $lang->testcase->statusList[$case->status];?></td>
|
||||
<td><?php echo $lang->testcase->typeList[$run->type];?></td>
|
||||
<td><?php echo $users[$run->assignedTo];?></td>
|
||||
<td><?php if(substr($run->lastRun, 0, 4) != '0000') echo date('y-m-d H:i', strtotime($run->lastRun));?></td>
|
||||
<td class='<?php echo $run->lastResult;?>'><?php if($run->lastResult) echo $lang->testcase->resultList[$run->lastResult];?></td>
|
||||
<td class='<?php echo $run->status;?>'><?php echo $lang->testtask->statusList[$run->status];?></td>
|
||||
<td>
|
||||
<?php
|
||||
common::printLink('testtask', 'unlinkcase', "id=$case->id", $lang->testtask->unlinkCase, 'hiddenwin');
|
||||
common::printLink('testtask', 'executecase', "taskID=$task->id&caseid=$case->id", $lang->testtask->executeCase);
|
||||
common::printLink('testtask', 'runcase', "id=$run->id", $lang->testtask->runCase, '', 'class="iframe"');
|
||||
common::printLink('testtask', 'results', "id=$run->id", $lang->testtask->results, '', 'class="iframe"');
|
||||
//common::printLink('bug', 'create', "id=$run->id", $lang->testtask->createBug);
|
||||
common::printLink('testtask', 'unlinkcase', "id=$run->id", $lang->testtask->unlinkCase, 'hiddenwin');
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr>
|
||||
<td><nobr><?php echo "<input type='checkbox' onclick='checkall(this);'> " . $lang->selectAll;?></nobr></td>
|
||||
<td colspan='9'>
|
||||
<?php
|
||||
echo html::select('assignedTo', $users);
|
||||
echo html::submitButton($lang->testtask->assign);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/footer.html.php';?>
|
||||
|
||||
Reference in New Issue
Block a user