* finish task #3961.
This commit is contained in:
@@ -241,7 +241,7 @@ $lang->project->subMenu->list->groupTask = '分组视图|project|groupTask|proje
|
||||
$lang->project->subMenu->qa = new stdclass();
|
||||
$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s';
|
||||
$lang->project->subMenu->qa->build = '版本|project|build|projectID=%s';
|
||||
$lang->project->subMenu->qa->testtask = '测试单|project|testtask|projectID=%s';
|
||||
$lang->project->subMenu->qa->testtask = array('link' => '测试单|project|testtask|projectID=%s', 'subModule' => 'testreport');
|
||||
|
||||
$lang->project->subMenu->action = new stdclass();
|
||||
$lang->project->subMenu->action->dynamic = '动态|project|dynamic|projectID=%s';
|
||||
|
||||
@@ -127,13 +127,19 @@ class projectModel extends model
|
||||
$replace = "<ul class='dropdown-menu'>";
|
||||
foreach($this->lang->project->subMenu->$key as $subMenuKey => $subMenuLink)
|
||||
{
|
||||
$subModule = '';
|
||||
if(is_array($subMenuLink))
|
||||
{
|
||||
if(isset($subMenuLink['subModule'])) $subModule = $subMenuLink['subModule'];
|
||||
$subMenuLink = $subMenuLink['link'];
|
||||
}
|
||||
list($subMenuName, $subMenuModule, $subMenuMethod, $subMenuParams) = explode('|', $subMenuLink);
|
||||
if(!commonModel::hasPriv($subMenuModule, $subMenuMethod)) continue;
|
||||
|
||||
if(empty($dropTitle)) $dropTitle = $subMenuName;
|
||||
|
||||
$active = '';
|
||||
if($moduleName == $subMenuModule and $methodName == $subMenuMethod)
|
||||
if(($moduleName == $subMenuModule and $methodName == $subMenuMethod) or strpos(",$subModule,", ",$moduleName,") !== false)
|
||||
{
|
||||
$active = "class='active'";
|
||||
$dropTitle = $subMenuName;
|
||||
|
||||
@@ -317,54 +317,52 @@
|
||||
</div>
|
||||
|
||||
<div id="mainActions">
|
||||
<?php common::printPreAndNext($preAndNext);?>
|
||||
<div class="btn-toolbar">
|
||||
<?php if(!$story->deleted):?>
|
||||
<?php
|
||||
common::printIcon('story', 'change', "storyID=$story->id", $story);
|
||||
common::printIcon('story', 'review', "storyID=$story->id", $story);
|
||||
if($story->status != 'closed' and !isonlybody())
|
||||
{
|
||||
$misc = "class='btn' data-toggle='modal' data-type='iframe' data-width='95%'";
|
||||
$link = $this->createLink('story', 'batchCreate', "productID=$story->product&branch=$story->branch&moduleID=$story->module&storyID=$story->id", '', true);
|
||||
if(common::hasPriv('story', 'batchCreate')) echo html::a($link, "<i class='icon icon-sitemap'></i> " . $lang->story->subdivide, '', $misc);
|
||||
}
|
||||
<?php common::printPreAndNext($preAndNext);?>
|
||||
<div class="btn-toolbar">
|
||||
<?php common::printBack($browseLink);?>
|
||||
<?php if(!$story->deleted):?>
|
||||
<div class='divider'></div>
|
||||
<?php
|
||||
common::printIcon('story', 'change', "storyID=$story->id", $story);
|
||||
common::printIcon('story', 'review', "storyID=$story->id", $story);
|
||||
if($story->status != 'closed' and !isonlybody())
|
||||
{
|
||||
$misc = "class='btn' data-toggle='modal' data-type='iframe' data-width='95%'";
|
||||
$link = $this->createLink('story', 'batchCreate', "productID=$story->product&branch=$story->branch&moduleID=$story->module&storyID=$story->id", '', true);
|
||||
if(common::hasPriv('story', 'batchCreate')) echo html::a($link, "<i class='icon icon-sitemap'></i> " . $lang->story->subdivide, '', $misc);
|
||||
}
|
||||
|
||||
common::printIcon('story', 'close', "storyID=$story->id", $story, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('story', 'activate', "storyID=$story->id", $story, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('story', 'close', "storyID=$story->id", $story, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('story', 'activate', "storyID=$story->id", $story, 'button', '', '', 'iframe', true);
|
||||
|
||||
if($this->config->global->flow != 'onlyStory' and !isonlybody() and (common::hasPriv('testcase', 'create') or common::hasPriv('testcase', 'batchCreate')))
|
||||
{
|
||||
$this->app->loadLang('testcase');
|
||||
echo "<div class='btn-group dropup'>";
|
||||
echo "<button type='button' class='btn btn-default dropdown-toggle' data-toggle='dropdown'><i class='icon icon-sitemap'></i> " . $lang->testcase->common . " <span class='caret'></span></button>";
|
||||
echo "<ul class='dropdown-menu' id='createCaseActionMenu'>";
|
||||
if($this->config->global->flow != 'onlyStory' and !isonlybody() and (common::hasPriv('testcase', 'create') or common::hasPriv('testcase', 'batchCreate')))
|
||||
{
|
||||
$this->app->loadLang('testcase');
|
||||
echo "<div class='btn-group dropup'>";
|
||||
echo "<button type='button' class='btn btn-default dropdown-toggle' data-toggle='dropdown'><i class='icon icon-sitemap'></i> " . $lang->testcase->common . " <span class='caret'></span></button>";
|
||||
echo "<ul class='dropdown-menu' id='createCaseActionMenu'>";
|
||||
|
||||
$misc = "data-toggle='modal' data-type='iframe' data-width='95%'";
|
||||
$link = $this->createLink('testcase', 'create', "productID=$story->product&branch=$story->branch&moduleID=0&from=¶m=0&storyID=$story->id", '', true);
|
||||
if(common::hasPriv('testcase', 'create', $story)) echo "<li>" . html::a($link, $lang->testcase->create, '', $misc) . "</li>";
|
||||
$misc = "data-toggle='modal' data-type='iframe' data-width='95%'";
|
||||
$link = $this->createLink('testcase', 'create', "productID=$story->product&branch=$story->branch&moduleID=0&from=¶m=0&storyID=$story->id", '', true);
|
||||
if(common::hasPriv('testcase', 'create', $story)) echo "<li>" . html::a($link, $lang->testcase->create, '', $misc) . "</li>";
|
||||
|
||||
$misc = "data-toggle='modal' data-type='iframe' data-width='95%'";
|
||||
$link = $this->createLink('testcase', 'batchCreate', "productID=$story->product&branch=$story->branch&moduleID=0&storyID=$story->id", '', true);
|
||||
if(common::hasPriv('testcase', 'batchCreate')) echo "<li>" . html::a($link, $lang->testcase->batchCreate, '', $misc) . "</li>";
|
||||
$misc = "data-toggle='modal' data-type='iframe' data-width='95%'";
|
||||
$link = $this->createLink('testcase', 'batchCreate', "productID=$story->product&branch=$story->branch&moduleID=0&storyID=$story->id", '', true);
|
||||
if(common::hasPriv('testcase', 'batchCreate')) echo "<li>" . html::a($link, $lang->testcase->batchCreate, '', $misc) . "</li>";
|
||||
|
||||
echo "</ul>";
|
||||
echo "</div>";
|
||||
}
|
||||
echo "</ul>";
|
||||
echo "</div>";
|
||||
}
|
||||
|
||||
if($from == 'project') common::printIcon('task', 'create', "project=$param&storyID=$story->id&moduleID=$story->module", $story, 'button', 'smile');
|
||||
if($from == 'project') common::printIcon('task', 'create', "project=$param&storyID=$story->id&moduleID=$story->module", $story, 'button', 'smile');
|
||||
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('story', 'edit', "storyID=$story->id", $story);
|
||||
common::printIcon('story', 'create', "productID=$story->product&branch=$story->branch&moduleID=$story->module&storyID=$story->id", $story, 'button', 'copy');
|
||||
common::printIcon('story', 'delete', "storyID=$story->id", $story, 'button', '', 'hiddenwin');
|
||||
|
||||
echo "<div class='divider'></div>";
|
||||
common::printBack($browseLink);
|
||||
?>
|
||||
<?php else:?>
|
||||
<?php common::printBack($browseLink);?>
|
||||
<?php endif;?>
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('story', 'edit', "storyID=$story->id", $story);
|
||||
common::printIcon('story', 'create', "productID=$story->product&branch=$story->branch&moduleID=$story->module&storyID=$story->id", $story, 'button', 'copy');
|
||||
common::printIcon('story', 'delete', "storyID=$story->id", $story, 'button', '', 'hiddenwin');
|
||||
?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
js::set('canCreate', common::hasPriv('story', 'story'));
|
||||
|
||||
@@ -452,6 +452,7 @@ class testreport extends control
|
||||
{
|
||||
$this->projects = $this->project->getPairs('nocode');
|
||||
$projectID = $this->project->saveState($objectID, $this->projects);
|
||||
$this->lang->testreport->dividerMenu = $this->lang->project->dividerMenu;
|
||||
$this->project->setMenu($this->projects, $projectID);
|
||||
$this->lang->testreport->menu = $this->lang->project->menu;
|
||||
$this->lang->testreport->menu->testtask['subModule'] = 'testreport';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php $sysURL = $this->session->notHead ? common::getSysURL() : '';?>
|
||||
<table class='table' id='bugs'>
|
||||
<table class='table main-table' id='bugs'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'> <?php echo $lang->idAB;?></th>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php $sysURL = $this->session->notHead ? common::getSysURL() : '';?>
|
||||
<table class='table' id='builds'>
|
||||
<table class='table main-table' id='builds'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'> <?php echo $lang->build->id;?></th>
|
||||
<th> <?php echo $lang->build->name;?></th>
|
||||
<th class='w-user'><?php echo $lang->build->builder;?></th>
|
||||
<th class='w-date'><?php echo $lang->build->date;?></th>
|
||||
<th class='w-100px'><?php echo $lang->build->date;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php if($builds):?>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php $sysURL = $this->session->notHead ? common::getSysURL() : '';?>
|
||||
<table class='table' id='cases'>
|
||||
<table class='table main-table' id='cases'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'> <?php echo $lang->idAB;?></th>
|
||||
@@ -8,9 +8,9 @@
|
||||
<th class='w-type'> <?php echo $lang->testcase->type;?></th>
|
||||
<th class='w-user'> <?php echo $lang->testtask->assignedTo;?></th>
|
||||
<th class='w-user'> <?php echo $lang->testtask->lastRunAccount;?></th>
|
||||
<th class='w-130px'> <?php echo $lang->testtask->lastRunTime;?></th>
|
||||
<th class='w-150px'> <?php echo $lang->testtask->lastRunTime;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->testtask->lastRunResult;?></th>
|
||||
<th class='w-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-100px'><?php echo $lang->statusAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php if($cases):?>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php $sysURL = $this->session->notHead ? common::getSysURL() : '';?>
|
||||
<table class='table' id='legacyBugs'>
|
||||
<table class='table main-table' id='legacyBugs'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'> <?php echo $lang->idAB;?></th>
|
||||
@@ -7,8 +7,8 @@
|
||||
<th> <?php echo $lang->bug->title;?></th>
|
||||
<th class='w-user'> <?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-user'> <?php echo $lang->bug->resolvedBy;?></th>
|
||||
<th class='w-130px'><?php echo $lang->bug->resolvedDate;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->statusAB;?></th>
|
||||
<th class='w-150px'><?php echo $lang->bug->resolvedDate;?></th>
|
||||
<th class='w-100px'> <?php echo $lang->statusAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php if($legacyBugs):?>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php $sysURL = $this->session->notHead ? common::getSysURL() : '';?>
|
||||
<table class='table' id='stories'>
|
||||
<table class='table main-table' id='stories'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'> <?php echo $lang->idAB;?></th>
|
||||
@@ -8,8 +8,8 @@
|
||||
<th class='w-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-80px'><?php echo $lang->assignedToAB;?></th>
|
||||
<th class='w-hour'><?php echo $lang->story->estimateAB;?></th>
|
||||
<th class='w-hour'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-70px'><?php echo $lang->story->stageAB;?></th>
|
||||
<th class='w-80px'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-80px'><?php echo $lang->story->stageAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php if($stories):?>
|
||||
|
||||
@@ -11,51 +11,55 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<strong><?php echo $lang->testreport->browse;?></strong>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='pull-left btn-toolbar'>
|
||||
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->testreport->browse;?></span></span>
|
||||
</div>
|
||||
</div>
|
||||
<table class='table table-condensed table-hover table-striped tablesorter table-fixed table-selectable' id='reportList'>
|
||||
<?php $vars = "objectID=$objectID&objectType=$objectType&extra=$extra&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th> <?php common::printOrderLink('title', $orderBy, $vars, $lang->testreport->title);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('createdBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-120px'><?php common::printOrderLink('createdDate', $orderBy, $vars, $lang->testreport->createdDate);?></th>
|
||||
<th class='w-250px'><?php common::printOrderLink('project', $orderBy, $vars, $lang->testreport->project);?></th>
|
||||
<th class='w-250px'><?php echo $lang->testreport->testtask;?></th>
|
||||
<th class='w-60px'> <?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php if($reports):?>
|
||||
<tbody class='text-center'>
|
||||
<?php foreach($reports as $report):?>
|
||||
<tr>
|
||||
<td><?php echo $report->id?></td>
|
||||
<td class='text-left' title='<?php $report->title?>'><?php echo html::a(inlink('view', "reportID=$report->id&from=$objectType"), $report->title)?></td>
|
||||
<td><?php echo zget($users, $report->createdBy);?></td>
|
||||
<td><?php echo substr($report->createdDate, 2);?></td>
|
||||
<?php $projectName = '#' . $report->project . $projects[$report->project];?>
|
||||
<td class='text-left' title='<?php echo $projectName?>'><?php echo $projectName;?></td>
|
||||
<?php
|
||||
$taskName = '';
|
||||
foreach(explode(',', $report->tasks) as $taskID) $taskName .= '#' . $taskID . $tasks[$taskID] . ' ';
|
||||
?>
|
||||
<td class='text-left' title='<?php echo $taskName?>'><?php echo $taskName;?></td>
|
||||
<td>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<table class='table has-sort-head main-table table-fixed' id='reportList'>
|
||||
<?php $vars = "objectID=$objectID&objectType=$objectType&extra=$extra&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th> <?php common::printOrderLink('title', $orderBy, $vars, $lang->testreport->title);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('createdBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-150px'><?php common::printOrderLink('createdDate', $orderBy, $vars, $lang->testreport->createdDate);?></th>
|
||||
<th class='w-250px'><?php common::printOrderLink('project', $orderBy, $vars, $lang->testreport->project);?></th>
|
||||
<th class='w-250px'><?php echo $lang->testreport->testtask;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php if($reports):?>
|
||||
<tbody class='text-center'>
|
||||
<?php foreach($reports as $report):?>
|
||||
<tr>
|
||||
<td><?php echo $report->id?></td>
|
||||
<td class='text-left' title='<?php $report->title?>'><?php echo html::a(inlink('view', "reportID=$report->id&from=$objectType"), $report->title)?></td>
|
||||
<td><?php echo zget($users, $report->createdBy);?></td>
|
||||
<td><?php echo substr($report->createdDate, 2);?></td>
|
||||
<?php $projectName = '#' . $report->project . $projects[$report->project];?>
|
||||
<td class='text-left' title='<?php echo $projectName?>'><?php echo $projectName;?></td>
|
||||
<?php
|
||||
common::printIcon('testreport', 'edit', "id=$report->id", '', 'list');
|
||||
common::printIcon('testreport', 'delete', "id=$report->id", '', 'list', 'remove', 'hiddenwin');
|
||||
$taskName = '';
|
||||
foreach(explode(',', $report->tasks) as $taskID) $taskName .= '#' . $taskID . $tasks[$taskID] . ' ';
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
<tfoot><tr><td colspan='7'><?php $pager->show();?></td></tr></tfoot>
|
||||
<?php else:?>
|
||||
<tbody><tr><td colspan='7'><?php echo $lang->testreport->noReport;?></td></tr></tbody>
|
||||
<td class='text-left' title='<?php echo $taskName?>'><?php echo $taskName;?></td>
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
common::printIcon('testreport', 'edit', "id=$report->id", '', 'list');
|
||||
common::printIcon('testreport', 'delete', "id=$report->id", '', 'list', 'trash', 'hiddenwin');
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
<?php else:?>
|
||||
<tbody><tr><td colspan='7'><?php echo $lang->testreport->noReport;?></td></tr></tbody>
|
||||
<?php endif;?>
|
||||
</table>
|
||||
<?php if($reports):?>
|
||||
<div class='table-footer'><?php $pager->show('right', 'pagerjs');?></div>
|
||||
<?php endif;?>
|
||||
</table>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -14,101 +14,95 @@
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php include '../../common/view/chart.html.php';?>
|
||||
<div class='container mw-1400px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<strong><small class='text-muted'><?php echo html::icon($lang->icons['create']);?></small> <?php echo $lang->testreport->create;?></strong>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='center-block mw-1400px'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->testreport->create;?></h2>
|
||||
<div class='pull-right btn-toolbar'><?php echo html::backButton();?></div>
|
||||
</div>
|
||||
<div class='actions'>
|
||||
<?php
|
||||
echo html::backButton();
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='main'>
|
||||
<form class='form-condensed' method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendBasic?></legend>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->testreport->startEnd?></th>
|
||||
<td class='w-p50'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('begin', $begin, "class='form-control form-date'")?>
|
||||
<span class='input-group-addon'> ~ </span>
|
||||
<?php echo html::input('end', $end, "class='form-control form-date'")?>
|
||||
<?php
|
||||
echo html::hidden('product', $productIdList) . html::hidden('project', $project->id) . html::hidden('tasks', $tasks);
|
||||
echo html::hidden('objectID', $objectID) . html::hidden('objectType', $objectType);
|
||||
?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->testreport->owner?></span>
|
||||
<?php echo html::select('owner', $users, $owner, "class='form-control chosen'")?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->members?></th>
|
||||
<td colspan='2'><?php echo html::select('members[]', $users, $members, "class='form-control chosen' multiple")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->title?></th>
|
||||
<td colspan='2'><?php echo html::input('title', $reportTitle, "class='form-control'")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->goal?></th>
|
||||
<td colspan='2'><?php echo $project->desc?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->profile?></th>
|
||||
<td colspan='2'>
|
||||
<?php
|
||||
echo '<p>' . $storySummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->buildSummary, empty($builds) ? 1 : count($builds)) . $caseSummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->bugSummary, $bugInfo['foundBugs'], count($legacyBugs), $bugInfo['countBugByTask'], $bugInfo['bugConfirmedRate'] . '%', $bugInfo['bugCreateByCaseRate'] . '%') . '</p>';
|
||||
unset($bugInfo['countBugByTask']); unset($bugInfo['bugConfirmedRate']); unset($bugInfo['bugCreateByCaseRate']); unset($bugInfo['foundBugs']);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->report?></th>
|
||||
<td colspan='2'><?php echo html::textarea('report', '', "class='form-control'")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->files?></th>
|
||||
<td colspan='2'><?php echo $this->fetch('file', 'buildform');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<td><?php echo html::submitButton() . html::backButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendStoryAndBug?></legend>
|
||||
<?php include './blockstories.html.php'?>
|
||||
<?php include './blockbugs.html.php'?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendBuild?></legend>
|
||||
<?php include './blockbuilds.html.php'?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendCase?></legend>
|
||||
<?php include './blockcases.html.php'?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendLegacyBugs?></legend>
|
||||
<?php include './blocklegacybugs.html.php'?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendReport?></legend>
|
||||
<?php include './blockbugreport.html.php'?>
|
||||
</fieldset>
|
||||
</form>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendBasic?></div>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->testreport->startEnd?></th>
|
||||
<td class='w-p50'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('begin', $begin, "class='form-control form-date'")?>
|
||||
<span class='input-group-addon'> ~ </span>
|
||||
<?php echo html::input('end', $end, "class='form-control form-date'")?>
|
||||
<?php
|
||||
echo html::hidden('product', $productIdList) . html::hidden('project', $project->id) . html::hidden('tasks', $tasks);
|
||||
echo html::hidden('objectID', $objectID) . html::hidden('objectType', $objectType);
|
||||
?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->testreport->owner?></span>
|
||||
<?php echo html::select('owner', $users, $owner, "class='form-control chosen'")?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->members?></th>
|
||||
<td colspan='2'><?php echo html::select('members[]', $users, $members, "class='form-control chosen' multiple")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->title?></th>
|
||||
<td colspan='2'><?php echo html::input('title', $reportTitle, "class='form-control'")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->goal?></th>
|
||||
<td colspan='2'><?php echo $project->desc?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->profile?></th>
|
||||
<td colspan='2'>
|
||||
<?php
|
||||
echo '<p>' . $storySummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->buildSummary, empty($builds) ? 1 : count($builds)) . $caseSummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->bugSummary, $bugInfo['foundBugs'], count($legacyBugs), $bugInfo['countBugByTask'], $bugInfo['bugConfirmedRate'] . '%', $bugInfo['bugCreateByCaseRate'] . '%') . '</p>';
|
||||
unset($bugInfo['countBugByTask']); unset($bugInfo['bugConfirmedRate']); unset($bugInfo['bugCreateByCaseRate']); unset($bugInfo['foundBugs']);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->report?></th>
|
||||
<td colspan='2'><?php echo html::textarea('report', '', "class='form-control'")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->files?></th>
|
||||
<td colspan='2'><?php echo $this->fetch('file', 'buildform');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<td><?php echo html::submitButton() . html::backButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendStoryAndBug?></div>
|
||||
<?php include './blockstories.html.php'?>
|
||||
<?php include './blockbugs.html.php'?>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendBuild?></div>
|
||||
<?php include './blockbuilds.html.php'?>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendCase?></div>
|
||||
<?php include './blockcases.html.php'?>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendLegacyBugs?></div>
|
||||
<?php include './blocklegacybugs.html.php'?>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendReport?></div>
|
||||
<?php include './blockbugreport.html.php'?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -14,96 +14,94 @@
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php include '../../common/view/chart.html.php';?>
|
||||
<div class='container mw-1400px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<strong><small class='text-muted'><?php echo html::icon($lang->icons['edit']);?></small> <?php echo $lang->testreport->edit;?></strong>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='center-block mw-1400px'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->testreport->edit;?></h2>
|
||||
<div class='btn-toolbar pull-right'><?php echo html::backButton();?></div>
|
||||
</div>
|
||||
<div class='actions'><?php echo html::backButton();?></div>
|
||||
</div>
|
||||
<div class='main'>
|
||||
<form class='form-condensed' method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendBasic?></legend>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->testreport->startEnd?></th>
|
||||
<td class='w-p50'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('begin', $report->begin, "class='form-control form-date'")?>
|
||||
<span class='input-group-addon'> ~ </span>
|
||||
<?php echo html::input('end', $report->end, "class='form-control form-date'")?>
|
||||
<?php
|
||||
echo html::hidden('product', $productIdList) . html::hidden('project', $report->project) . html::hidden('tasks', $tasks);
|
||||
?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->testreport->owner?></span>
|
||||
<?php echo html::select('owner', $users, $report->owner, "class='form-control chosen'")?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->members?></th>
|
||||
<td colspan='2'><?php echo html::select('members[]', $users, $report->members, "class='form-control chosen' multiple")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->title?></th>
|
||||
<td colspan='2'><?php echo html::input('title', $report->title, "class='form-control'")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->goal?></th>
|
||||
<td colspan='2'><?php echo $project->desc?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->profile?></th>
|
||||
<td colspan='2'>
|
||||
<?php
|
||||
echo '<p>' . $storySummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->buildSummary, empty($builds) ? 1 : count($builds)) . $caseSummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->bugSummary, $bugInfo['foundBugs'], count($legacyBugs), $bugInfo['countBugByTask'], $bugInfo['bugConfirmedRate'] . '%', $bugInfo['bugCreateByCaseRate'] . '%') . '</p>';
|
||||
unset($bugInfo['countBugByTask']); unset($bugInfo['bugConfirmedRate']); unset($bugInfo['bugCreateByCaseRate']); unset($bugInfo['foundBugs']);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->report?></th>
|
||||
<td colspan='2'><?php echo html::textarea('report', $report->report, "class='form-control'")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->files?></th>
|
||||
<td colspan='2'><?php echo $this->fetch('file', 'buildform');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<td><?php echo html::submitButton() . html::backButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendStoryAndBug?></legend>
|
||||
<?php include './blockstories.html.php'?>
|
||||
<?php include './blockbugs.html.php'?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendBuild?></legend>
|
||||
<?php include './blockbuilds.html.php'?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendCase?></legend>
|
||||
<?php include './blockcases.html.php'?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendLegacyBugs?></legend>
|
||||
<?php include './blocklegacybugs.html.php'?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testreport->legendReport?></legend>
|
||||
<?php include './blockbugreport.html.php'?>
|
||||
</fieldset>
|
||||
</form>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendBasic?></div>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->testreport->startEnd?></th>
|
||||
<td class='w-p50'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('begin', $report->begin, "class='form-control form-date'")?>
|
||||
<span class='input-group-addon'> ~ </span>
|
||||
<?php echo html::input('end', $report->end, "class='form-control form-date'")?>
|
||||
<?php
|
||||
echo html::hidden('product', $productIdList) . html::hidden('project', $report->project) . html::hidden('tasks', $tasks);
|
||||
?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->testreport->owner?></span>
|
||||
<?php echo html::select('owner', $users, $report->owner, "class='form-control chosen'")?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->members?></th>
|
||||
<td colspan='2'><?php echo html::select('members[]', $users, $report->members, "class='form-control chosen' multiple")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->title?></th>
|
||||
<td colspan='2'><?php echo html::input('title', $report->title, "class='form-control'")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->goal?></th>
|
||||
<td colspan='2'><?php echo $project->desc?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->profile?></th>
|
||||
<td colspan='2'>
|
||||
<?php
|
||||
echo '<p>' . $storySummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->buildSummary, empty($builds) ? 1 : count($builds)) . $caseSummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->bugSummary, $bugInfo['foundBugs'], count($legacyBugs), $bugInfo['countBugByTask'], $bugInfo['bugConfirmedRate'] . '%', $bugInfo['bugCreateByCaseRate'] . '%') . '</p>';
|
||||
unset($bugInfo['countBugByTask']); unset($bugInfo['bugConfirmedRate']); unset($bugInfo['bugCreateByCaseRate']); unset($bugInfo['foundBugs']);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->report?></th>
|
||||
<td colspan='2'><?php echo html::textarea('report', $report->report, "class='form-control'")?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->files?></th>
|
||||
<td colspan='2'><?php echo $this->fetch('file', 'buildform');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<td><?php echo html::submitButton() . html::backButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendStoryAndBug?></div>
|
||||
<?php include './blockstories.html.php'?>
|
||||
<?php include './blockbugs.html.php'?>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendBuild?></div>
|
||||
<?php include './blockbuilds.html.php'?>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendCase?></div>
|
||||
<?php include './blockcases.html.php'?>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendLegacyBugs?></div>
|
||||
<?php include './blocklegacybugs.html.php'?>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->testreport->legendReport?></div>
|
||||
<?php include './blockbugreport.html.php'?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -13,108 +13,102 @@
|
||||
<?php if(!$this->session->notHead):?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/chart.html.php';?>
|
||||
<div class='container mw-1400px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><strong><?php echo $report->id;?></strong></span>
|
||||
<strong><?php echo $report->title;?></strong>
|
||||
</div>
|
||||
<div class='actions'>
|
||||
<?php
|
||||
$browseLink = $this->session->reportList != false ? $app->session->reportList : $browseLink;
|
||||
$actionLinks = '';
|
||||
ob_start();
|
||||
|
||||
echo "<div class='btn-group'>";
|
||||
if(common::hasPriv('testreport', 'create')) echo html::a(inLink('create', "objectID=$report->objectID&objectType=$report->objectType"), "<i class='icon-refresh'></i>", '', "class='btn' title='{$lang->testreport->recreate}'");
|
||||
common::printIcon('testreport', 'edit', "reportID=$report->id", '', 'button');
|
||||
common::printIcon('testreport', 'delete', "reportID=$report->id", '', 'button', '', 'hiddenwin');
|
||||
echo '</div>';
|
||||
|
||||
echo "<div class='btn-group'>";
|
||||
common::printRPN($browseLink);
|
||||
echo '</div>';
|
||||
|
||||
$actionLinks = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $actionLinks;
|
||||
?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<?php $browseLink = $this->session->reportList != false ? $app->session->reportList : $browseLink;?>
|
||||
<?php echo html::a($browseLink, "<i class='icon icon-back icon-sm'></i>" . $lang->goback, '', "class='btn btn-link'");?>
|
||||
<div class='divider'></div>
|
||||
<div class='page-title'>
|
||||
<span class='label label-id'><?php echo $report->id;?></span>
|
||||
<span class='text'><?php echo $report->title;?></span>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div class='main'>
|
||||
<ul class='nav nav-tabs'>
|
||||
<li class='active'><?php echo html::a('###', $lang->testreport->legendBasic, '', "data-toggle='tab' data-target='#basic'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendStoryAndBug, '', "data-toggle='tab' data-target='#storyAndBug'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendBuild, '', "data-toggle='tab' data-target='#tabBuild'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendCase, '', "data-toggle='tab' data-target='#tabCase'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendLegacyBugs, '', "data-toggle='tab' data-target='#tabLegacyBugs'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendReport, '', "data-toggle='tab' data-target='#tabReport'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendComment, '', "data-toggle='tab' data-target='#tabComment'")?></li>
|
||||
<?php if(!$this->session->notHead):?>
|
||||
<li><?php echo html::a('###', $lang->history, '', "data-toggle='tab' data-target='#tabHistory'")?></li>
|
||||
<?php if($this->app->user->admin):?>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendMore, '', "data-toggle='tab' data-target='#tabMore'")?></li>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
</ul>
|
||||
<div class='tab-content'>
|
||||
<div class='tab-pane' id='basic'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-100px'><?php echo $lang->testreport->startEnd?></th>
|
||||
<td class='w-p50'> <?php echo $report->begin . ' ~ ' . $report->end;?></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->owner?></th>
|
||||
<td><?php echo zget($users, $report->owner);?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->members?></th>
|
||||
<td colspan='2'><?php foreach(explode(',', $report->members) as $member)echo zget($users, $member) . ' ';?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->goal?></th>
|
||||
<td colspan='2'><?php echo $project->desc?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->profile?></th>
|
||||
<td colspan='2'>
|
||||
<?php
|
||||
echo '<p>' . $storySummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->buildSummary, empty($builds) ? 1 : count($builds)) . $caseSummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->bugSummary, $bugInfo['foundBugs'], count($legacyBugs), $bugInfo['countBugByTask'], $bugInfo['bugConfirmedRate'] . '%', $bugInfo['bugCreateByCaseRate'] . '%') . '</p>';
|
||||
unset($bugInfo['countBugByTask']); unset($bugInfo['bugConfirmedRate']); unset($bugInfo['bugCreateByCaseRate']); unset($bugInfo['foundBugs']);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if(!$this->session->notHead):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->files?></th>
|
||||
<td><?php echo $this->fetch('file', 'printFiles', array('files' => $report->files, 'fieldset' => 'false'));?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
</table>
|
||||
</div>
|
||||
<div class='tab-pane' id='storyAndBug'>
|
||||
<?php include './blockstories.html.php'?>
|
||||
<?php include './blockbugs.html.php'?>
|
||||
</div>
|
||||
<div class='tab-pane' id='tabBuild'><?php include './blockbuilds.html.php'?></div>
|
||||
<div class='tab-pane' id='tabCase'><?php include './blockcases.html.php'?></div>
|
||||
<div class='tab-pane' id='tabLegacyBugs'><?php include './blocklegacybugs.html.php'?></div>
|
||||
<div class='tab-pane active' id='tabReport'><?php include './blockbugreport.html.php'?></div>
|
||||
<div class='tab-pane' id='tabComment'><div class='article-content'><?php echo empty($report->report) ? $lang->testreport->none : $report->report;?></div></div>
|
||||
<?php if(!$this->session->notHead):?>
|
||||
<div class='tab-pane' id='tabHistory'><?php include '../../common/view/action.html.php';?></div>
|
||||
<?php if($this->app->user->admin):?>
|
||||
<div class='tab-pane' id='tabMore'><div class='article-content'><?php echo $lang->testreport->moreNotice;?></div></div>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<ul class='nav nav-tabs'>
|
||||
<li class='active'><?php echo html::a('###', $lang->testreport->legendBasic, '', "data-toggle='tab' data-target='#basic'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendStoryAndBug, '', "data-toggle='tab' data-target='#storyAndBug'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendBuild, '', "data-toggle='tab' data-target='#tabBuild'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendCase, '', "data-toggle='tab' data-target='#tabCase'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendLegacyBugs, '', "data-toggle='tab' data-target='#tabLegacyBugs'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendReport, '', "data-toggle='tab' data-target='#tabReport'")?></li>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendComment, '', "data-toggle='tab' data-target='#tabComment'")?></li>
|
||||
<?php if(!$this->session->notHead):?>
|
||||
<li><?php echo html::a('###', $lang->history, '', "data-toggle='tab' data-target='#tabHistory'")?></li>
|
||||
<?php if($this->app->user->admin):?>
|
||||
<li><?php echo html::a('###', $lang->testreport->legendMore, '', "data-toggle='tab' data-target='#tabMore'")?></li>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
</ul>
|
||||
<div class='tab-content'>
|
||||
<div class='tab-pane' id='basic'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-100px'><?php echo $lang->testreport->startEnd?></th>
|
||||
<td class='w-p50'> <?php echo $report->begin . ' ~ ' . $report->end;?></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->owner?></th>
|
||||
<td><?php echo zget($users, $report->owner);?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->members?></th>
|
||||
<td colspan='2'><?php foreach(explode(',', $report->members) as $member)echo zget($users, $member) . ' ';?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->goal?></th>
|
||||
<td colspan='2'><?php echo $project->desc?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testreport->profile?></th>
|
||||
<td colspan='2'>
|
||||
<?php
|
||||
echo '<p>' . $storySummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->buildSummary, empty($builds) ? 1 : count($builds)) . $caseSummary . '</p>';
|
||||
echo '<p>' . sprintf($lang->testreport->bugSummary, $bugInfo['foundBugs'], count($legacyBugs), $bugInfo['countBugByTask'], $bugInfo['bugConfirmedRate'] . '%', $bugInfo['bugCreateByCaseRate'] . '%') . '</p>';
|
||||
unset($bugInfo['countBugByTask']); unset($bugInfo['bugConfirmedRate']); unset($bugInfo['bugCreateByCaseRate']); unset($bugInfo['foundBugs']);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if(!$this->session->notHead):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->files?></th>
|
||||
<td><?php echo $this->fetch('file', 'printFiles', array('files' => $report->files, 'fieldset' => 'false'));?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
</table>
|
||||
</div>
|
||||
<div class='tab-pane' id='storyAndBug'>
|
||||
<?php include './blockstories.html.php'?>
|
||||
<?php include './blockbugs.html.php'?>
|
||||
</div>
|
||||
<div class='tab-pane' id='tabBuild'><?php include './blockbuilds.html.php'?></div>
|
||||
<div class='tab-pane' id='tabCase'><?php include './blockcases.html.php'?></div>
|
||||
<div class='tab-pane' id='tabLegacyBugs'><?php include './blocklegacybugs.html.php'?></div>
|
||||
<div class='tab-pane active' id='tabReport'><?php include './blockbugreport.html.php'?></div>
|
||||
<div class='tab-pane' id='tabComment'><div class='article-content'><?php echo empty($report->report) ? $lang->testreport->none : $report->report;?></div></div>
|
||||
<?php if(!$this->session->notHead):?>
|
||||
<div class='tab-pane' id='tabHistory'><?php include '../../common/view/action.html.php';?></div>
|
||||
<?php if($this->app->user->admin):?>
|
||||
<div class='tab-pane' id='tabMore'><div class='article-content'><?php echo $lang->testreport->moreNotice;?></div></div>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</div>
|
||||
<?php if(!$this->session->notHead):?>
|
||||
<div id='mainActions'>
|
||||
<nav class='container'></nav>
|
||||
<div class='btn-toolbar'>
|
||||
<?php common::printBack($browseLink);?>
|
||||
<div class='divider'></div>
|
||||
<?php
|
||||
if(common::hasPriv('testreport', 'create')) echo html::a(inLink('create', "objectID=$report->objectID&objectType=$report->objectType"), "<i class='icon-refresh'></i>", '', "class='btn' title='{$lang->testreport->recreate}'");
|
||||
common::printIcon('testreport', 'edit', "reportID=$report->id", '', 'button');
|
||||
common::printIcon('testreport', 'delete', "reportID=$report->id", '', 'button', '', 'hiddenwin');
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php endif;?>
|
||||
|
||||
Reference in New Issue
Block a user