Merge branch 'master' of https://github.com/easysoft/zentaopms
This commit is contained in:
@@ -14,10 +14,10 @@
|
||||
<table class='table table-borderless table-hover table-fixed-head block-builds'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th width='50'><?php echo $lang->idAB?></th>
|
||||
<th> <?php echo $lang->build->product;?></th>
|
||||
<th> <?php echo $lang->build->name;?></th>
|
||||
<th width='80'><?php echo $lang->build->date;?></th>
|
||||
<th class='w-id text-center'><?php echo $lang->idAB?></th>
|
||||
<th><?php echo $lang->build->product;?></th>
|
||||
<th><?php echo $lang->build->name;?></th>
|
||||
<th class='w-date'><?php echo $lang->build->date;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@@ -23,17 +23,17 @@
|
||||
</style>
|
||||
<table class='table table-borderless table-hover table-fixed-head block-cases <?php if(!$longBlock) echo 'block-sm';?>'>
|
||||
<thead>
|
||||
<tr>
|
||||
<tr class='text-center'>
|
||||
<?php if($longBlock):?>
|
||||
<th class='c-id' width='50'><?php echo $lang->idAB?></th>
|
||||
<th class='c-id'><?php echo $lang->idAB?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-pri' width='50'><?php echo $lang->priAB?></th>
|
||||
<th class='c-title'><?php echo $lang->case->title;?></th>
|
||||
<th class='c-pri'><?php echo $lang->priAB?></th>
|
||||
<th class='c-title text-left'><?php echo $lang->case->title;?></th>
|
||||
<?php if($longBlock):?>
|
||||
<th class='c-runtime' width='120'> <?php echo $lang->testtask->lastRunTime;?></th>
|
||||
<th class='c-result' width='60'> <?php echo $lang->testtask->lastRunResult;?></th>
|
||||
<th class='c-runtime'><?php echo $lang->testtask->lastRunTime;?></th>
|
||||
<th class='c-result'><?php echo $lang->testtask->lastRunResult;?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-status' width='70'><?php echo $lang->statusAB;?></th>
|
||||
<th class='c-status'><?php echo $lang->statusAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -42,17 +42,17 @@
|
||||
$appid = isset($_GET['entry']) ? "class='app-btn' data-id='{$this->get->entry}'" : '';
|
||||
$viewLink = $this->createLink('testcase', 'view', "caseID={$case->id}");
|
||||
?>
|
||||
<tr data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
|
||||
<tr class='text-center' data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
|
||||
<?php if($longBlock):?>
|
||||
<td class='text-center c-id'><?php echo $case->id;?></td>
|
||||
<td class='c-id'><?php echo $case->id;?></td>
|
||||
<?php endif;?>
|
||||
<td class='text-center c-pri'><span class='label-pri label-pri-<?php echo $case->pri?>'><?php echo zget($lang->case->priList, $case->pri, $case->pri)?></span></td>
|
||||
<td class='c-title' style='color: <?php echo $case->color?>' title='<?php echo $case->title?>'><?php echo $case->title?></td>
|
||||
<td class='c-pri'><span class='label-pri label-pri-<?php echo $case->pri?>'><?php echo zget($lang->case->priList, $case->pri, $case->pri)?></span></td>
|
||||
<td class='c-title text-left' style='color: <?php echo $case->color?>' title='<?php echo $case->title?>'><?php echo $case->title?></td>
|
||||
<?php if($longBlock):?>
|
||||
<td class='text-center c-runtime'><?php if(!helper::isZeroDate($case->lastRunDate)) echo date(DT_MONTHTIME1, strtotime($case->lastRunDate));?></td>
|
||||
<td class='text-center c-result'><?php if($case->lastRunResult) echo $lang->testcase->resultList[$case->lastRunResult];?></td>
|
||||
<td class='c-runtime'><?php if(!helper::isZeroDate($case->lastRunDate)) echo date(DT_MONTHTIME1, strtotime($case->lastRunDate));?></td>
|
||||
<td class='c-result'><?php if($case->lastRunResult) echo $lang->testcase->resultList[$case->lastRunResult];?></td>
|
||||
<?php endif;?>
|
||||
<td class='text-left c-status' title='<?php echo zget($lang->testcase->statusList, $case->status)?>'>
|
||||
<td class='c-status' title='<?php echo zget($lang->testcase->statusList, $case->status)?>'>
|
||||
<span class="case-status-<?php echo $case->status?>">
|
||||
<span class="label label-dot"></span>
|
||||
<span class='status-text'><?php echo zget($lang->testcase->statusList, $case->status);?></span>
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-name'><?php echo $lang->product->name;?></th>
|
||||
<th class='c-num'><?php echo $lang->product->plans;?></th>
|
||||
<th class='c-num'><?php echo $lang->product->releases;?></th>
|
||||
<?php if($longBlock):?>
|
||||
<th class='c-name'><?php echo $lang->product->currentProject;?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-num'><?php echo $lang->product->plans;?></th>
|
||||
<th class='c-num'><?php echo $lang->product->releases;?></th>
|
||||
<th class='c-num'><?php echo $lang->story->statusList['active'] . $lang->story->common;?></th>
|
||||
<th class='c-num'><?php echo $lang->bug->unResolved . $lang->bug->common;?></th>
|
||||
</tr>
|
||||
@@ -30,13 +30,13 @@
|
||||
$appid = isset($_GET['entry']) ? "class='app-btn' data-id='{$this->get->entry}'" : "";
|
||||
$viewLink = $this->createLink('product', 'browse', 'productID=' . $product->id);
|
||||
?>
|
||||
<tr data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
|
||||
<td class='c-name' title='<?php echo $product->name?>'><?php echo $product->name?></td>
|
||||
<tr class='text-center' data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
|
||||
<td class='c-name text-left' title='<?php echo $product->name?>'><?php echo $product->name?></td>
|
||||
<?php if($longBlock):?>
|
||||
<td class='c-name text-left'><?php echo zget($projects, $product->id, '');?></td>
|
||||
<?php endif;?>
|
||||
<td class="c-num"><?php echo $product->plans?></td>
|
||||
<td class="c-num"><?php echo $product->releases?></td>
|
||||
<?php if($longBlock):?>
|
||||
<td class='c-name'><?php echo zget($projects, $product->id, '');?></td>
|
||||
<?php endif;?>
|
||||
<td class="c-num"><?php echo $product->stories['active']?></td>
|
||||
<td class="c-num"><?php echo $product->unResolved?></td>
|
||||
</tr>
|
||||
|
||||
@@ -14,12 +14,16 @@
|
||||
<table class='table table-borderless table-hover table-fixed block-release'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='text-center w-50px'><?php echo $lang->idAB?></th>
|
||||
<?php if($longBlock):?>
|
||||
<th class='c-id text-center'><?php echo $lang->idAB?></th>
|
||||
<th><?php echo $lang->release->product;?></th>
|
||||
<?php endif;?>
|
||||
<th><?php echo $lang->release->name;?></th>
|
||||
<?php if($longBlock):?>
|
||||
<th><?php echo $lang->release->build;?></th>
|
||||
<th class='text-center w-80px'><?php echo $lang->release->date;?></th>
|
||||
<th class='text-center w-70px'><?php echo $lang->release->status;?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-date text-center'><?php echo $lang->release->date;?></th>
|
||||
<th class='text-center w-90px'><?php echo $lang->release->status;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -29,12 +33,21 @@
|
||||
$viewLink = $this->createLink('release', 'view', "releaseID={$release->id}");
|
||||
?>
|
||||
<tr data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
|
||||
<?php if($longBlock):?>
|
||||
<td class='text-center'><?php echo $release->id;?></td>
|
||||
<td title='<?php echo $release->productName?>'><?php echo $release->productName?></td>
|
||||
<?php endif;?>
|
||||
<td title='<?php echo $release->name?>'><?php echo $release->name?></td>
|
||||
<?php if($longBlock):?>
|
||||
<td title='<?php echo $release->buildName?>'><?php echo $release->buildName?></td>
|
||||
<?php endif;?>
|
||||
<td class='text-center'><?php echo $release->date?></td>
|
||||
<td class='text-center'><?php echo $lang->release->statusList[$release->status]?></td>
|
||||
<td class='c-status' title='<?php echo zget($lang->release->statusList, $release->status);?>'>
|
||||
<span class="status-<?php echo $release->status?>">
|
||||
<span class="label label-dot"></span>
|
||||
<span class='status-text'><?php echo zget($lang->release->statusList, $release->status);?></span>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
|
||||
@@ -14,7 +14,9 @@
|
||||
<table class='table table-borderless table-hover table-fixed-head block-stories <?php if(!$longBlock) echo 'block-sm'?>'>
|
||||
<thead>
|
||||
<tr>
|
||||
<?php if($longBlock):?>
|
||||
<th class="c-id"><?php echo $lang->idAB?></th>
|
||||
<?php endif;?>
|
||||
<th class="c-pri"><?php echo $lang->priAB?></th>
|
||||
<th class="c-name"><?php echo $lang->story->title;?></th>
|
||||
<?php if($longBlock):?>
|
||||
@@ -33,14 +35,21 @@
|
||||
$viewLink = $this->createLink('story', 'view', "storyID={$story->id}");
|
||||
?>
|
||||
<tr data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
|
||||
<?php if($longBlock):?>
|
||||
<td class="c-id"><?php echo $story->id;?></td>
|
||||
<?php endif;?>
|
||||
<?php $pri = zget($lang->story->priList, $story->pri, $story->pri);?>
|
||||
<td class="c-pri"><span class="label-pri label-pri-<?php echo $pri?>"><?php echo $pri?></span></td>
|
||||
<td class="c-name" style='color: <?php echo $story->color?>' title='<?php echo $story->title?>'><?php echo $story->title?></td>
|
||||
<?php if($longBlock):?>
|
||||
<td class='c-estimate'><?php echo $story->estimate?></td>
|
||||
<td class='c-estimate text-center'><?php echo $story->estimate?></td>
|
||||
<?php endif;?>
|
||||
<td class='c-status'><?php echo zget($lang->story->statusList, $story->status);?></td>
|
||||
<td class='c-status' title='<?php echo zget($lang->story->statusList, $story->status);?>'>
|
||||
<span class="story-status-<?php echo $story->status?>">
|
||||
<span class="label label-dot"></span>
|
||||
<span class='status-text'><?php echo zget($lang->story->statusList, $story->status);?></span>
|
||||
</span>
|
||||
</td>
|
||||
<?php if($longBlock):?>
|
||||
<td class='c-stage'>
|
||||
<span class='story-stage-<?php echo $story->stage?>'>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<th class='c-estimate'><?php echo $lang->task->estimateAB;?></th>
|
||||
<th class='c-deadline'><?php echo $lang->task->deadline;?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='c-status text-center'><?php echo $lang->statusAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -35,7 +35,7 @@
|
||||
<td class='c-pri'><span class='label-pri label-pri-<?php echo $task->pri;?>'><?php echo zget($lang->task->priList, $task->pri, $task->pri)?></span></td>
|
||||
<td class='c-name' style='color: <?php echo $task->color?>' title='<?php echo $task->name?>'><?php echo $task->name?></td>
|
||||
<?php if($longBlock):?>
|
||||
<td class='c-estimate'><?php echo $task->estimate?></td>
|
||||
<td class='c-estimate text-center'><?php echo $task->estimate?></td>
|
||||
<td class='c-deadline'><?php if(substr($task->deadline, 0, 4) > 0) echo $task->deadline;?></td>
|
||||
<?php endif;?>
|
||||
<td class='c-status' title='<?php echo zget($lang->task->statusList, $task->status)?>'>
|
||||
|
||||
@@ -13,13 +13,17 @@
|
||||
<div class='panel-body has-table'>
|
||||
<table class='table table-borderless table-hover table-fixed-head block-testtask'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th width='30'><?php echo $lang->idAB?></th>
|
||||
<th width='80'><?php echo $lang->testtask->product;?></th>
|
||||
<th width='80'> <?php echo $lang->testtask->name;?></th>
|
||||
<th width='80'><?php echo $lang->testtask->project . '/' . $lang->testtask->build;?></th>
|
||||
<th width='50'><?php echo $lang->testtask->begin;?></th>
|
||||
<th width='50'><?php echo $lang->testtask->end;?></th>
|
||||
<tr class='text-center'>
|
||||
<?php if($longBlock):?>
|
||||
<th class='w-id'><?php echo $lang->idAB?></th>
|
||||
<th class='text-left'><?php echo $lang->testtask->product;?></th>
|
||||
<?php endif;?>
|
||||
<th class='text-left'><?php echo $lang->testtask->name;?></th>
|
||||
<?php if($longBlock):?>
|
||||
<th class='text-left'><?php echo $lang->testtask->project . '/' . $lang->testtask->build;?></th>
|
||||
<?php endif;?>
|
||||
<th class='w-date'><?php echo $lang->testtask->begin;?></th>
|
||||
<th class='w-date'><?php echo $lang->testtask->end;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -28,11 +32,15 @@
|
||||
$appid = isset($_GET['entry']) ? "class='app-btn' data-id='{$this->get->entry}'" : '';
|
||||
$viewLink = $this->createLink('testtask', 'view', "testtaskID={$testtask->id}");
|
||||
?>
|
||||
<tr data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
|
||||
<td class='text-center'><?php echo $testtask->id;?></td>
|
||||
<td title='<?php echo $testtask->productName?>'><?php echo $testtask->productName?></td>
|
||||
<td title='<?php echo $testtask->name?>'><?php echo $testtask->name?></td>
|
||||
<td class='text-center' title='<?php echo $testtask->projectName . '/' . $testtask->buildName?>'><?php echo $testtask->projectName . '/' . $testtask->buildName?></td>
|
||||
<tr class='text-center' data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
|
||||
<?php if($longBlock):?>
|
||||
<td><?php echo $testtask->id;?></td>
|
||||
<td class='text-left' title='<?php echo $testtask->productName?>'><?php echo $testtask->productName?></td>
|
||||
<?php endif;?>
|
||||
<td class='text-left' title='<?php echo $testtask->name?>'><?php echo $testtask->name?></td>
|
||||
<?php if($longBlock):?>
|
||||
<td class='text-left' title='<?php echo $testtask->projectName . '/' . $testtask->buildName?>'><?php echo $testtask->projectName . '/' . $testtask->buildName?></td>
|
||||
<?php endif;?>
|
||||
<td><?php echo $testtask->begin?></td>
|
||||
<td><?php echo $testtask->end?></td>
|
||||
</tr>
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
.ke-toolbar .ke-outline[data-name='savetemplate'] {display: none}
|
||||
#modulemenu .nav #dropMenu #searchResult .closed{text-decoration:none;}
|
||||
.nav #moreMenus{cursor: pointer;}
|
||||
|
||||
.input-group .control-product + .chosen-container-single .chosen-single {border-radius: 2px 0 0 2px; border-right-width: 0; padding-right: 1px;}
|
||||
.input-group .control-product + .chosen-container-active .chosen-single {border-right-width: 1px; padding-right: 0;}
|
||||
.input-group .control-branch + .chosen-container-single .chosen-single {border-radius: 0 2px 2px 0;}
|
||||
|
||||
@@ -35,4 +35,5 @@
|
||||
|
||||
#branch {border-left-width: 0;}
|
||||
|
||||
.input-group-addon.w-90px{min-width:90px;}
|
||||
.input-group-addon.w-90px{min-width:90px;}
|
||||
.input-group .input-group-btn .btn{padding: 6px 12px;}
|
||||
|
||||
@@ -193,7 +193,6 @@ function loadProductModules(productID)
|
||||
$('#moduleIdBox').load(link, function()
|
||||
{
|
||||
$(this).find('select').chosen(defaultChosenOptions)
|
||||
if(typeof(bugModule) == 'string') $('#moduleIdBox').prepend("<span class='input-group-addon'>" + bugModule + "</span>")
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -129,6 +129,8 @@ $lang->bug->resolvedByMeAB = 'Resolved By Me';
|
||||
$lang->bug->ditto = 'Ditto';
|
||||
$lang->bug->dittoNotice = 'This bug is not linked to the same product as the last one!';
|
||||
$lang->bug->noAssigned = 'Not Assigned';
|
||||
$lang->bug->noBug = 'No BUG. You could ';
|
||||
$lang->bug->noModule = '<div>You have no modules</div><div>Manage now</div>';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblAssignedTo = 'Assignee';
|
||||
|
||||
@@ -130,6 +130,7 @@ $lang->bug->ditto = '同上';
|
||||
$lang->bug->dittoNotice = '该bug与上一bug不属于同一产品!';
|
||||
$lang->bug->noAssigned = '未指派';
|
||||
$lang->bug->noBug = '暂时没有BUG,您现在可以';
|
||||
$lang->bug->noModule = '<div>您现在还没有模块信息</div><div>请维护测试模块</div>';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblAssignedTo = '当前指派';
|
||||
|
||||
+14
-3
@@ -2398,9 +2398,18 @@ class bugModel extends model
|
||||
if($col->show)
|
||||
{
|
||||
$class = "c-$id";
|
||||
if($id == 'status') $class .= ' bug-' . $bug->status;
|
||||
if($id == 'title') $class .= ' text-left';
|
||||
$title = '';
|
||||
if($id == 'id') $class .= ' cell-id';
|
||||
if($id == 'status')
|
||||
{
|
||||
$class .= ' bug-' . $bug->status;
|
||||
$title = "title='" . zget($this->lang->bug->statusList, $bug->status) . "'";
|
||||
}
|
||||
if($id == 'title')
|
||||
{
|
||||
$class .= ' text-left';
|
||||
$title = "title='{$bug->title}";
|
||||
}
|
||||
if($id == 'assignedTo')
|
||||
{
|
||||
$class .= ' has-btn text-left';
|
||||
@@ -2408,7 +2417,7 @@ class bugModel extends model
|
||||
}
|
||||
if($id == 'deadline' && isset($bug->delay)) $class .= ' delayed';
|
||||
|
||||
echo "<td class='" . $class . "'" . ($id=='title' ? " title='{$bug->title}'" : '') . ">";
|
||||
echo "<td class='" . $class . "' $title>";
|
||||
switch($id)
|
||||
{
|
||||
case 'id':
|
||||
@@ -2463,7 +2472,9 @@ class bugModel extends model
|
||||
echo zget($this->lang->bug->typeList, $bug->type);
|
||||
break;
|
||||
case 'status':
|
||||
echo "<span class='bug-status-{$bug->status}'><span class='label label-dot'></span><span class='status-text'>";
|
||||
echo zget($this->lang->bug->statusList, $bug->status);
|
||||
echo '</span></span>';
|
||||
break;
|
||||
case 'activatedCount':
|
||||
echo $bug->activatedCount;
|
||||
|
||||
@@ -11,11 +11,6 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php if(empty($bugs)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p><span class="text-muted"><?php echo $lang->bug->noBug;?></span> <?php common::printLink('bug', 'create', "productID={$productID}", "<i class='icon icon-plus'> </i>" . $lang->bug->create, '', "class='btn btn-info'");?></p>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<?php
|
||||
include '../../common/view/datatable.fix.html.php';
|
||||
js::set('browseType', $browseType);
|
||||
@@ -182,6 +177,11 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
<div id="mainContent" class="main-row">
|
||||
<div class="side-col" id="sidebar">
|
||||
<div class="cell">
|
||||
<?php if(!$moduleTree):?>
|
||||
<hr class="space">
|
||||
<div class="text-center text-muted"><?php echo $lang->bug->noModule;?></div>
|
||||
<hr class="space">
|
||||
<?php endif;?>
|
||||
<?php echo $moduleTree;?>
|
||||
<div class="text-center">
|
||||
<?php common::printLink('tree', 'browse', "productID=$productID&view=bug", $lang->tree->manage, '', "class='btn btn-info btn-wide'");?>
|
||||
@@ -229,10 +229,10 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php if(!empty($bugs)):?>
|
||||
<div class='table-footer'>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php if(!empty($bugs)):?>
|
||||
<div class='btn-group dropup'>
|
||||
<?php
|
||||
$actionLink = $this->createLink('bug', 'batchEdit', "productID=$productID&branch=$branch");
|
||||
@@ -361,10 +361,14 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<?php $pager->show('right', 'pagerjs');?>
|
||||
</div>
|
||||
<?php elseif(common::hasPriv('bug', 'create')):?>
|
||||
<div class="table-empty-tip">
|
||||
<p><span class="text-muted"><?php echo $lang->bug->noBug;?></span> <?php common::printLink('bug', 'create', "productID={$productID}", "<i class='icon icon-plus'> </i>" . $lang->bug->create, '', "class='btn btn-info'");?></p>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -392,5 +396,4 @@ $(function(){$('#modulemenu .nav li:last').after("<li class='right'><a style='fo
|
||||
#querybox #searchform{border-bottom: 1px solid #ddd; margin-bottom: 20px;}
|
||||
</style>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
+103
-137
@@ -35,19 +35,21 @@ js::set('confirmDeleteTemplate', $lang->bug->confirmDeleteTemplate);
|
||||
<table class="table table-form">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class='w-110px'><?php echo $lang->bug->product;?></th>
|
||||
<td class='w-p45-f'>
|
||||
<th><?php echo $lang->bug->product;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php echo html::select('product', $products, $productID, "onchange='loadAll(this.value);' class='form-control chosen control-product' autocomplete='off'");?>
|
||||
<?php if($this->session->currentProductType != 'normal'):?>
|
||||
<span class='input-group-addon fix-border fix-padding'></span>
|
||||
<?php echo html::select('branch', $branches, $branch, "onchange='loadBranch()' class='form-control chosen control-branch' style='width:120px'");?>
|
||||
<span class='input-group-addon'></span>
|
||||
<?php echo html::select('branch', $branches, $branch, "onchange='loadBranch()' class='form-control chosen control-branch'");?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->module;?></th>
|
||||
<td>
|
||||
<div class='input-group' id='moduleIdBox'>
|
||||
<span class="input-group-addon w-90px"><?php echo $lang->bug->module?></span>
|
||||
<?php
|
||||
echo html::select('module', $moduleOptionMenu, $moduleID, "onchange='loadModuleRelated()' class='form-control chosen'");
|
||||
if(count($moduleOptionMenu) == 1)
|
||||
@@ -63,41 +65,19 @@ js::set('confirmDeleteTemplate', $lang->bug->confirmDeleteTemplate);
|
||||
</td>
|
||||
</tr>
|
||||
<?php $showProject = (strpos(",$showFields,", ',project,') !== false && $this->config->global->flow != 'onlyTest');?>
|
||||
<?php if($showProject):?>
|
||||
<tr>
|
||||
<th><?php echo ($showProject) ? $lang->bug->project : $lang->bug->type;?></th>
|
||||
|
||||
<?php if(!$showProject):?>
|
||||
<?php $showOS = strpos(",$showFields,", ',os,') !== false;?>
|
||||
<?php $showBrowser = strpos(",$showFields,", ',browser,') !== false;?>
|
||||
<td>
|
||||
<div class='input-group' id='bugTypeInputGroup'>
|
||||
<?php
|
||||
/* Remove the unused types. */
|
||||
unset($lang->bug->typeList['designchange']);
|
||||
unset($lang->bug->typeList['newfeature']);
|
||||
unset($lang->bug->typeList['trackthings']);
|
||||
echo html::select('type', $lang->bug->typeList, $type, "class='form-control chosen'");
|
||||
?>
|
||||
<?php if($showOS):?>
|
||||
<span class='input-group-addon fix-border'><?php echo $lang->bug->os?></span>
|
||||
<?php echo html::select('os', $lang->bug->osList, $os, "class='form-control chosen'");?>
|
||||
<?php endif;?>
|
||||
<?php if($showBrowser):?>
|
||||
<span class='input-group-addon fix-border'><?php echo $lang->bug->browser?></span>
|
||||
<?php echo html::select('browser', $lang->bug->browserList, $browser, "class='form-control chosen'");?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<?php if($showProject):?>
|
||||
<th><?php echo $lang->bug->project;?></th>
|
||||
<td><span id='projectIdBox'><?php echo html::select('project', $projects, $projectID, "class='form-control chosen' onchange='loadProjectRelated(this.value)' autocomplete='off'");?></span></td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->openedBuild?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon w-90px'><?php echo $lang->bug->openedBuild?></span>
|
||||
<span id='buildBox'><?php echo html::select('openedBuild[]', $builds, $buildID, "size=4 multiple=multiple class='chosen form-control'");?></span>
|
||||
<div class='input-group' id='buildBox'><?php echo html::select('openedBuild[]', $builds, $buildID, "size=4 multiple=multiple class='chosen form-control'");?></div>
|
||||
<span class='input-group-addon fix-border' id='buildBoxActions'></span>
|
||||
<span class='input-group-btn'><?php echo html::commonButton($lang->bug->allBuilds, "class='btn btn-default' data-toggle='tooltip' onclick='loadAllBuilds()'")?></span>
|
||||
<div class='input-group-btn'><?php echo html::commonButton($lang->bug->allBuilds, "class='btn btn-default' data-toggle='tooltip' onclick='loadAllBuilds()'")?></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -105,20 +85,71 @@ js::set('confirmDeleteTemplate', $lang->bug->confirmDeleteTemplate);
|
||||
<th><nobr><?php echo $lang->bug->lblAssignedTo;?></nobr></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span id='assignedToBox'><?php echo html::select('assignedTo', $projectMembers, $assignedTo, "class='form-control chosen'");?></span>
|
||||
<div class='input-group' id='assignedToBox'><?php echo html::select('assignedTo', $projectMembers, $assignedTo, "class='form-control chosen'");?></div>
|
||||
<span class='input-group-btn'><?php echo html::commonButton($lang->bug->allUsers, "class='btn btn-default' onclick='loadAllUsers()' data-toggle='tooltip'");?></span>
|
||||
</div>
|
||||
</td>
|
||||
<?php $showDeadline = strpos(",$showFields,", ',deadline,') !== false;?>
|
||||
<?php if($showDeadline):?>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon w-90px'><?php echo $lang->bug->deadline?></span>
|
||||
<span><?php echo html::input('deadline', $deadline, "class='form-control form-date'");?></span>
|
||||
</div>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<?php $showDeadline = strpos(",$showFields,", ',deadline,') !== false;?>
|
||||
<?php if($showDeadline):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->deadline?></th>
|
||||
<td><?php echo html::input('deadline', $deadline, "class='form-control form-date'");?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
|
||||
<?php if(strpos(",$showFields,", ',severity,') !== false):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->severity;?></th>
|
||||
<td>
|
||||
<?php
|
||||
$hasCustomSeverity = false;
|
||||
foreach($lang->bug->severityList as $severityKey => $severityValue)
|
||||
{
|
||||
if(!empty($severityKey) and (string)$severityKey != (string)$severityValue)
|
||||
{
|
||||
$hasCustomSeverity = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php if($hasCustomSeverity):?>
|
||||
<?php echo html::select('severity', (array)$lang->bug->severityList, $severity, "class='form-control chosen'");?>
|
||||
<?php else: ?>
|
||||
<?php echo html::select('severity', (array)$lang->bug->severityList, $severity, "class='form-control' data-provide='labelSelector' data-label-class='label-severity'");?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if(strpos(",$showFields,", ',pri,') !== false):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->pri;?></th>
|
||||
<td>
|
||||
<?php
|
||||
$hasCustomPri = false;
|
||||
foreach($lang->bug->priList as $priKey => $priValue)
|
||||
{
|
||||
if(!empty($priKey) and (string)$priKey != (string)$priValue)
|
||||
{
|
||||
$hasCustomPri = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$priList = $lang->bug->priList;
|
||||
if(end($priList))
|
||||
{
|
||||
unset($priList[0]);
|
||||
$priList[0] = '';
|
||||
}
|
||||
?>
|
||||
<?php if($hasCustomPri):?>
|
||||
<?php echo html::select('pri', (array)$priList, $pri, "class='form-control chosen'");?>
|
||||
<?php else: ?>
|
||||
<?php echo html::select('pri', (array)$priList, $pri, "class='form-control' data-provide='labelSelector'");?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if($this->config->global->flow != 'onlyTest' && $showProject):?>
|
||||
<?php $showOS = strpos(",$showFields,", ',os,') !== false;?>
|
||||
<?php $showBrowser = strpos(",$showFields,", ',browser,') !== false;?>
|
||||
@@ -148,64 +179,15 @@ js::set('confirmDeleteTemplate', $lang->bug->confirmDeleteTemplate);
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->title;?></th>
|
||||
<td colspan='2'>
|
||||
<div class='input-group'>
|
||||
<input type='hidden' id='color' name='color' data-provide='colorpicker' data-wrapper='input-group-btn' data-pull-menu-right='false' data-btn-tip='<?php echo $lang->bug->colorTag ?>' data-update-text='#title' value='<?php echo $color;?>'>
|
||||
<?php echo html::input('title', $bugTitle, "class='form-control'");?>
|
||||
<?php $showSeverity = strpos(",$showFields,", ',severity,') !== false;?>
|
||||
<?php $showPri = strpos(",$showFields,", ',pri,') !== false;?>
|
||||
<?php if($showSeverity or $showPri):?>
|
||||
<?php $widthClass = (!$showSeverity or !$showPri) ? 'w-100px' : 'w-230px';?>
|
||||
<?php if($showSeverity):?>
|
||||
<span class='input-group-addon fix-border'><?php echo $lang->bug->severity;?></span>
|
||||
<?php
|
||||
$hasCustomSeverity = false;
|
||||
foreach($lang->bug->severityList as $severityKey => $severityValue)
|
||||
{
|
||||
if(!empty($severityKey) and (string)$severityKey != (string)$severityValue)
|
||||
{
|
||||
$hasCustomSeverity = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php if($hasCustomSeverity):?>
|
||||
<?php echo html::select('severity', (array)$lang->bug->severityList, $severity, "class='form-control minw-80px chosen'");?>
|
||||
<?php else: ?>
|
||||
<div class='input-group-btn dropdown-pris' data-prefix='severity'>
|
||||
<button type='button' class='btn dropdown-toggle br-0' data-toggle='dropdown'>
|
||||
<span class='pri-text'></span> <span class='caret'></span>
|
||||
</button>
|
||||
<ul class='dropdown-menu pull-right'></ul>
|
||||
<?php echo html::select('severity', (array)$lang->bug->severityList, $severity, "class='hide'");?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php endif;?>
|
||||
<?php if($showPri):?>
|
||||
<span class='input-group-addon fix-border'><?php echo $lang->bug->pri;?></span>
|
||||
<?php
|
||||
$hasCustomPri = false;
|
||||
foreach($lang->bug->priList as $priKey => $priValue)
|
||||
{
|
||||
if(!empty($priKey) and (string)$priKey != (string)$priValue)
|
||||
{
|
||||
$hasCustomPri = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php if($hasCustomPri):?>
|
||||
<?php echo html::select('pri', (array)$lang->bug->priList, $pri, "class='form-control minw-80px chosen'");?>
|
||||
<?php else: ?>
|
||||
<div class='input-group-btn dropdown-pris'>
|
||||
<button type='button' class='btn dropdown-toggle br-0' data-toggle='dropdown'>
|
||||
<span class='pri-text'></span> <span class='caret'></span>
|
||||
</button>
|
||||
<ul class='dropdown-menu pull-right'></ul>
|
||||
<?php echo html::select('pri', $lang->bug->priList, $pri, "class='hide'");?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
<div class="input-control has-icon-right">
|
||||
<?php echo html::input('title', $bugTitle, "class='form-control' autocomplete='off' required");?>
|
||||
<div class="colorpicker">
|
||||
<button type="button" class="btn btn-link dropdown-toggle" data-toggle="dropdown"><span class="cp-title"></span><span class="color-bar"></span><i class="ic"></i></button>
|
||||
<ul class="dropdown-menu clearfix">
|
||||
<li class="heading"><?php echo $lang->story->colorTag;?><i class="icon icon-close"></i></li>
|
||||
</ul>
|
||||
<input type="hidden" class="colorpicker" id="color" name="color" value="" data-icon="color" data-wrapper="input-control-icon-right" data-update-color="#title" data-provide="colorpicker">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -230,36 +212,26 @@ js::set('confirmDeleteTemplate', $lang->bug->confirmDeleteTemplate);
|
||||
$showStory = strpos(",$showFields,", ',story,') !== false;
|
||||
$showTask = strpos(",$showFields,", ',task,') !== false;
|
||||
?>
|
||||
<?php if(($showStory or $showTask) and $this->config->global->flow != 'onlyTest'):?>
|
||||
<?php if($showStory and $this->config->global->flow != 'onlyTest'):?>
|
||||
<tr>
|
||||
<th><?php echo ($showStory) ? $lang->bug->story : $lang->bug->task;?></th>
|
||||
<?php if($showStory):?>
|
||||
<td>
|
||||
<span id='storyIdBox'><?php echo html::select('story', empty($stories) ? '' : $stories, $storyID, "class='form-control chosen'");?></span>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<?php if($showTask):?>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php if($showStory):?>
|
||||
<span class='input-group-addon w-90px'><?php echo $lang->bug->task?></span>
|
||||
<?php endif;?>
|
||||
<span id='taskIdBox'> <?php echo html::select('task', '', $taskID, "class='form-control chosen'") . html::hidden('oldTaskID', $taskID);?></span>
|
||||
</div>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<th><?php echo $lang->bug->story;?></th>
|
||||
<td colspan='2'><div id='storyIdBox' class='input-group'><?php echo html::select('story', empty($stories) ? '' : $stories, $storyID, "class='form-control chosen'");?></div></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if($showTask and $this->config->global->flow != 'onlyTest'):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->task;?></th>
|
||||
<td colspan='2'><div id='taskIdBox' class='input-group'> <?php echo html::select('task', '', $taskID, "class='form-control chosen'") . html::hidden('oldTaskID', $taskID);?></div></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$showMailto = strpos(",$showFields,", ',mailto,') !== false;
|
||||
$showKeywords = strpos(",$showFields,", ',keywords,') !== false;
|
||||
?>
|
||||
<?php if($showMailto or $showKeywords):?>
|
||||
<?php $colspan = ($showMailto and $showKeywords) ? '' : "colspan='2'";?>
|
||||
<?php if($showMailto):?>
|
||||
<tr>
|
||||
<th><?php echo ($showMailto) ? $lang->bug->lblMailto : $lang->bug->keywords;?></th>
|
||||
<?php if($showMailto):?>
|
||||
<td>
|
||||
<th><?php echo $lang->bug->lblMailto;?></th>
|
||||
<td colspan='2'>
|
||||
<div class='input-group' id='contactListGroup'>
|
||||
<?php
|
||||
echo html::select('mailto[]', $users, str_replace(' ', '', $mailto), "class='form-control chosen' multiple");
|
||||
@@ -267,17 +239,12 @@ js::set('confirmDeleteTemplate', $lang->bug->confirmDeleteTemplate);
|
||||
?>
|
||||
</div>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<?php if($showKeywords):?>
|
||||
<td <?php echo $colspan?>>
|
||||
<div class='input-group'>
|
||||
<?php if($showMailto):?>
|
||||
<span class='input-group-addon w-90px' id='keywordsAddonLabel'><?php echo $lang->bug->keywords;?></span>
|
||||
<?php endif;?>
|
||||
<?php echo html::input('keywords', $keywords, "class='form-control'");?>
|
||||
</div>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if($showKeywords):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->keywords;?></th>
|
||||
<td colspan='2'><?php echo html::input('keywords', $keywords, "class='form-control'");?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
@@ -318,5 +285,4 @@ js::set('confirmDeleteTemplate', $lang->bug->confirmDeleteTemplate);
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php js::set('bugModule', $lang->bug->module);?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -49,13 +49,16 @@ js::set('productID' , $bug->product);
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span id='resolvedBuildBox'><?php echo html::select('resolvedBuild', $builds, '', "class='form-control chosen'");?></span>
|
||||
<?php if(common::hasPriv('build', 'create')):?>
|
||||
<span id='newBuildBox' class='hidden'><?php echo html::input('buildName', '', "class='form-control' placeholder='{$lang->bug->placeholder->newBuildName}'");?></span>
|
||||
<span class='input-group-addon'><label class="checkbox-inline"><input name="createBuild" value="1" id="createBuild" type="checkbox"> <?php echo $lang->bug->createBuild?></label></span>
|
||||
<?php endif;?>
|
||||
<span id='resolvedBuildBox'><?php echo html::select('resolvedBuild', $builds, '', "class='form-control chosen'");?></span>
|
||||
<span id='newBuildBox' class='hidden'><?php echo html::input('buildName', '', "class='form-control' placeholder='{$lang->bug->placeholder->newBuildName}'");?></span>
|
||||
</td>
|
||||
<td>
|
||||
<?php if(common::hasPriv('build', 'create')):?>
|
||||
<div class='checkbox-primary'>
|
||||
<input type='checkbox' id='createBuild' name='createBuild' value='1' />
|
||||
<label for='createBuild'><?php echo $lang->bug->createBuild;?></label>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -72,7 +75,7 @@ js::set('productID' , $bug->product);
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->comment;?></th>
|
||||
<td colspan='2'><?php echo html::textarea('comment', '', "rows='6' class='form-control'");?></td>
|
||||
<td colspan='3'><?php echo html::textarea('comment', '', "rows='6' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th><td colspan='2'><?php echo html::submitButton() . html::linkButton($lang->goback, $this->session->bugList);?></td>
|
||||
|
||||
@@ -657,9 +657,6 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
|
||||
unset($lang->product->menu);
|
||||
unset($lang->product->menuOrder);
|
||||
|
||||
$lang->project->menu->task['subModule'] = 'task';
|
||||
$lang->project->menu->task['alias'] = 'grouptask,importtask';
|
||||
|
||||
unset($lang->searchObjects['bug']);
|
||||
unset($lang->searchObjects['story']);
|
||||
unset($lang->searchObjects['product']);
|
||||
|
||||
@@ -657,9 +657,6 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
|
||||
unset($lang->product->menu);
|
||||
unset($lang->product->menuOrder);
|
||||
|
||||
$lang->project->menu->task['subModule'] = 'task';
|
||||
$lang->project->menu->task['alias'] = 'grouptask,importtask';
|
||||
|
||||
unset($lang->searchObjects['bug']);
|
||||
unset($lang->searchObjects['story']);
|
||||
unset($lang->searchObjects['product']);
|
||||
|
||||
@@ -657,9 +657,6 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
|
||||
unset($lang->product->menu);
|
||||
unset($lang->product->menuOrder);
|
||||
|
||||
$lang->project->menu->task['subModule'] = 'task';
|
||||
$lang->project->menu->task['alias'] = 'grouptask,importtask';
|
||||
|
||||
unset($lang->searchObjects['bug']);
|
||||
unset($lang->searchObjects['story']);
|
||||
unset($lang->searchObjects['product']);
|
||||
|
||||
@@ -73,6 +73,7 @@ $lang->product->branch = '所屬%s';
|
||||
$lang->product->qa = '測試';
|
||||
$lang->product->release = '發佈';
|
||||
$lang->product->latestDynamic = '最新動態';
|
||||
$lang->product->plan = '計劃';
|
||||
$lang->product->iteration = '版本迭代';
|
||||
$lang->product->iterationInfo = '迭代 %s 次';
|
||||
$lang->product->iterationView = '查看詳情';
|
||||
|
||||
@@ -40,9 +40,19 @@
|
||||
<td><?php echo $project->code;?></td>
|
||||
<td><?php echo $project->end;?></td>
|
||||
<?php if(isset($project->delay)):?>
|
||||
<td class='status-delay'><?php echo $lang->project->delayed;?></td>
|
||||
<td class='c-status' title='<?php echo $lang->project->delayed;?>'>
|
||||
<span class="project-status-delayed">
|
||||
<span class="label label-dot"></span>
|
||||
<span class='status-text'><?php echo $lang->project->delayed;?></span>
|
||||
</span>
|
||||
</td>
|
||||
<?php else:?>
|
||||
<td class='status-<?php echo $project->status?>'><?php echo $lang->project->statusList[$project->status];?></td>
|
||||
<td class='c-status' title='<?php echo zget($lang->project->statusList, $project->status);?>'>
|
||||
<span class="project-status-<?php echo $project->status?>">
|
||||
<span class="label label-dot"></span>
|
||||
<span class='status-text'><?php echo zget($lang->project->statusList, $project->status);?></span>
|
||||
</span>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<td><?php echo $project->hours->totalEstimate;?></td>
|
||||
<td><?php echo $project->hours->totalConsumed;?></td>
|
||||
|
||||
@@ -75,9 +75,19 @@
|
||||
<td><?php echo $users[$project->PM];?></td>
|
||||
<td><?php echo $project->end;?></td>
|
||||
<?php if(isset($project->delay)):?>
|
||||
<td><span class='status-delay'><span class="label label-dot"></span> <?php echo $lang->project->delayed;?></span></td>
|
||||
<td class='c-status' title='<?php echo $lang->project->delayed;?>'>
|
||||
<span class="project-status-delayed">
|
||||
<span class="label label-dot"></span>
|
||||
<span class='status-text'><?php echo $lang->project->delayed;?></span>
|
||||
</span>
|
||||
</td>
|
||||
<?php else:?>
|
||||
<td><span class='status-<?php echo $project->status?>'><span class="label label-dot"></span> <?php echo $lang->project->statusList[$project->status];?></span></td>
|
||||
<td class='c-status' title='<?php echo zget($lang->project->statusList, $project->status);?>'>
|
||||
<span class="project-status-<?php echo $project->status?>">
|
||||
<span class="label label-dot"></span>
|
||||
<span class='status-text'><?php echo zget($lang->project->statusList, $project->status);?></span>
|
||||
</span>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<td><?php echo $project->hours->totalEstimate;?></td>
|
||||
<td><?php echo $project->hours->totalConsumed;?></td>
|
||||
|
||||
@@ -141,7 +141,12 @@
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
<td><?php echo $users[$story->assignedTo];?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td class='story-<?php echo $story->status;?>'><?php echo zget($lang->story->statusList, $story->status);?></td>
|
||||
<td title='<?php echo zget($lang->story->statusList, $story->status);?>'>
|
||||
<span class='story-status-<?php echo $story->status;?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<span class='status-text'><?php echo zget($lang->story->statusList, $story->status);?></span>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
<td class='linkbox'>
|
||||
<?php
|
||||
|
||||
@@ -78,7 +78,12 @@
|
||||
<td><?php echo $users[$task->owner];?></td>
|
||||
<td><?php echo $task->begin?></td>
|
||||
<td><?php echo $task->end?></td>
|
||||
<td class='status-<?php echo $task->status?>'><?php echo $lang->testtask->statusList[$task->status];?></td>
|
||||
<td title='<?php echo $lang->testtask->statusList[$task->status];?>'>
|
||||
<span class='status-<?php echo $task->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<span class='status-text'><?php echo $lang->testtask->statusList[$task->status];?></span>
|
||||
</span>
|
||||
</td>
|
||||
<td class='c-actions'>
|
||||
<div class='more'>
|
||||
<?php
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
<?php if($product->type != 'normal'):?>
|
||||
<th class='text-center w-100px'><?php echo $lang->product->branch;?></th>
|
||||
<?php endif;?>
|
||||
<th class='text-center w-100px'><?php echo $lang->release->date;?></th>
|
||||
<th class='text-center w-100px'><?php echo $lang->release->status;?></th>
|
||||
<th class='c-actions-3'><?php echo $lang->actions;?></th>
|
||||
<th class='c-date text-center'><?php echo $lang->release->date;?></th>
|
||||
<th class='text-center w-90px'><?php echo $lang->release->status;?></th>
|
||||
<th class='c-actions-4 text-center'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -48,17 +48,13 @@
|
||||
<td class='text-center'><?php echo $branches[$release->branch];?></td>
|
||||
<?php endif;?>
|
||||
<td class='text-center'><?php echo $release->date;?></td>
|
||||
<td class='text-center'><?php echo $lang->release->statusList[$release->status];?></td>
|
||||
<td class='c-status' title='<?php echo zget($lang->release->statusList, $release->status);?>'>
|
||||
<span class="status-<?php echo $release->status?>">
|
||||
<span class="label label-dot"></span>
|
||||
<span class='status-text'><?php echo zget($lang->release->statusList, $release->status);?></span>
|
||||
</span>
|
||||
</td>
|
||||
<td class='c-actions'>
|
||||
<div class='more'>
|
||||
<?php
|
||||
if(common::hasPriv('release', 'delete', $release))
|
||||
{
|
||||
$deleteURL = $this->createLink('release', 'delete', "releaseID=$release->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"releaseList\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn' title='{$lang->release->delete}'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
if(common::hasPriv('release', 'linkStory')) echo html::a(inlink('view', "releaseID=$release->id&type=story&link=true"), '<i class="icon-link"></i> ', '', "class='btn' title='{$lang->release->linkStory}'");
|
||||
if(common::hasPriv('release', 'linkBug') and $this->config->global->flow != 'onlyStory') echo html::a(inlink('view', "releaseID=$release->id&type=bug&link=true"), '<i class="icon-bug"></i> ', '', "class='btn' title='{$lang->release->linkBug}'");
|
||||
@@ -68,6 +64,11 @@
|
||||
echo html::a(inlink('changeStatus', "releaseID=$release->id&status=$changedStatus"), '<i class="icon-' . ($release->status == 'normal' ? 'pause' : 'play') . '"></i> ', 'hiddenwin', "class='btn' title='{$lang->release->changeStatusList[$changedStatus]}'");
|
||||
}
|
||||
common::printIcon('release', 'edit', "release=$release->id", $release, 'list');
|
||||
if(common::hasPriv('release', 'delete', $release))
|
||||
{
|
||||
$deleteURL = $this->createLink('release', 'delete', "releaseID=$release->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"releaseList\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn' title='{$lang->release->delete}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -181,7 +181,7 @@ $lang->story->lblReview = '评审需求';
|
||||
$lang->story->lblActivate = '激活需求';
|
||||
$lang->story->lblClose = '关闭需求';
|
||||
|
||||
$lang->story->checkAffection = '检查影响';
|
||||
$lang->story->checkAffection = '影响范围';
|
||||
$lang->story->affectedProjects = '影响的' . $lang->projectCommon;
|
||||
$lang->story->affectedBugs = '影响的Bug';
|
||||
$lang->story->affectedCases = '影响的用例';
|
||||
|
||||
@@ -181,7 +181,7 @@ $lang->story->lblReview = '評審需求';
|
||||
$lang->story->lblActivate = '激活需求';
|
||||
$lang->story->lblClose = '關閉需求';
|
||||
|
||||
$lang->story->checkAffection = '檢查影響';
|
||||
$lang->story->checkAffection = '影響範圍';
|
||||
$lang->story->affectedProjects = '影響的' . $lang->projectCommon;
|
||||
$lang->story->affectedBugs = '影響的Bug';
|
||||
$lang->story->affectedCases = '影響的用例';
|
||||
|
||||
@@ -188,6 +188,8 @@ $lang->testcase->noFunction = 'Iconv and mb_convert_encoding is not found.
|
||||
$lang->testcase->noRequire = "Row %s has“%s”which is a required field and it should not be blank.";
|
||||
$lang->testcase->noLibrary = "No library exists. Please create one first.";
|
||||
$lang->testcase->mustChooseResult = 'Review result is required.';
|
||||
$lang->testcase->noCase = 'No Case. You could ';
|
||||
$lang->testcase->noModule = '<div>You have no modules</div><div>Manage now</div>';
|
||||
|
||||
$lang->testcase->searchStories = 'Enter to searcu Story';
|
||||
$lang->testcase->selectLib = 'Select Library';
|
||||
|
||||
@@ -188,6 +188,8 @@ $lang->testcase->noFunction = '不存在iconv和mb_convert_encoding转码
|
||||
$lang->testcase->noRequire = "%s行的“%s”是必填字段,不能为空";
|
||||
$lang->testcase->noLibrary = "现在还没有公共库,请先创建!";
|
||||
$lang->testcase->mustChooseResult = '必须选择评审结果';
|
||||
$lang->testcase->noModule = '<div>您现在还没有模块信息</div><div>请维护测试模块</div>';
|
||||
$lang->testcase->noCase = '暂时没有用例,您现在可以';
|
||||
|
||||
$lang->testcase->searchStories = '键入来搜索需求';
|
||||
$lang->testcase->selectLib = '请选择库';
|
||||
|
||||
@@ -1289,19 +1289,28 @@ class testcaseModel extends model
|
||||
if($col->show)
|
||||
{
|
||||
$class = '';
|
||||
if($id == 'status') $class .= $case->status;
|
||||
if($id == 'title') $class .= ' text-left';
|
||||
if($id == 'actions')$class .= ' c-actions';
|
||||
$title = '';
|
||||
if($id == 'title')
|
||||
{
|
||||
$class .= ' text-left';
|
||||
$title = "title='{$case->title}'";
|
||||
}
|
||||
if($id == 'status')
|
||||
{
|
||||
$class .= $case->status;
|
||||
$title = "title='" . zget($this->lang->testcase->statusList, $case->status) . "'";
|
||||
}
|
||||
if($id == 'actions') $class .= ' c-actions';
|
||||
if($id == 'lastRunResult') $class .= $case->lastRunResult;
|
||||
|
||||
echo "<td class='" . $class . "'" . ($id=='title' ? " title='{$case->title}'":'') . ">";
|
||||
echo "<td class='{$class}' {$title}>";
|
||||
switch($id)
|
||||
{
|
||||
case 'id':
|
||||
echo $mode == 'table' ? html::checkbox('caseIDList', array($case->id => sprintf('%03d', $case->id))) : sprintf('%03d', $case->id);
|
||||
break;
|
||||
case 'pri':
|
||||
echo "<span class='pri" . zget($this->lang->testcase->priList, $case->pri, $case->pri) . "'>";
|
||||
echo "<span class='label-pri label-pri-" . $case->pri . "'>";
|
||||
echo zget($this->lang->testcase->priList, $case->pri, $case->pri);
|
||||
echo "</span>";
|
||||
break;
|
||||
@@ -1331,7 +1340,9 @@ class testcaseModel extends model
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<span class='status-{$case->status}'><span class='label label-dot'></span><span class='status-text'>";
|
||||
echo $this->lang->testcase->statusList[$case->status];
|
||||
echo '</span></span>';
|
||||
}
|
||||
break;
|
||||
case 'story':
|
||||
|
||||
@@ -26,6 +26,11 @@ js::set('branch', $branch);
|
||||
<div id="mainContent" class="main-row">
|
||||
<div class='side-col' id='sidebar'>
|
||||
<div class='cell'>
|
||||
<?php if(!$moduleTree):?>
|
||||
<hr class="space">
|
||||
<div class="text-center text-muted"><?php echo $lang->testcase->noModule;?></div>
|
||||
<hr class="space">
|
||||
<?php endif;?>
|
||||
<?php echo $moduleTree;?>
|
||||
<div class='text-center'>
|
||||
<?php common::printLink('tree', 'browse', "productID=$productID&view=case", $lang->tree->manage, '', "class='btn btn-info btn-wide'");?>
|
||||
@@ -186,6 +191,10 @@ js::set('branch', $branch);
|
||||
</div>
|
||||
<?php $pager->show('right', 'pagerjs');?>
|
||||
</div>
|
||||
<?php elseif(common::hasPriv('testcase', 'create')):?>
|
||||
<div class="table-empty-tip">
|
||||
<p><span class="text-muted"><?php echo $lang->testcase->noCase;?></span> <?php common::printLink('testcase', 'create', "productID={$productID}", "<i class='icon icon-plus'> </i>" . $lang->testcase->create, '', "class='btn btn-info'");?></p>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -71,7 +71,9 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<span class='status-{$case->status}'><span class='label label-dot'></span><span class='status-text'>";
|
||||
echo $lang->testcase->statusList[$case->status];
|
||||
echo '</span></span>';
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
<?php include '../../common/view/chosen.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['testcase']);?> <strong><?php echo $case->id;?></strong></span>
|
||||
<strong><?php echo html::a($this->createLink('case', 'view', "caseID=$case->id"), $case->title);?></strong>
|
||||
<small><?php echo html::icon($lang->icons['review']) . ' ' . $lang->testcase->review;?></small>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='label label-id'><?php echo $case->id;?></span>
|
||||
<?php echo html::a($this->createLink('case', 'view', "caseID=$case->id"), $case->title);?>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<form method='post' target='hiddenwin' class='form-condensed'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->testcase->reviewedDateAB;?></th>
|
||||
@@ -40,13 +40,11 @@
|
||||
<td colspan='2'><?php echo html::textarea('comment', '', "rows='8' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan='2'>
|
||||
<?php echo html::submitButton();?>
|
||||
</td>
|
||||
<td colspan='3' class='text-center'><?php echo html::submitButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<hr class='small'>
|
||||
<div class='main'><?php include '../../common/view/action.html.php';?></div>
|
||||
</form>
|
||||
<hr class='small' />
|
||||
<div class='main'><?php include '../../common/view/action.html.php';?></div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
@@ -286,6 +286,7 @@
|
||||
<?php
|
||||
if(!$isLibCase)
|
||||
{
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('testtask', 'runCase', "runID=$runID&caseID=$case->id&version=$case->currentVersion", $case, 'button', '', '', 'runCase', false, "data-width='95%'");
|
||||
common::printIcon('testtask', 'results', "runID=$runID&caseID=$case->id&version=$case->version", $case, 'button', '', '', 'results', false, "data-width='95%'");
|
||||
|
||||
@@ -293,7 +294,6 @@
|
||||
}
|
||||
if($config->testcase->needReview or !empty($config->testcase->forceReview)) common::printIcon('testcase', 'review', "caseID=$case->id", $case, 'button', 'review', '', 'iframe');
|
||||
?>
|
||||
<div class='divider'></div>
|
||||
<?php
|
||||
common::printIcon('testcase', 'edit',"caseID=$case->id", $case);
|
||||
if(!$isLibCase) common::printIcon('testcase', 'create', "productID=$case->product&branch=$case->branch&moduleID=$case->module&from=testcase¶m=$case->id", $case, 'button', 'copy');
|
||||
|
||||
@@ -12,68 +12,66 @@
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php $this->app->loadLang('testcase'); unset($this->lang->testcase->resultList['n/a']); ?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['testtask']);?></span>
|
||||
<strong><small class='text-muted'><?php echo html::icon($lang->icons['batchRun']);?></small> <?php echo $lang->testtask->common . $lang->colon . $lang->testtask->batchRun;?></strong>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->testtask->common . $lang->colon . $lang->testtask->batchRun;?></h2>
|
||||
</div>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table table-fixed table-form table-bordered'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'> <?php echo $lang->idAB;?></th>
|
||||
<th class='w-100px'><?php echo $lang->testcase->module;?></th>
|
||||
<th class='w-200px'><?php echo $lang->testcase->title;?></th>
|
||||
<th class='precondition w-60px'><?php echo $lang->testcase->precondition;?></th>
|
||||
<th class='w-80px'><?php echo $lang->testcase->result?></th>
|
||||
<th> <?php echo $lang->testcase->stepDesc . '/' . $lang->testcase->stepExpect?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php foreach($caseIDList as $caseID):?>
|
||||
<?php if(!$productID) $moduleOptionMenu = $this->loadModel('tree')->getOptionMenu($cases[$caseID]->product, $viewType = 'case', $startModuleID = 0);?>
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $caseID . html::hidden("version[$caseID]", $cases[$caseID]->version)?></td>
|
||||
<td class='text-left'><?php echo "<span title='" . $moduleOptionMenu[$cases[$caseID]->module] . "'>" . $moduleOptionMenu[$cases[$caseID]->module] . "</span>"?></td>
|
||||
<td class='text-left wordwrap'><?php echo "<span title='{$cases[$caseID]->title}'>{$cases[$caseID]->title}</span>"?></td>
|
||||
<td class='text-left precondition wordwrap'><?php echo "<span title='{$cases[$caseID]->precondition}'>{$cases[$caseID]->precondition}</span>"?></td>
|
||||
<td><?php echo html::radio("results[$caseID]", $this->lang->testcase->resultList, 'pass', "onclick='showAction(this.value,\".action$caseID\")'", 'block')?></td>
|
||||
<td>
|
||||
<?php if(!empty($steps[$caseID])):?>
|
||||
<table class='table table-fixed'>
|
||||
<?php $stepId = $childId = 0;?>
|
||||
<?php foreach($steps[$caseID] as $stepID => $step):?>
|
||||
<?php
|
||||
if($step->type == 'group' or $step->type == 'step')
|
||||
{
|
||||
$stepId ++;
|
||||
$childId = 0;
|
||||
}
|
||||
$ID = $step->type == 'item' ? "{$stepId}.{$childId}" : $stepId;
|
||||
$stepClass = $step->type == 'item' ? 'step-item' : 'step-group';
|
||||
?>
|
||||
<tr>
|
||||
<td class='text-left w-p30' <?php if($step->type == 'group') echo "colspan='2'"?>><?php echo "<span title='$step->desc' class='$stepClass'>" . $ID . "、" . $step->desc . '</span>'?></td>
|
||||
<?php if($step->type != 'group'):?>
|
||||
<td class='text-left w-p30'><?php echo "<span title='$step->expect'>" . $lang->testcase->stepExpect . ":" . $step->expect . '</span>'?></td>
|
||||
<td class='w-80px hidden action<?php echo $caseID?>'><?php echo html::select("steps[$caseID][$stepID]", $lang->testcase->resultList, 'pass', "class='form-control'")?></td>
|
||||
<td class='hidden action<?php echo $caseID?>'><?php echo html::input("reals[$caseID][$stepID]", '', "class='form-control'");?></td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<?php $childId ++;?>
|
||||
<?php endforeach?>
|
||||
</table>
|
||||
<?php else:?>
|
||||
<span class='hidden action<?php echo $caseID?>'><?php echo html::input("reals[$caseID][]", '', "class='form-control'");?></span>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr><td colspan='6' class='text-center'><?php echo html::submitButton();?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<form class='form-condensed' method='post' target='hiddenwin'>
|
||||
<table class='table table-fixed table-form table-bordered'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'> <?php echo $lang->idAB;?></th>
|
||||
<th class='w-100px'><?php echo $lang->testcase->module;?></th>
|
||||
<th width='200'> <?php echo $lang->testcase->title;?></th>
|
||||
<th class='precondition' width='60'><?php echo $lang->testcase->precondition;?></th>
|
||||
<th width='180'> <?php echo $lang->testcase->result?></th>
|
||||
<th> <?php echo $lang->testcase->stepDesc . '/' . $lang->testcase->stepExpect?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php foreach($caseIDList as $caseID):?>
|
||||
<?php if(!$productID) $moduleOptionMenu = $this->loadModel('tree')->getOptionMenu($cases[$caseID]->product, $viewType = 'case', $startModuleID = 0);?>
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $caseID . html::hidden("version[$caseID]", $cases[$caseID]->version)?></td>
|
||||
<td class='text-left'><?php echo "<span title='" . $moduleOptionMenu[$cases[$caseID]->module] . "'>" . $moduleOptionMenu[$cases[$caseID]->module] . "</span>"?></td>
|
||||
<td class='text-left wordwrap'><?php echo "<span title='{$cases[$caseID]->title}'>{$cases[$caseID]->title}</span>"?></td>
|
||||
<td class='text-left precondition wordwrap'><?php echo "<span title='{$cases[$caseID]->precondition}'>{$cases[$caseID]->precondition}</span>"?></td>
|
||||
<td><?php echo html::radio("results[$caseID]", $this->lang->testcase->resultList, 'pass', "onclick='showAction(this.value,\".action$caseID\")'", 'block')?></td>
|
||||
<td>
|
||||
<?php if(!empty($steps[$caseID])):?>
|
||||
<table class='table table-fixed'>
|
||||
<?php $stepId = $childId = 0;?>
|
||||
<?php foreach($steps[$caseID] as $stepID => $step):?>
|
||||
<?php
|
||||
if($step->type == 'group' or $step->type == 'step')
|
||||
{
|
||||
$stepId ++;
|
||||
$childId = 0;
|
||||
}
|
||||
$ID = $step->type == 'item' ? "{$stepId}.{$childId}" : $stepId;
|
||||
$stepClass = $step->type == 'item' ? 'step-item' : 'step-group';
|
||||
?>
|
||||
<tr>
|
||||
<td class='text-left w-p30' <?php if($step->type == 'group') echo "colspan='2'"?>><?php echo "<span title='$step->desc' class='$stepClass'>" . $ID . "、" . $step->desc . '</span>'?></td>
|
||||
<?php if($step->type != 'group'):?>
|
||||
<td class='text-left w-p30'><?php echo "<span title='$step->expect'>" . $lang->testcase->stepExpect . ":" . $step->expect . '</span>'?></td>
|
||||
<td class='w-80px hidden action<?php echo $caseID?>'><?php echo html::select("steps[$caseID][$stepID]", $lang->testcase->resultList, 'pass', "class='form-control'")?></td>
|
||||
<td class='hidden action<?php echo $caseID?>'><?php echo html::input("reals[$caseID][$stepID]", '', "class='form-control'");?></td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<?php $childId ++;?>
|
||||
<?php endforeach?>
|
||||
</table>
|
||||
<?php else:?>
|
||||
<span class='hidden action<?php echo $caseID?>'><?php echo html::input("reals[$caseID][]", '', "class='form-control'");?></span>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr><td colspan='6' class='text-center'><?php echo html::submitButton();?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
<script type='text/javascript'>
|
||||
<script>
|
||||
function showAction(value, obj)
|
||||
{
|
||||
if(value == 'pass')
|
||||
|
||||
@@ -80,7 +80,12 @@ $status = $this->session->testTaskVersionStatus;
|
||||
<td><?php echo zget($users, $task->owner);?></td>
|
||||
<td><?php echo $task->begin?></td>
|
||||
<td><?php echo $task->end?></td>
|
||||
<td class='status-<?php echo $task->status?>'><?php echo $lang->testtask->statusList[$task->status];?></td>
|
||||
<td title='<?php echo $lang->testtask->statusList[$task->status];?>'>
|
||||
<span class='status-<?php echo $task->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<span class='status-text'><?php echo $lang->testtask->statusList[$task->status];?></span>
|
||||
</span>
|
||||
</td>
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
if(common::hasPriv('testtask', 'delete', $task))
|
||||
|
||||
Reference in New Issue
Block a user