* Adsjut footer summary on my testcase page.
This commit is contained in:
+16
-1
@@ -695,14 +695,29 @@ EOF;
|
||||
$actionURL = $this->createLink('my', $currentMethod, "mode=testcase&type=bysearch¶m=myQueryID&orderBy={$orderBy}&recTotal={$recTotal}&recPerPage={$recPerPage}&pageID={$pageID}");
|
||||
$this->my->buildTestCaseSearchForm($queryID, $actionURL, $currentMethod);
|
||||
|
||||
$failCount = 0;
|
||||
foreach($cases as $case)
|
||||
{
|
||||
if($case->lastRunResult && $case->lastRunResult != 'pass') $failCount ++;
|
||||
if($case->needconfirm)
|
||||
{
|
||||
$case->status = $this->lang->story->changed;
|
||||
}
|
||||
else if(isset($case->fromCaseVersion) and $case->fromCaseVersion > $case->version and !$case->needconfirm)
|
||||
{
|
||||
$case->status = $this->lang->testcase->changed;
|
||||
}
|
||||
if(!$case->lastRunResult) $case->lastRunResult = $this->lang->testcase->unexecuted;
|
||||
}
|
||||
|
||||
/* Assign. */
|
||||
$this->view->title = $this->lang->my->common . $this->lang->colon . $this->lang->my->myTestCase;
|
||||
$this->view->cases = $cases;
|
||||
$this->view->users = $this->user->getPairs('noletter');
|
||||
$this->view->tabID = 'test';
|
||||
$this->view->type = $type;
|
||||
$this->view->failCount = $failCount;
|
||||
$this->view->param = $param;
|
||||
$this->view->summary = $this->testcase->summary($cases);
|
||||
$this->view->recTotal = $recTotal;
|
||||
$this->view->recPerPage = $recPerPage;
|
||||
$this->view->pageID = $pageID;
|
||||
|
||||
@@ -17,3 +17,23 @@ $(document).off('click', '.batch-btn').on('click', '.batch-btn', function()
|
||||
postAndLoadPage(url, form);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 设置表格的统计信息。
|
||||
* Set summary for table footer.
|
||||
*
|
||||
* @param element element
|
||||
* @param array checkedIDList
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
window.setStatistics = function(element, checks)
|
||||
{
|
||||
let failCount = 0;
|
||||
checks.forEach((checkID) => {
|
||||
const caseInfo = element.getRowInfo(checkID).data;
|
||||
if(caseInfo.lastRunResult != unexecuted && caseInfo.lastRunResult != 'pass') failCount ++;
|
||||
})
|
||||
if(checks.length) return {html: element.options.checkedSummary.replaceAll('%total%', `${checks.length}`).replaceAll('%fail%', failCount)};
|
||||
return zui.formatString(element.options.defaultSummary);
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ declare(strict_types=1);
|
||||
* @link https://www.zentao.net
|
||||
*/
|
||||
namespace zin;
|
||||
jsVar('unexecuted', $lang->testcase->unexecuted);
|
||||
|
||||
featureBar
|
||||
(
|
||||
@@ -17,9 +18,10 @@ featureBar
|
||||
li(searchToggle())
|
||||
);
|
||||
|
||||
$footToolbar = array('items' => array
|
||||
$canBatchEdit = common::hasPriv('testcase', 'batchEdit');
|
||||
$footToolbar = array('items' => array
|
||||
(
|
||||
array('text' => $lang->edit, 'className' => 'batch-btn ' . (common::hasPriv('testcase', 'batchEdit') ? '' : 'hidden'), 'data-url' => helper::createLink('testcase', 'batchEdit', 'productID=0&branch=all&type=case&tab=my'))
|
||||
$canBatchEdit ? array('text' => $lang->edit, 'className' => 'batch-btn', 'data-url' => helper::createLink('testcase', 'batchEdit', 'productID=0&branch=all&type=case&tab=my')) : null
|
||||
), 'btnProps' => array('size' => 'sm', 'btnType' => 'secondary'));
|
||||
|
||||
if($type == 'openedbyme')
|
||||
@@ -28,16 +30,22 @@ if($type == 'openedbyme')
|
||||
unset($config->my->testcase->dtable->fieldList['openedBy']);
|
||||
}
|
||||
|
||||
if($type == 'assigntome') $config->my->testcase->dtable->fieldList['title']['link']['params'] .= "&from=testtask&taskID={task}";
|
||||
|
||||
$cases = initTableData($cases, $config->my->testcase->dtable->fieldList, $this->testcase);
|
||||
$cols = array_values($config->my->testcase->dtable->fieldList);
|
||||
$data = array_values($cases);
|
||||
|
||||
$defaultSummary = sprintf($lang->testcase->failSummary, count($cases), $failCount);
|
||||
dtable
|
||||
(
|
||||
set::cols($cols),
|
||||
set::data($data),
|
||||
set::cols($config->my->testcase->dtable->fieldList),
|
||||
set::userMap($users),
|
||||
set::fixedLeftWidth('44%'),
|
||||
set::checkable(true),
|
||||
set::defaultSummary(array('html' => $defaultSummary)),
|
||||
set::checkedSummary($lang->testcase->failCheckedSummary),
|
||||
set::checkInfo(jsRaw('function(checkedIDList){return window.setStatistics(this, checkedIDList);}')),
|
||||
set::footToolbar($footToolbar),
|
||||
set::footPager(usePager()),
|
||||
);
|
||||
|
||||
+21
-20
@@ -184,7 +184,6 @@ $lang->testcase->legendLinkBugs = 'Bug';
|
||||
$lang->testcase->legendOpenAndEdit = 'Erstellt/Bearbeitet';
|
||||
$lang->testcase->legendComment = 'Bemerkung';
|
||||
|
||||
$lang->testcase->summary = "Fälle auf dieser Seite: <strong>%s</strong> insgesamt, <strong>%s</strong> ausgeführt.";
|
||||
$lang->testcase->confirmDelete = 'Möchten Sie diesen Testfall schließen?';
|
||||
$lang->testcase->confirmBatchDelete = 'Möchten Sie diese Testfälle schließen?';
|
||||
$lang->testcase->ditto = 'Dito';
|
||||
@@ -313,25 +312,27 @@ $lang->testcase->batchChangeScene = "Batch change scene";
|
||||
$lang->testcase->updateOrder = "Drag Sort";
|
||||
$lang->testcase->differentProduct = "Different product";
|
||||
|
||||
$lang->testcase->newScene = "Add Scene";
|
||||
$lang->testcase->sceneTitle = 'Scene Title';
|
||||
$lang->testcase->parentScene = "Parent Scene";
|
||||
$lang->testcase->scene = "Scene";
|
||||
$lang->testcase->summary = 'Total %d Top Scene,%d Independent test case.';
|
||||
$lang->testcase->summaryScene = 'Total %d Top Scene.';
|
||||
$lang->testcase->checkedSummary = '{checked} checked test cases, {run} run.';
|
||||
$lang->testcase->deleteScene = 'Delete Scene';
|
||||
$lang->testcase->editScene = 'Edit Scene';
|
||||
$lang->testcase->hasChildren = 'This scene has sub scene or test cases. Do you want to delete them all?';
|
||||
$lang->testcase->confirmDeleteScene = 'Are you sure you want to delete the scene: \"%s\"?';
|
||||
$lang->testcase->sceneb = "Scene";
|
||||
$lang->testcase->onlyScene = 'Only Scene';
|
||||
$lang->testcase->iScene = 'Scene';
|
||||
$lang->testcase->generalTitle = 'Title';
|
||||
$lang->testcase->noScene = 'No Scene';
|
||||
$lang->testcase->rowIndex = 'Row Index';
|
||||
$lang->testcase->nestTotal = 'nest total';
|
||||
$lang->testcase->normal = 'normal';
|
||||
$lang->testcase->newScene = "Add Scene";
|
||||
$lang->testcase->sceneTitle = 'Scene Title';
|
||||
$lang->testcase->parentScene = "Parent Scene";
|
||||
$lang->testcase->scene = "Scene";
|
||||
$lang->testcase->summary = 'Total %d Top Scene,%d Independent test case.';
|
||||
$lang->testcase->summaryScene = 'Total %d Top Scene.';
|
||||
$lang->testcase->failSummary = 'Total %d Cases, which did not pass %d.';
|
||||
$lang->testcase->checkedSummary = '{checked} checked test cases, {run} run.';
|
||||
$lang->testcase->failCheckedSummary = '%total% checked test cases,%fail% run fail。';
|
||||
$lang->testcase->deleteScene = 'Delete Scene';
|
||||
$lang->testcase->editScene = 'Edit Scene';
|
||||
$lang->testcase->hasChildren = 'This scene has sub scene or test cases. Do you want to delete them all?';
|
||||
$lang->testcase->confirmDeleteScene = 'Are you sure you want to delete the scene: \"%s\"?';
|
||||
$lang->testcase->sceneb = "Scene";
|
||||
$lang->testcase->onlyScene = 'Only Scene';
|
||||
$lang->testcase->iScene = 'Scene';
|
||||
$lang->testcase->generalTitle = 'Title';
|
||||
$lang->testcase->noScene = 'No Scene';
|
||||
$lang->testcase->rowIndex = 'Row Index';
|
||||
$lang->testcase->nestTotal = 'nest total';
|
||||
$lang->testcase->normal = 'normal';
|
||||
|
||||
/* Translation for drag modal message box. */
|
||||
$lang->testcase->dragModalTitle = 'Drag and drop operation selection';
|
||||
|
||||
+21
-19
@@ -312,25 +312,27 @@ $lang->testcase->batchChangeScene = "Batch change scene";
|
||||
$lang->testcase->updateOrder = "Drag Sort";
|
||||
$lang->testcase->differentProduct = "Different product";
|
||||
|
||||
$lang->testcase->newScene = "Add Scene";
|
||||
$lang->testcase->sceneTitle = 'Scene Title';
|
||||
$lang->testcase->parentScene = "Parent Scene";
|
||||
$lang->testcase->scene = "Scene";
|
||||
$lang->testcase->summary = 'Total %d Top Scene,%d Independent test case.';
|
||||
$lang->testcase->summaryScene = 'Total %d Top Scene.';
|
||||
$lang->testcase->checkedSummary = '{checked} checked test cases, {run} run.';
|
||||
$lang->testcase->deleteScene = 'Delete Scene';
|
||||
$lang->testcase->editScene = 'Edit Scene';
|
||||
$lang->testcase->hasChildren = 'This scene has sub scene or test cases. Do you want to delete them all?';
|
||||
$lang->testcase->confirmDeleteScene = 'Are you sure you want to delete the scene: \"%s\"?';
|
||||
$lang->testcase->sceneb = "Scene";
|
||||
$lang->testcase->onlyScene = 'Only Scene';
|
||||
$lang->testcase->iScene = 'Scene';
|
||||
$lang->testcase->generalTitle = 'Title';
|
||||
$lang->testcase->noScene = 'No Scene';
|
||||
$lang->testcase->rowIndex = 'Row Index';
|
||||
$lang->testcase->nestTotal = 'nest total';
|
||||
$lang->testcase->normal = 'normal';
|
||||
$lang->testcase->newScene = "Add Scene";
|
||||
$lang->testcase->sceneTitle = 'Scene Title';
|
||||
$lang->testcase->parentScene = "Parent Scene";
|
||||
$lang->testcase->scene = "Scene";
|
||||
$lang->testcase->summary = 'Total %d Top Scene,%d Independent test case.';
|
||||
$lang->testcase->summaryScene = 'Total %d Top Scene.';
|
||||
$lang->testcase->failSummary = 'Total %d Cases, which did not pass %d.';
|
||||
$lang->testcase->checkedSummary = '{checked} checked test cases, {run} run.';
|
||||
$lang->testcase->failCheckedSummary = '%total% checked test cases,%fail% run fail。';
|
||||
$lang->testcase->deleteScene = 'Delete Scene';
|
||||
$lang->testcase->editScene = 'Edit Scene';
|
||||
$lang->testcase->hasChildren = 'This scene has sub scene or test cases. Do you want to delete them all?';
|
||||
$lang->testcase->confirmDeleteScene = 'Are you sure you want to delete the scene: \"%s\"?';
|
||||
$lang->testcase->sceneb = "Scene";
|
||||
$lang->testcase->onlyScene = 'Only Scene';
|
||||
$lang->testcase->iScene = 'Scene';
|
||||
$lang->testcase->generalTitle = 'Title';
|
||||
$lang->testcase->noScene = 'No Scene';
|
||||
$lang->testcase->rowIndex = 'Row Index';
|
||||
$lang->testcase->nestTotal = 'nest total';
|
||||
$lang->testcase->normal = 'normal';
|
||||
|
||||
/* Translation for drag modal message box. */
|
||||
$lang->testcase->dragModalTitle = 'Drag and drop operation selection';
|
||||
|
||||
+21
-19
@@ -312,25 +312,27 @@ $lang->testcase->batchChangeScene = "Batch change scene";
|
||||
$lang->testcase->updateOrder = "Drag Sort";
|
||||
$lang->testcase->differentProduct = "Different product";
|
||||
|
||||
$lang->testcase->newScene = "Add Scene";
|
||||
$lang->testcase->sceneTitle = 'Scene Title';
|
||||
$lang->testcase->parentScene = "Parent Scene";
|
||||
$lang->testcase->scene = "Scene";
|
||||
$lang->testcase->summary = 'Total %d Top Scene,%d Independent test case.';
|
||||
$lang->testcase->summaryScene = 'Total %d Top Scene.';
|
||||
$lang->testcase->checkedSummary = '{checked} checked test cases, {run} run.';
|
||||
$lang->testcase->deleteScene = 'Delete Scene';
|
||||
$lang->testcase->editScene = 'Edit Scene';
|
||||
$lang->testcase->hasChildren = 'This scene has sub scene or test cases. Do you want to delete them all?';
|
||||
$lang->testcase->confirmDeleteScene = 'Are you sure you want to delete the scene: \"%s\"?';
|
||||
$lang->testcase->sceneb = "Scene";
|
||||
$lang->testcase->onlyScene = 'Only Scene';
|
||||
$lang->testcase->iScene = 'Scene';
|
||||
$lang->testcase->generalTitle = 'Title';
|
||||
$lang->testcase->noScene = 'No Scene';
|
||||
$lang->testcase->rowIndex = 'Row Index';
|
||||
$lang->testcase->nestTotal = 'nest total';
|
||||
$lang->testcase->normal = 'normal';
|
||||
$lang->testcase->newScene = "Add Scene";
|
||||
$lang->testcase->sceneTitle = 'Scene Title';
|
||||
$lang->testcase->parentScene = "Parent Scene";
|
||||
$lang->testcase->scene = "Scene";
|
||||
$lang->testcase->summary = 'Total %d Top Scene,%d Independent test case.';
|
||||
$lang->testcase->summaryScene = 'Total %d Top Scene.';
|
||||
$lang->testcase->failSummary = 'Total %d Cases, which did not pass %d.';
|
||||
$lang->testcase->checkedSummary = '{checked} checked test cases, {run} run.';
|
||||
$lang->testcase->failCheckedSummary = '%total% checked test cases,%fail% run fail。';
|
||||
$lang->testcase->deleteScene = 'Delete Scene';
|
||||
$lang->testcase->editScene = 'Edit Scene';
|
||||
$lang->testcase->hasChildren = 'This scene has sub scene or test cases. Do you want to delete them all?';
|
||||
$lang->testcase->confirmDeleteScene = 'Are you sure you want to delete the scene: \"%s\"?';
|
||||
$lang->testcase->sceneb = "Scene";
|
||||
$lang->testcase->onlyScene = 'Only Scene';
|
||||
$lang->testcase->iScene = 'Scene';
|
||||
$lang->testcase->generalTitle = 'Title';
|
||||
$lang->testcase->noScene = 'No Scene';
|
||||
$lang->testcase->rowIndex = 'Row Index';
|
||||
$lang->testcase->nestTotal = 'nest total';
|
||||
$lang->testcase->normal = 'normal';
|
||||
|
||||
/* Translation for drag modal message box. */
|
||||
$lang->testcase->dragModalTitle = 'Drag and drop operation selection';
|
||||
|
||||
@@ -318,7 +318,9 @@ $lang->testcase->parentScene = "父场景";
|
||||
$lang->testcase->scene = "所属场景";
|
||||
$lang->testcase->summary = '本页共 %d 个顶级场景,%d 个独立用例。';
|
||||
$lang->testcase->summaryScene = '本页共 %d 个顶级场景。';
|
||||
$lang->testcase->failSummary = '本页共 %d 个用例,未通过 %d。';
|
||||
$lang->testcase->checkedSummary = '已选中 {checked} 个用例,已执行 {run} 个。';
|
||||
$lang->testcase->failCheckedSummary = '已选中 %total% 个用例,未通过 %fail%。';
|
||||
$lang->testcase->deleteScene = '删除场景';
|
||||
$lang->testcase->editScene = '编辑场景';
|
||||
$lang->testcase->hasChildren = '该场景有子场景或测试用例存在,要全部删除吗?';
|
||||
|
||||
Reference in New Issue
Block a user