Merge branch 'master' of https://github.com/easysoft/zentaopms
This commit is contained in:
@@ -14,15 +14,15 @@
|
||||
<div id='mainContent' class='main-content'>
|
||||
<?php if(!$bind and !$ignore and common::hasPriv('admin', 'register')):?>
|
||||
<div id="notice" class='alert alert-success'>
|
||||
<?php echo html::a(inlink('ignore'), '<i class="icon-remove"></i> ' . $lang->admin->notice->ignore, 'hiddenwin', 'class="close" data-dismiss="alert" style="font-size: 12px"');?>
|
||||
<?php echo html::a(inlink('ignore'), '<i class="icon-trash"></i> ' . $lang->admin->notice->ignore, 'hiddenwin', 'class="close" data-dismiss="alert" style="font-size: 12px"');?>
|
||||
<div class="content"><i class='icon-info-sign'></i> <?php echo sprintf($lang->admin->notice->register, html::a(inlink('register'), $lang->admin->register->click, '', 'class="alert-link"'));?></div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
|
||||
|
||||
<div class='main-header'>
|
||||
<div class='heading'>
|
||||
<strong>
|
||||
<?php
|
||||
<?php
|
||||
printf($lang->admin->info->version, $config->version);
|
||||
if($bind) echo sprintf($lang->admin->info->account, '<span class="red">' . $account . '</span>');
|
||||
echo $lang->admin->info->links;
|
||||
|
||||
@@ -129,6 +129,7 @@ $lang->bug->resolvedByMeAB = '由我解决';
|
||||
$lang->bug->ditto = '同上';
|
||||
$lang->bug->dittoNotice = '该bug与上一bug不属于同一产品!';
|
||||
$lang->bug->noAssigned = '未指派';
|
||||
$lang->bug->noBug = '暂时没有BUG,您现在可以';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblAssignedTo = '当前指派';
|
||||
|
||||
@@ -10,8 +10,13 @@
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?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/header.html.php';
|
||||
include '../../common/view/datatable.fix.html.php';
|
||||
js::set('browseType', $browseType);
|
||||
js::set('moduleID', $moduleID);
|
||||
@@ -387,4 +392,5 @@ $(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';?>
|
||||
|
||||
+26
-11
@@ -268,22 +268,39 @@ $lang->bug->menu->index = array('link' => "<i class='icon-home'></i>QA|qa|in
|
||||
|
||||
$lang->testcase = new stdclass();
|
||||
$lang->testcase->menu = new stdclass();
|
||||
|
||||
$lang->testcase->menu->product = array('link' => '%s', 'fixed' => true);
|
||||
$lang->testcase->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
|
||||
$lang->testcase->menu->testcase = array('link' => 'Case|testcase|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,batchedit,showimport,groupcase,importfromlib', 'subModule' => 'tree');
|
||||
$lang->testcase->menu->testtask = array('link' => 'Build|testtask|browse|productID=%s', 'alias' => 'view,create,edit,linkcase,cases,start,close,batchrun,groupcase,report');
|
||||
$lang->testcase->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s', 'alias' => 'view,create,edit,linkcase');
|
||||
$lang->testcase->menu->report = array('link' => 'Report|testreport|browse|productID=%s', 'alias' => 'view,create,edit');
|
||||
$lang->testcase->menu->testtask = array('link' => 'Build|testtask|browse|productID=%s');
|
||||
$lang->testcase->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s');
|
||||
$lang->testcase->menu->report = array('link' => 'Report|testreport|browse|productID=%s');
|
||||
$lang->testcase->menu->caselib = array('link' => 'Library|testsuite|library');
|
||||
$lang->testcase->menu->index = array('link' => "<i class='icon-home'></i>QA|qa|index|locate=no&productID=%s", 'float' => 'right');
|
||||
|
||||
$lang->testtask = new stdclass();
|
||||
$lang->testtask->menu = $lang->testcase->menu;
|
||||
$lang->testtask->menu = new stdclass();
|
||||
$lang->testtask->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
|
||||
$lang->testtask->menu->testcase = array('link' => 'Case|testcase|browse|productID=%s');
|
||||
$lang->testtask->menu->testtask = array('link' => 'Build|testtask|browse|productID=%s', 'alias' => 'view,create,edit,linkcase,cases,start,close,batchrun,groupcase,report');
|
||||
$lang->testtask->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s');
|
||||
$lang->testtask->menu->report = array('link' => 'Report|testreport|browse|productID=%s');
|
||||
$lang->testtask->menu->caselib = array('link' => 'Library|testsuite|library');
|
||||
|
||||
$lang->testsuite = new stdclass();
|
||||
$lang->testsuite->menu = $lang->testcase->menu;
|
||||
$lang->testsuite->menu = new stdclass();
|
||||
$lang->testsuite->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
|
||||
$lang->testsuite->menu->testcase = array('link' => 'Case|testcase|browse|productID=%s');
|
||||
$lang->testsuite->menu->testtask = array('link' => 'Build|testtask|browse|productID=%s');
|
||||
$lang->testsuite->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s', 'alias' => 'view,create,edit,linkcase');
|
||||
$lang->testsuite->menu->report = array('link' => 'Report|testreport|browse|productID=%s');
|
||||
$lang->testsuite->menu->caselib = array('link' => 'Library|testsuite|library');
|
||||
|
||||
$lang->testreport = new stdclass();
|
||||
$lang->testreport->menu = $lang->testcase->menu;
|
||||
$lang->testreport->menu = new stdclass();
|
||||
$lang->testreport->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
|
||||
$lang->testreport->menu->testcase = array('link' => 'Case|testcase|browse|productID=%s');
|
||||
$lang->testreport->menu->testtask = array('link' => 'Build|testtask|browse|productID=%s');
|
||||
$lang->testreport->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s');
|
||||
$lang->testreport->menu->report = array('link' => 'Report|testreport|browse|productID=%s', 'alias' => 'view,create,edit');
|
||||
$lang->testreport->menu->caselib = array('link' => 'Library|testsuite|library');
|
||||
|
||||
$lang->caselib = new stdclass();
|
||||
$lang->caselib->menu = new stdclass();
|
||||
@@ -294,8 +311,6 @@ $lang->caselib->menu->testtask = array('link' => 'Build|testtask|browse|');
|
||||
$lang->caselib->menu->testsuite = array('link' => 'Suite|testsuite|browse|');
|
||||
$lang->caselib->menu->report = array('link' => 'Report|testreport|browse|');
|
||||
$lang->caselib->menu->caselib = array('link' => 'Library|testsuite|library', 'alias' => 'createlib,createcase,libview,edit,batchcreatecase,showimport', 'subModule' => 'tree,testcase');
|
||||
$lang->caselib->menu->create = array('link' => "<i class='icon-plus'></i>Create a Library|testsuite|createLib|", 'float' => 'right');
|
||||
$lang->caselib->menu->index = array('link' => "<i class='icon-home'></i>Test Home|qa|index|locate=no&productID=%s", 'float' => 'right');
|
||||
|
||||
/* 文档视图菜单设置。*/
|
||||
$lang->doc = new stdclass();
|
||||
|
||||
@@ -279,20 +279,39 @@ $lang->bug->menu->caselib = array('link' => '用例库|testsuite|library');
|
||||
|
||||
$lang->testcase = new stdclass();
|
||||
$lang->testcase->menu = new stdclass();
|
||||
|
||||
$lang->testcase->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
|
||||
$lang->testcase->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,batchedit,showimport,groupcase,importfromlib', 'subModule' => 'tree');
|
||||
$lang->testcase->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'alias' => 'view,create,edit,linkcase,cases,start,close,batchrun,groupcase,report');
|
||||
$lang->testcase->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s', 'alias' => 'view,create,edit,linkcase');
|
||||
$lang->testcase->menu->report = array('link' => '报告|testreport|browse|productID=%s', 'alias' => 'view,create,edit');
|
||||
$lang->testcase->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s');
|
||||
$lang->testcase->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s');
|
||||
$lang->testcase->menu->report = array('link' => '报告|testreport|browse|productID=%s');
|
||||
$lang->testcase->menu->caselib = array('link' => '用例库|testsuite|library');
|
||||
|
||||
$lang->testtask = new stdclass();
|
||||
$lang->testtask->menu = $lang->testcase->menu;
|
||||
$lang->testtask->menu = new stdclass();
|
||||
$lang->testtask->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
|
||||
$lang->testtask->menu->testcase = array('link' => '用例|testcase|browse|productID=%s');
|
||||
$lang->testtask->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s', 'alias' => 'view,create,edit,linkcase,cases,start,close,batchrun,groupcase,report');
|
||||
$lang->testtask->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s');
|
||||
$lang->testtask->menu->report = array('link' => '报告|testreport|browse|productID=%s');
|
||||
$lang->testtask->menu->caselib = array('link' => '用例库|testsuite|library');
|
||||
|
||||
$lang->testsuite = new stdclass();
|
||||
$lang->testsuite->menu = $lang->testcase->menu;
|
||||
$lang->testsuite->menu = new stdclass();
|
||||
$lang->testsuite->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
|
||||
$lang->testsuite->menu->testcase = array('link' => '用例|testcase|browse|productID=%s');
|
||||
$lang->testsuite->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s');
|
||||
$lang->testsuite->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s', 'alias' => 'view,create,edit,linkcase');
|
||||
$lang->testsuite->menu->report = array('link' => '报告|testreport|browse|productID=%s');
|
||||
$lang->testsuite->menu->caselib = array('link' => '用例库|testsuite|library');
|
||||
|
||||
$lang->testreport = new stdclass();
|
||||
$lang->testreport->menu = $lang->testcase->menu;
|
||||
$lang->testreport->menu = new stdclass();
|
||||
$lang->testreport->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
|
||||
$lang->testreport->menu->testcase = array('link' => '用例|testcase|browse|productID=%s');
|
||||
$lang->testreport->menu->testtask = array('link' => '测试单|testtask|browse|productID=%s');
|
||||
$lang->testreport->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s');
|
||||
$lang->testreport->menu->report = array('link' => '报告|testreport|browse|productID=%s', 'alias' => 'view,create,edit');
|
||||
$lang->testreport->menu->caselib = array('link' => '用例库|testsuite|library');
|
||||
|
||||
$lang->caselib = new stdclass();
|
||||
$lang->caselib->menu = new stdclass();
|
||||
|
||||
@@ -416,12 +416,12 @@ class commonModel extends model
|
||||
foreach ($lang->searchObjects as $key => $value)
|
||||
{
|
||||
$class = $key == $searchObject ? "class='selected'" : '';
|
||||
echo "<li $class><a href='javascript:;' data-value='{$key}'>{$value}</a></li>";
|
||||
echo "<li $class><a href='javascript:$.setSearchType(\"$key\");' data-value='{$key}'>{$value}</a></li>";
|
||||
}
|
||||
echo '</ul></div>';
|
||||
echo "<input id='searchInput' class='form-control search-input' type='search' onclick='this.value=\"\"' onkeydown='if(event.keyCode==13) shortcut()' placeholder='" . $lang->searchTips . "'/>";
|
||||
echo "<input id='searchInput' class='form-control search-input' type='search' onclick='this.value=\"\"' onkeydown='if(event.keyCode==13) $.gotoObject();' placeholder='" . $lang->searchTips . "'/>";
|
||||
echo '</div>';
|
||||
echo "<a href='javascript:shortcut();' class='btn btn-link' id='searchGo'>GO!</a>";
|
||||
echo "<a href='javascript:$.gotoObject();' class='btn btn-link' id='searchGo'>GO!</a>";
|
||||
echo "</div>\n";
|
||||
}
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ EOT;
|
||||
<tr class='text-center'>
|
||||
<td class='w-120px'><strong><?php echo $lang->custom->key;?></strong></td>
|
||||
<td><strong><?php echo $lang->custom->value;?></strong></td>
|
||||
<?php if($canAdd):?><th class='w-40px'></th><?php endif;?>
|
||||
<?php if($canAdd):?><th class='w-90px'></th><?php endif;?>
|
||||
</tr>
|
||||
<?php foreach($fieldList as $key => $value):?>
|
||||
<tr class='text-center'>
|
||||
@@ -142,9 +142,9 @@ EOT;
|
||||
<?php echo html::input("values[]", isset($dbFields[$key]) ? $dbFields[$key]->value : $value, "class='form-control' autocomplete='off' " . (empty($key) ? 'readonly' : ''));?>
|
||||
</td>
|
||||
<?php if($canAdd):?>
|
||||
<td class='text-left w-100px'>
|
||||
<a href="javascript:void(0)" onclick="addItem(this)" class='btn-icon'><i class='icon-plus'></i></a>
|
||||
<a href="javascript:void(0)" onclick="delItem(this)" class='btn-icon'><i class='icon-remove'></i></a>
|
||||
<td class='c-actions'>
|
||||
<a href="javascript:void(0)" onclick="addItem(this)" class='btn btn-link'><i class='icon-plus'></i></a>
|
||||
<a href="javascript:void(0)" onclick="delItem(this)" class='btn btn-link'><i class='icon-trash'></i></a>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
|
||||
@@ -61,8 +61,8 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='3' class='text-center'>
|
||||
<?php echo html::submitButton('', '', 'btn btn-primary btn-wide');?>
|
||||
<?php
|
||||
echo html::submitButton('', '', 'btn btn-primary btn-wide');
|
||||
if($this->config->mail->turnon and $mailExist) echo html::a(inlink('test'), $lang->mail->test, '', "class='btn btn-wide'");
|
||||
echo html::a(inlink('reset'), $lang->mail->reset, '', "class='btn btn-wide'");
|
||||
if(common::hasPriv('mail', 'browse') and !empty($config->mail->async) and !empty($config->global->cron)) echo html::a(inlink('browse'), $lang->mail->browse, '', "class='btn btn-wide'");
|
||||
|
||||
@@ -11,11 +11,8 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<script>
|
||||
$(function()
|
||||
{
|
||||
bootbox.alert("<?php echo $lang->product->errorNoProduct?>", function(){location.href='<?php echo $this->createLink('product', 'create')?>'});
|
||||
})
|
||||
</script>
|
||||
<div class="table-empty-tip">
|
||||
<p><span class="text-muted"><?php echo $lang->product->noProduct;?></span> <?php common::printLink('product', 'create', '', "<i class='icon icon-plus'> </i>" . $lang->product->create, '', "class='btn btn-info'");?></p>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
|
||||
@@ -104,10 +104,10 @@
|
||||
<th class="c-actions-2"><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $groupIndex = 1;?>
|
||||
<?php foreach($tasks as $groupKey => $groupTasks):?>
|
||||
<?php
|
||||
<tbody>
|
||||
<?php $groupIndex = 1;?>
|
||||
<?php foreach($tasks as $groupKey => $groupTasks):?>
|
||||
<?php
|
||||
$groupWait = 0;
|
||||
$groupDone = 0;
|
||||
$groupDoing = 0;
|
||||
@@ -119,79 +119,80 @@
|
||||
$groupName = $groupKey;
|
||||
if($groupBy == 'story') $groupName = empty($groupName) ? $this->lang->task->noStory : zget($groupByList, $groupKey);
|
||||
if($groupBy == 'assignedTo' and $groupName == '') $groupName = $this->lang->task->noAssigned;
|
||||
?>
|
||||
<?php
|
||||
$groupSum = 0;
|
||||
foreach($groupTasks as $taskKey => $task)
|
||||
{
|
||||
$groupEstimate += $task->estimate;
|
||||
$groupConsumed += $task->consumed;
|
||||
$groupLeft += ($task->status == 'cancel' ? 0 : $task->left);
|
||||
?>
|
||||
<?php
|
||||
$groupSum = 0;
|
||||
foreach($groupTasks as $taskKey => $task)
|
||||
{
|
||||
$groupEstimate += $task->estimate;
|
||||
$groupConsumed += $task->consumed;
|
||||
$groupLeft += ($task->status == 'cancel' ? 0 : $task->left);
|
||||
|
||||
if($task->status == 'wait') $groupWait++;
|
||||
if($task->status == 'doing') $groupDoing++;
|
||||
if($task->status == 'done') $groupDone++;
|
||||
if($task->status == 'closed') $groupClosed++;
|
||||
}
|
||||
$groupSum = count($groupTasks);
|
||||
?>
|
||||
<?php $i = 0;?>
|
||||
<?php foreach($groupTasks as $task):?>
|
||||
<?php $assignedToClass = $task->assignedTo == $app->user->account ? "style='color:red'" : '';?>
|
||||
<?php $taskLink = $this->createLink('task','view',"taskID=$task->id"); ?>
|
||||
<tr data-id='<?php echo $groupIndex?>' <?php if($groupIndex > 1 and $i == 0) echo "class='divider-top'";?>>
|
||||
<?php if($i == 0):?>
|
||||
<td rowspan='<?php echo $groupSum?>' class='c-side text-left group-toggle text-top'>
|
||||
<?php echo html::a('###', "<i class='icon-caret-down'></i> " . $groupName, '', "class='text-primary' title='$groupName'");?>
|
||||
<div class='groupSummary small'>
|
||||
if($task->status == 'wait') $groupWait++;
|
||||
if($task->status == 'doing') $groupDoing++;
|
||||
if($task->status == 'done') $groupDone++;
|
||||
if($task->status == 'closed') $groupClosed++;
|
||||
}
|
||||
$groupSum = count($groupTasks);
|
||||
?>
|
||||
<?php $i = 0;?>
|
||||
<?php foreach($groupTasks as $task):?>
|
||||
<?php $assignedToClass = $task->assignedTo == $app->user->account ? "style='color:red'" : '';?>
|
||||
<?php $taskLink = $this->createLink('task','view',"taskID=$task->id"); ?>
|
||||
<tr data-id='<?php echo $groupIndex?>' <?php if($groupIndex > 1 and $i == 0) echo "class='divider-top'";?>>
|
||||
<?php if($i == 0):?>
|
||||
<td rowspan='<?php echo $groupSum?>' class='c-side text-left group-toggle text-top'>
|
||||
<?php echo html::a('###', "<i class='icon-caret-down'></i> " . $groupName, '', "class='text-primary' title='$groupName'");?>
|
||||
<div class='groupSummary small'>
|
||||
|
||||
<?php if($groupBy == 'assignedTo' and isset($members[$task->assignedTo])) printf($lang->project->memberHoursAB, $users[$task->assignedTo], $members[$task->assignedTo]->totalHours);?>
|
||||
<?php printf($lang->project->groupSummaryAB, $groupSum, $groupWait, $groupDoing, $groupEstimate, $groupConsumed, $groupLeft);?>
|
||||
</div>
|
||||
</td>
|
||||
<?php if($groupBy == 'assignedTo' and isset($members[$task->assignedTo])) printf($lang->project->memberHoursAB, $users[$task->assignedTo], $members[$task->assignedTo]->totalHours);?>
|
||||
<?php printf($lang->project->groupSummaryAB, $groupSum, $groupWait, $groupDoing, $groupEstimate, $groupConsumed, $groupLeft);?>
|
||||
</div>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<td class='c-id-sm'><?php echo $task->id;?></td>
|
||||
<td class="c-pri"><span class='label-pri <?php echo 'label-pri-' . $task->pri?>'><?php echo zget($lang->task->priList, $task->pri, $task->pri);?></span></td>
|
||||
<td class="c-name">
|
||||
<?php
|
||||
if(!empty($task->team)) echo '<span class="label">' . $lang->task->multipleAB . '</span> ';
|
||||
if(!empty($task->parent)) echo '<span class="label">' . $lang->task->childrenAB . '</span> ';
|
||||
if(isset($task->children) && $task->children == true) echo '<span class="label">' . $lang->task->parentAB . '</span> ';
|
||||
if(!common::printLink('task', 'view', "task=$task->id", $task->name)) echo $task->name;
|
||||
?>
|
||||
</td>
|
||||
<td class="c-status"><span class='status-<?php echo $task->status;?>'><span class="label label-dot"></span> <?php echo $lang->task->statusList[$task->status];?></span></td>
|
||||
<td class="c-assign text-left has-btn"><?php echo html::a($this->createLink('task', 'assignTo', "projectID=$task->project&taskID=$task->id", 'html', true), '<i class="icon icon-hand-right"></i> ' . $task->assignedToRealName, '', "class='iframe btn btn-icon-left' $assignedToClass");?></td>
|
||||
<td class='c-user'><?php echo zget($users, $task->finishedBy);?></td>
|
||||
<td class="c-hours em"><?php echo $task->estimate;?></td>
|
||||
<td class="c-hours em"><?php echo $task->consumed;?></td>
|
||||
<td class="c-hours em"><?php echo $task->left;?></td>
|
||||
<td class="c-num em"><?php echo $task->progress . '%';?></td>
|
||||
<td class="c-type"><?php echo zget($lang->task->typeList, $task->type);?></td>
|
||||
<td class='c-date <?php if(isset($task->delay)) echo 'delayed';?>'><?php if(substr($task->deadline, 0, 4) > 0) echo $task->deadline;?></td>
|
||||
<td class="c-actions">
|
||||
<?php common::printIcon('task', 'edit', "taskid=$task->id", '', 'list');?>
|
||||
<?php common::printIcon('task', 'delete', "projectID=$task->project&taskid=$task->id", '', 'list', '', 'hiddenwin');?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php $i++;?>
|
||||
<?php endforeach;?>
|
||||
<?php if($i != 0):?>
|
||||
<tr class='group-toggle group-summary hidden <?php if($groupIndex > 1) echo 'divider-top';?>' data-id='<?php echo $groupIndex?>'>
|
||||
<td class='c-side text-left'>
|
||||
<?php echo html::a('###', "<i class='icon-caret-right text-muted'></i> " . $groupName, '', "title='$groupName'");?>
|
||||
</td>
|
||||
<td colspan='13'>
|
||||
<div class="table-row segments-list">
|
||||
<?php if($groupBy == 'assignedTo' and isset($members[$task->assignedTo])) printf($lang->project->memberHours, $users[$task->assignedTo], $members[$task->assignedTo]->totalHours);?>
|
||||
<?php printf($lang->project->countSummary, $groupSum, $groupWait, $groupDoing);?>
|
||||
<?php printf($lang->project->timeSummary, $groupEstimate, $groupConsumed, $groupLeft);?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<td class='c-id-sm'><?php echo $task->id;?></td>
|
||||
<td class="c-pri"><span class='label-pri <?php echo 'label-pri-' . $task->pri?>'><?php echo zget($lang->task->priList, $task->pri, $task->pri);?></span></td>
|
||||
<td class="c-name">
|
||||
<?php
|
||||
if(!empty($task->team)) echo '<span class="label">' . $lang->task->multipleAB . '</span> ';
|
||||
if(!empty($task->parent)) echo '<span class="label">' . $lang->task->childrenAB . '</span> ';
|
||||
if(isset($task->children) && $task->children == true) echo '<span class="label">' . $lang->task->parentAB . '</span> ';
|
||||
if(!common::printLink('task', 'view', "task=$task->id", $task->name)) echo $task->name;
|
||||
?>
|
||||
</td>
|
||||
<td class="c-status"><span class='status-<?php echo $task->status;?>'><span class="label label-dot"></span> <?php echo $lang->task->statusList[$task->status];?></span></td>
|
||||
<td class="c-assign text-left has-btn"><?php echo html::a($this->createLink('task', 'assignTo', "projectID=$task->project&taskID=$task->id", 'html', true), '<i class="icon icon-hand-right"></i> ' . $task->assignedToRealName, '', "class='iframe btn btn-icon-left' $assignedToClass");?></td>
|
||||
<td class='c-user'><?php echo zget($users, $task->finishedBy);?></td>
|
||||
<td class="c-hours em"><?php echo $task->estimate;?></td>
|
||||
<td class="c-hours em"><?php echo $task->consumed;?></td>
|
||||
<td class="c-hours em"><?php echo $task->left;?></td>
|
||||
<td class="c-num em"><?php echo $task->progress . '%';?></td>
|
||||
<td class="c-type"><?php echo zget($lang->task->typeList, $task->type);?></td>
|
||||
<td class='c-date <?php if(isset($task->delay)) echo 'delayed';?>'><?php if(substr($task->deadline, 0, 4) > 0) echo $task->deadline;?></td>
|
||||
<td class="c-actions">
|
||||
<?php common::printIcon('task', 'edit', "taskid=$task->id", '', 'list');?>
|
||||
<?php common::printIcon('task', 'delete', "projectID=$task->project&taskid=$task->id", '', 'list', '', 'hiddenwin');?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php $i++;?>
|
||||
<?php endforeach;?>
|
||||
<?php if($i != 0):?>
|
||||
<tr class='group-toggle group-summary hidden <?php if($groupIndex > 1) echo 'divider-top';?>' data-id='<?php echo $groupIndex?>'>
|
||||
<td class='c-side text-left'>
|
||||
<?php echo html::a('###', "<i class='icon-caret-right text-muted'></i> " . $groupName, '', "title='$groupName'");?>
|
||||
</td>
|
||||
<td colspan='13'>
|
||||
<div class="table-row segments-list">
|
||||
<?php if($groupBy == 'assignedTo' and isset($members[$task->assignedTo])) printf($lang->project->memberHours, $users[$task->assignedTo], $members[$task->assignedTo]->totalHours);?>
|
||||
<?php printf($lang->project->countSummary, $groupSum, $groupWait, $groupDoing);?>
|
||||
<?php printf($lang->project->timeSummary, $groupEstimate, $groupConsumed, $groupLeft);?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php $groupIndex ++;?>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php $groupIndex ++;?>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1111,11 +1111,12 @@ class story extends control
|
||||
$this->view->position[] = html::a($this->createLink('testcase', 'browse', "productID=$productID"), $products[$productID]);
|
||||
$this->view->position[] = $this->lang->story->zeroCase;
|
||||
|
||||
$this->view->stories = $this->story->getZeroCase($productID, $sort);
|
||||
$this->view->users = $this->user->getPairs('noletter');
|
||||
$this->view->productID = $productID;
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->suiteList = $this->loadModel('testsuite')->getSuites($productID);
|
||||
$this->view->stories = $this->story->getZeroCase($productID, $sort);
|
||||
$this->view->users = $this->user->getPairs('noletter');
|
||||
$this->view->productID = $productID;
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->suiteList = $this->loadModel('testsuite')->getSuites($productID);
|
||||
$this->view->browseType = '';
|
||||
$this->display();
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<th class='w-hour'><?php common::printOrderLink('estimate', $orderBy, $vars, $lang->story->estimateAB);?></th>
|
||||
<th> <?php common::printOrderLink('status', $orderBy, $vars, $lang->statusAB);?></th>
|
||||
<th> <?php common::printOrderLink('stage', $orderBy, $vars, $lang->story->stageAB);?></th>
|
||||
<th class='w-140px'><?php echo $lang->actions;?></th>
|
||||
<th class='w-180px'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -47,8 +47,8 @@
|
||||
<div class="checkbox-primary">
|
||||
<input type='checkbox' name='storyIDList[<?php echo $story->id;?>]' value='<?php echo $story->id;?>' />
|
||||
<label></label>
|
||||
<?php printf('%03d', $story->id);?>
|
||||
</div>
|
||||
<?php printf('%03d', $story->id);?>
|
||||
</td>
|
||||
<td><span class='label-pri <?php echo 'label-pri-' . $story->pri;?>'><?php echo zget($lang->story->priList, $story->pri)?></span></td>
|
||||
<td class='text-left' title="<?php echo $story->title?>"><nobr><?php echo html::a($viewLink, $story->title);?></nobr></td>
|
||||
|
||||
@@ -174,6 +174,9 @@ class testcase extends control
|
||||
}
|
||||
}
|
||||
|
||||
$this->app->loadLang('project');
|
||||
$this->app->loadLang('task');
|
||||
|
||||
$this->view->title = $this->products[$productID] . $this->lang->colon . $this->lang->testcase->common;
|
||||
$this->view->position[] = html::a($this->createLink('testcase', 'groupTask', "productID=$productID&groupBy=$groupBy"), $this->products[$productID]);
|
||||
$this->view->position[] = $this->lang->testcase->common;
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('#' + browseType + 'Tab').addClass('active');
|
||||
});
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<tr>
|
||||
<td colspan='<?php echo $colspan?>' class='text-center'>
|
||||
<?php echo html::submitButton('', '', 'btn btn-wide btn-primary');?>
|
||||
<?php echo html::backButton('', '', 'btn btn-wide btn-gray');?>
|
||||
<?php echo html::backButton('', '', 'btn btn-wide');?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -198,13 +198,13 @@ js::set('branch', $branch);
|
||||
</div>
|
||||
<script>
|
||||
$('#module' + moduleID).addClass('active');
|
||||
$('#' + caseBrowseType + 'Tab').addClass('active');
|
||||
$('#' + caseBrowseType + 'Tab').addClass('btn-active-text');
|
||||
<?php if($browseType == 'bysearch'):?>
|
||||
$shortcut = $('#QUERY<?php echo (int)$param;?>Tab');
|
||||
if($shortcut.size() > 0)
|
||||
{
|
||||
$shortcut.addClass('active');
|
||||
$('#bysearchTab').removeClass('active');
|
||||
$shortcut.addClass('btn-active-text');
|
||||
$('#bysearchTab').removeClass('btn-active-text');
|
||||
$('#querybox').removeClass('show');
|
||||
}
|
||||
<?php endif;?>
|
||||
|
||||
@@ -1,43 +1,35 @@
|
||||
<?php js::set('flow', $this->config->global->flow);?>
|
||||
<?php if(!isset($branch)) $branch = 0;?>
|
||||
<?php if($this->config->global->flow == 'onlyTest'):?>
|
||||
<style>
|
||||
.nav > li > .btn-group > a, .nav > li > .btn-group > a:hover, .nav > li > .btn-group > a:focus{background: #1a4f85; border-color: #164270;}
|
||||
.outer.with-side #featurebar {background: none; border: none; line-height: 0; margin: 0; min-height: 0; padding: 0; }
|
||||
#querybox #searchform{border-bottom: 1px solid #ddd; margin-bottom: 20px;}
|
||||
</style>
|
||||
<div id='featurebar'>
|
||||
<ul class='submenu hidden'>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left hidden'>
|
||||
<?php
|
||||
$hasBrowsePriv = common::hasPriv('testcase', 'browse');
|
||||
$hasGroupPriv = common::hasPriv('testcase', 'groupcase');
|
||||
$hasZeroPriv = common::hasPriv('story', 'zerocase');
|
||||
?>
|
||||
<?php
|
||||
if($this->methodName == 'browse') echo "<li id='bysearchTab'><a href='#'><i class='icon-search icon'></i> {$lang->testcase->bySearch}</a></li> ";
|
||||
?>
|
||||
<li class='pull-right'>
|
||||
<div class='btn-group' id='createActionMenu'>
|
||||
<?php
|
||||
$initModule = isset($moduleID) ? (int)$moduleID : 0;
|
||||
$misc = common::hasPriv('testcase', 'create') ? "class='btn btn-primary'" : "class='btn btn-primary disabled'";
|
||||
$link = common::hasPriv('testcase', 'create') ? $this->createLink('testcase', 'create', "productID=$productID&branch=$branch&moduleID=$initModule") : '#';
|
||||
echo html::a($link, "<i class='icon-plus'></i>" . $lang->testcase->create, '', $misc);
|
||||
<?php if($this->methodName == 'browse') echo "<a id='bysearchTab' class='btn btn-link'><i class='icon-search icon'></i> {$lang->testcase->bySearch}</a>";?>
|
||||
</div>
|
||||
<div class='btn-toolbar pull-right'>
|
||||
<div class='btn-group' id='createActionMenu'>
|
||||
<?php
|
||||
$initModule = isset($moduleID) ? (int)$moduleID : 0;
|
||||
$misc = common::hasPriv('testcase', 'create') ? "class='btn btn-primary'" : "class='btn btn-primary disabled'";
|
||||
$link = common::hasPriv('testcase', 'create') ? $this->createLink('testcase', 'create', "productID=$productID&branch=$branch&moduleID=$initModule") : '#';
|
||||
echo html::a($link, "<i class='icon-plus'></i>" . $lang->testcase->create, '', $misc);
|
||||
|
||||
$misc = common::hasPriv('testcase', 'batchCreate') ? '' : "disabled";
|
||||
$link = common::hasPriv('testcase', 'batchCreate') ? $this->createLink('testcase', 'batchCreate', "productID=$productID&branch=$branch&moduleID=$initModule") : '#';
|
||||
?>
|
||||
<button type='button' class='btn btn-primary dropdown-toggle <?php echo $misc?>' data-toggle='dropdown'>
|
||||
<span class='caret'></span>
|
||||
</button>
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
<?php echo "<li>" . html::a($link, $lang->testcase->batchCreate, '', "class='$misc'") . "</li>";?>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
$misc = common::hasPriv('testcase', 'batchCreate') ? '' : "disabled";
|
||||
$link = common::hasPriv('testcase', 'batchCreate') ? $this->createLink('testcase', 'batchCreate', "productID=$productID&branch=$branch&moduleID=$initModule") : '#';
|
||||
?>
|
||||
<button type='button' class='btn btn-primary dropdown-toggle <?php echo $misc?>' data-toggle='dropdown'>
|
||||
<span class='caret'></span>
|
||||
</button>
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
<?php echo "<li>" . html::a($link, $lang->testcase->batchCreate, '', "class='$misc'") . "</li>";?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<li class='pull-right'>
|
||||
<a href='###' class='dropdown-toggle' data-toggle='dropdown' id='importAction'><i class='icon-upload-alt'></i> <?php echo $lang->import ?><span class='caret'></span></a>
|
||||
<a href='###' class='dropdown-toggle' data-toggle='dropdown' id='importAction'><i class='icon-import'></i> <?php echo $lang->import ?><span class='caret'></span></a>
|
||||
<ul class='dropdown-menu' id='importActionMenu'>
|
||||
<?php
|
||||
$misc = common::hasPriv('testcase', 'import') ? "class='export'" : "class=disabled";
|
||||
@@ -72,20 +64,21 @@
|
||||
<div id='querybox' class='<?php if($browseType =='bysearch') echo 'show';?>'></div>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div id='featurebar'>
|
||||
<ul class='nav'>
|
||||
<li>
|
||||
<div class='label-angle<?php if(!empty($moduleID)) echo ' with-close';?>'>
|
||||
<?php
|
||||
echo !empty($moduleID) ? $moduleName : $this->lang->tree->all;
|
||||
if(!empty($moduleID))
|
||||
{
|
||||
$removeLink = $browseType == 'bymodule' ? inlink('browse', "productID=$productID&branch=$branch&browseType=$browseType¶m=0&orderBy=$orderBy&recTotal=0&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("caseModule")';
|
||||
echo html::a($removeLink, "<i class='icon icon-remove'></i>", '', "class='text-muted'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</li>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div id="sidebarHeader">
|
||||
<?php echo html::commonButton('<i class="icon icon-caret-left"></i>', '', 'btn btn-icon btn-sm btn-info sidebar-toggle');?>
|
||||
<div class="title">
|
||||
<?php
|
||||
echo !empty($moduleID) ? $moduleName : $this->lang->tree->all;
|
||||
if(!empty($moduleID))
|
||||
{
|
||||
$removeLink = $browseType == 'bymodule' ? inlink('browse', "productID=$productID&branch=$branch&browseType=$browseType¶m=0&orderBy=$orderBy&recTotal=0&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("caseModule")';
|
||||
echo html::a($removeLink, "<i class='icon icon-remove'></i>", '', "class='text-muted'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<?php
|
||||
$hasBrowsePriv = common::hasPriv('testcase', 'browse');
|
||||
$hasGroupPriv = common::hasPriv('testcase', 'groupcase');
|
||||
@@ -100,11 +93,11 @@
|
||||
if($hasBrowsePriv and strpos($menuType, 'QUERY') === 0)
|
||||
{
|
||||
$queryID = (int)substr($menuType, 5);
|
||||
echo "<li id='{$menuType}Tab'>" . html::a($this->createLink('testcase', 'browse', "productid=$productID&branch=$branch&browseType=bySearch¶m=$queryID"), $menuItem->text) . "</li>";
|
||||
echo html::a($this->createLink('testcase', 'browse', "productid=$productID&branch=$branch&browseType=bySearch¶m=$queryID"), $menuItem->text, '', "class='btn btn-link' id='{$menuType}Tab'");
|
||||
}
|
||||
elseif($hasBrowsePriv and ($menuType == 'all' or $menuType == 'needconfirm' or $menuType == 'wait'))
|
||||
{
|
||||
echo "<li id='{$menuType}Tab'>" . html::a($this->createLink('testcase', 'browse', "productid=$productID&branch=$branch&browseType=$menuType"), $menuItem->text) . "</li>";
|
||||
echo html::a($this->createLink('testcase', 'browse', "productid=$productID&branch=$branch&browseType=$menuType"), $menuItem->text, '', "class='btn btn-link' id='{$menuType}Tab'");
|
||||
}
|
||||
elseif($hasBrowsePriv and $menuType == 'suite')
|
||||
{
|
||||
@@ -112,8 +105,8 @@
|
||||
$currentSuite = zget($suiteList, $currentSuiteID, '');
|
||||
$currentLable = empty($currentSuite) ? $lang->testsuite->common : $currentSuite->name;
|
||||
|
||||
echo "<li id='bysuiteTab' class='dropdown'>";
|
||||
echo html::a('javascript:;', $currentLable . " <span class='caret'></span>", '', "data-toggle='dropdown'");
|
||||
echo "<div id='bysuiteTab' class='btn-group'>";
|
||||
echo html::a('javascript:;', $currentLable . " <span class='caret'></span>", '', "class='btn btn-link' data-toggle='dropdown'");
|
||||
echo "<ul class='dropdown-menu' style='max-height:240px; overflow-y:auto'>";
|
||||
|
||||
if(empty($suiteList))
|
||||
@@ -123,7 +116,7 @@
|
||||
echo '</li>';
|
||||
}
|
||||
|
||||
foreach ($suiteList as $suiteID => $suite)
|
||||
foreach($suiteList as $suiteID => $suite)
|
||||
{
|
||||
$suiteName = $suite->name;
|
||||
if($suite->type == 'public') $suiteName .= " <span class='label label-info'>{$lang->testsuite->authorList[$suite->type]}</span>";
|
||||
@@ -134,7 +127,7 @@
|
||||
echo "</li>";
|
||||
}
|
||||
|
||||
echo '</ul></li>';
|
||||
echo '</ul></div>';
|
||||
}
|
||||
elseif($hasGroupPriv and $menuType == 'group')
|
||||
{
|
||||
@@ -142,11 +135,11 @@
|
||||
$current = zget($lang->testcase->groups, isset($groupBy) ? $groupBy : '', '');
|
||||
if(empty($current)) $current = $lang->testcase->groups[''];
|
||||
|
||||
echo "<li id='groupTab' class='dropdown'>";
|
||||
echo html::a('javascript:;', $current . " <span class='caret'></span>", '', "data-toggle='dropdown'");
|
||||
echo "<div id='groupTab' class='btn-group'>";
|
||||
echo html::a('javascript:;', $current . " <span class='caret'></span>", '', "class='btn btn-link' data-toggle='dropdown'");
|
||||
echo "<ul class='dropdown-menu'>";
|
||||
|
||||
foreach ($lang->testcase->groups as $key => $value)
|
||||
foreach($lang->testcase->groups as $key => $value)
|
||||
{
|
||||
if($key == '') continue;
|
||||
echo '<li' . ($key == $groupBy ? " class='active'" : '') . '>';
|
||||
@@ -154,74 +147,68 @@
|
||||
echo "</li>";
|
||||
}
|
||||
|
||||
echo '</ul></li>';
|
||||
echo '</ul></div>';
|
||||
}
|
||||
elseif($hasZeroPriv and $menuType == 'zerocase')
|
||||
{
|
||||
echo "<li id='zerocaseTab'>" . html::a($this->createLink('story', 'zeroCase', "productID=$productID"), $lang->story->zeroCase) . '</li>';
|
||||
echo html::a($this->createLink('story', 'zeroCase', "productID=$productID"), $lang->story->zeroCase, '', "class='btn btn-link' id='zerocaseTab'");
|
||||
}
|
||||
?>
|
||||
<?php endforeach;?>
|
||||
<?php
|
||||
if($this->methodName == 'browse') echo "<li id='bysearchTab'><a href='#'><i class='icon-search icon'></i> {$lang->testcase->bySearch}</a></li> ";
|
||||
if($this->methodName == 'browse') echo "<a id='bysearchTab' class='btn btn-link'><i class='icon-search icon'></i> {$lang->testcase->bySearch}</a>";
|
||||
?>
|
||||
</div>
|
||||
<div class='btn-toolbar pull-right'>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-link dropdown-toggle' data-toggle='dropdown'>
|
||||
<i class='icon-export'></i> <?php echo $lang->export ?>
|
||||
<span class='caret'></span>
|
||||
</button>
|
||||
<ul class='dropdown-menu' id='exportActionMenu'>
|
||||
<?php
|
||||
$misc = common::hasPriv('testcase', 'export') ? "class='export'" : "class=disabled";
|
||||
$link = common::hasPriv('testcase', 'export') ? $this->createLink('testcase', 'export', "productID=$productID&orderBy=$orderBy") : '#';
|
||||
echo "<li>" . html::a($link, $lang->testcase->export, '', $misc) . "</li>";
|
||||
|
||||
$misc = common::hasPriv('testcase', 'exportTemplet') ? "class='export'" : "class=disabled";
|
||||
$link = common::hasPriv('testcase', 'exportTemplet') ? $this->createLink('testcase', 'exportTemplet', "productID=$productID") : '#';
|
||||
echo "<li>" . html::a($link, $lang->testcase->exportTemplet, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-link dropdown-toggle' data-toggle='dropdown' id='importAction'><i class='icon-import'></i> <?php echo $lang->import ?><span class='caret'></span></button>
|
||||
<ul class='dropdown-menu' id='importActionMenu'>
|
||||
<?php
|
||||
$misc = common::hasPriv('testcase', 'import') ? "class='export'" : "class=disabled";
|
||||
$link = common::hasPriv('testcase', 'import') ? $this->createLink('testcase', 'import', "productID=$productID&branch=$branch") : '#';
|
||||
echo "<li>" . html::a($link, $lang->testcase->importFile, '', $misc) . "</li>";
|
||||
|
||||
$misc = common::hasPriv('testcase', 'importFromLib') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('testcase', 'importFromLib') ? $this->createLink('testcase', 'importFromLib', "productID=$productID&branch=$branch") : '#';
|
||||
echo "<li>" . html::a($link, $lang->testcase->importFromLib, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php
|
||||
$initModule = isset($moduleID) ? (int)$moduleID : 0;
|
||||
|
||||
if(common::hasPriv('testcase', 'batchCreate'))
|
||||
{
|
||||
$link = $this->createLink('testcase', 'batchCreate', "productID=$productID&branch=$branch&moduleID=$initModule");
|
||||
echo html::a($link, "<i class='icon-plus'></i> " . $lang->testcase->batchCreate, '', "class='btn btn-secondary'");
|
||||
}
|
||||
|
||||
if(common::hasPriv('testcase', 'create'))
|
||||
{
|
||||
$link = $this->createLink('testcase', 'create', "productID=$productID&branch=$branch&moduleID=$initModule");
|
||||
echo html::a($link, "<i class='icon-plus'></i> " . $lang->testcase->create, '', "class='btn btn-primary'");
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
<div class='actions'>
|
||||
<div class='btn-group'>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-default dropdown-toggle' data-toggle='dropdown'>
|
||||
<i class='icon-download-alt'></i> <?php echo $lang->export ?>
|
||||
<span class='caret'></span>
|
||||
</button>
|
||||
<ul class='dropdown-menu' id='exportActionMenu'>
|
||||
<?php
|
||||
$misc = common::hasPriv('testcase', 'export') ? "class='export'" : "class=disabled";
|
||||
$link = common::hasPriv('testcase', 'export') ? $this->createLink('testcase', 'export', "productID=$productID&orderBy=$orderBy") : '#';
|
||||
echo "<li>" . html::a($link, $lang->testcase->export, '', $misc) . "</li>";
|
||||
|
||||
$misc = common::hasPriv('testcase', 'exportTemplet') ? "class='export'" : "class=disabled";
|
||||
$link = common::hasPriv('testcase', 'exportTemplet') ? $this->createLink('testcase', 'exportTemplet', "productID=$productID") : '#';
|
||||
echo "<li>" . html::a($link, $lang->testcase->exportTemplet, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-default dropdown-toggle' data-toggle='dropdown' id='importAction'><i class='icon-upload-alt'></i> <?php echo $lang->import ?><span class='caret'></span></button>
|
||||
<ul class='dropdown-menu' id='importActionMenu'>
|
||||
<?php
|
||||
$misc = common::hasPriv('testcase', 'import') ? "class='export'" : "class=disabled";
|
||||
$link = common::hasPriv('testcase', 'import') ? $this->createLink('testcase', 'import', "productID=$productID&branch=$branch") : '#';
|
||||
echo "<li>" . html::a($link, $lang->testcase->importFile, '', $misc) . "</li>";
|
||||
|
||||
$misc = common::hasPriv('testcase', 'importFromLib') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('testcase', 'importFromLib') ? $this->createLink('testcase', 'importFromLib', "productID=$productID&branch=$branch") : '#';
|
||||
echo "<li>" . html::a($link, $lang->testcase->importFromLib, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class='btn-group'>
|
||||
<div class='btn-group' id='createActionMenu'>
|
||||
<?php
|
||||
$initModule = isset($moduleID) ? (int)$moduleID : 0;
|
||||
$misc = common::hasPriv('testcase', 'create') ? "class='btn btn-primary'" : "class='btn btn-primary disabled'";
|
||||
$link = common::hasPriv('testcase', 'create') ? $this->createLink('testcase', 'create', "productID=$productID&branch=$branch&moduleID=$initModule") : '#';
|
||||
echo html::a($link, "<i class='icon-plus'></i>" . $lang->testcase->create, '', $misc);
|
||||
|
||||
$misc = common::hasPriv('testcase', 'batchCreate') ? '' : "disabled";
|
||||
$link = common::hasPriv('testcase', 'batchCreate') ? $this->createLink('testcase', 'batchCreate', "productID=$productID&branch=$branch&moduleID=$initModule") : '#';
|
||||
?>
|
||||
<button type='button' class='btn btn-primary dropdown-toggle <?php echo $misc?>' data-toggle='dropdown'>
|
||||
<span class='caret'></span>
|
||||
</button>
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
<?php echo "<li>" . html::a($link, $lang->testcase->batchCreate, '', "class='$misc'") . "</li>";?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id='querybox' class='<?php if($browseType =='bysearch') echo 'show';?>'></div>
|
||||
</div>
|
||||
<div id='querybox' class='<?php if($browseType =='bysearch') echo 'show';?>'></div>
|
||||
<?php endif;?>
|
||||
|
||||
<?php
|
||||
|
||||
@@ -14,62 +14,84 @@
|
||||
<?php include '../../common/view/treetable.html.php';?>
|
||||
<?php include './caseheader.html.php';?>
|
||||
<?php js::set('browseType', $browseType);?>
|
||||
<table class='table table-fixed' id='treetable'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-50px'></th>
|
||||
<th><?php echo $lang->testcase->title;?></th>
|
||||
<th class='w-pri'> <?php echo $lang->priAB;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->typeAB;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->testtask->lastRunAccount;?></th>
|
||||
<th class='w-120px'><?php echo $lang->testtask->lastRunTime;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->testtask->lastRunResult;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->testcase->status;?></th>
|
||||
<th class='w-30px' title='<?php echo $lang->testcase->bugs?>'><?php echo $lang->testcase->bugsAB;?></th>
|
||||
<th class='w-30px' title='<?php echo $lang->testcase->results?>'><?php echo $lang->testcase->resultsAB;?></th>
|
||||
<th class='w-30px' title='<?php echo $lang->testcase->stepNumber?>'><?php echo $lang->testcase->stepNumberAB;?></th>
|
||||
<th class='w-60px'> <?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php $i = 0;?>
|
||||
<?php foreach($cases as $groupKey => $groupTasks):?>
|
||||
<?php $groupClass = ($i % 2 == 0) ? 'even' : 'highlight-warning'; $i ++;?>
|
||||
<tr id='node-<?php echo $groupKey;?>' class='actie-disabled group-title'>
|
||||
<td class='text-right <?php echo $groupClass;?> text-left large strong group-name'><?php echo $groupKey;?></td>
|
||||
<td colspan='11' class='text-left'><?php if($groupByList) echo $groupByList[$groupKey];?></td>
|
||||
</tr>
|
||||
<?php foreach($groupTasks as $case):?>
|
||||
<tr id='<?php echo $case->id;?>' class='text-center child-of-node-<?php echo $groupKey;?>'>
|
||||
<td class='<?php echo $groupClass;?>'></td>
|
||||
<td class='text-left'> <?php echo $case->id . $lang->colon; if(!common::printLink('testcase', 'view', "case=$case->id", $case->title)) echo $case->title;?></td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->testcase->priList, $case->pri, $case->pri)?>'><?php echo zget($lang->testcase->priList, $case->pri, $case->pri);?></span></td>
|
||||
<td><?php echo $lang->case->typeList[$case->type];?></td>
|
||||
<td><?php echo $users[$case->lastRunner];?></td>
|
||||
<td><?php if(!helper::isZeroDate($case->lastRunDate)) echo date(DT_MONTHTIME1, strtotime($case->lastRunDate));?></td>
|
||||
<td class='<?php echo $case->lastRunResult;?>'><?php if($case->lastRunResult) echo $lang->testcase->resultList[$case->lastRunResult];?></td>
|
||||
<td class='<?php if(isset($run)) echo $run->status;?>'>
|
||||
<div class="main-table" data-ride="table" data-checkable="false" data-group="true">
|
||||
<table class="table table-grouped text-center">
|
||||
<thead>
|
||||
<tr class="divider">
|
||||
<th class="c-side text-left has-btn group-menu">
|
||||
<div class="table-group-btns">
|
||||
<button type="button" class="btn btn-block btn-link group-collapse-all"><?php echo $lang->project->treeLevel['root'];?> <i class="icon-caret-up"></i></button>
|
||||
<button type="button" class="btn btn-block btn-link group-expand-all"><?php echo $lang->project->treeLevel['all'];?> <i class="icon-caret-down"></i></button>
|
||||
</div>
|
||||
</th>
|
||||
<th class='c-id-sm'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-pri'> <?php echo $lang->priAB;?></th>
|
||||
<th><?php echo $lang->testcase->title;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->typeAB;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->testtask->lastRunAccount;?></th>
|
||||
<th class='w-120px'><?php echo $lang->testtask->lastRunTime;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->testtask->lastRunResult;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->testcase->status;?></th>
|
||||
<th class='w-30px' title='<?php echo $lang->testcase->bugs?>'><?php echo $lang->testcase->bugsAB;?></th>
|
||||
<th class='w-30px' title='<?php echo $lang->testcase->results?>'><?php echo $lang->testcase->resultsAB;?></th>
|
||||
<th class='w-30px' title='<?php echo $lang->testcase->stepNumber?>'><?php echo $lang->testcase->stepNumberAB;?></th>
|
||||
<th class='w-100px'> <?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $groupIndex = 0;?>
|
||||
<?php foreach($cases as $groupKey => $groupTasks):?>
|
||||
<?php
|
||||
if($case->needconfirm)
|
||||
{
|
||||
echo "(<span class='warning'>{$lang->story->changed}</span> ";
|
||||
echo html::a(helper::createLink('testcase', 'confirmStoryChange', "caseID=$case->id"), $lang->confirm, 'hiddenwin');
|
||||
echo ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $lang->testcase->statusList[$case->status];
|
||||
}
|
||||
$i = 0;
|
||||
$groupName = $groupByList ? $groupByList[$groupKey] : '';
|
||||
if(empty($groupName) and $groupBy == 'story') $groupName = $lang->task->noStory;
|
||||
if(empty($groupName) and $groupBy == 'assignedTo') $groupName = $lang->task->noAssigned;
|
||||
?>
|
||||
</td>
|
||||
<td><?php echo (common::hasPriv('testcase', 'bugs') and $case->bugs) ? html::a(inlink('bugs', "runID=0&caseID={$case->id}"), $case->bugs, '', "class='iframe'") : $case->bugs;?></td>
|
||||
<td><?php echo (common::hasPriv('testtask', 'results') and $case->results) ? html::a($this->createLink('testtask', 'results', "runID=0&caseID={$case->id}"), $case->results, '', "class='iframe'") : $case->results;?></td>
|
||||
<td><?php echo $case->stepNumber;?></td>
|
||||
<td>
|
||||
<?php common::printIcon('testcase', 'edit', "caseID=$case->id", '', 'list');?>
|
||||
<?php common::printIcon('testcase', 'delete', "caseID=$case->id", '', 'list', '', 'hiddenwin');?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
<?php foreach($groupTasks as $case):?>
|
||||
<tr data-id='<?php echo $groupIndex;?>' <?php if($i == 0) echo "class='divider-top'";?>>
|
||||
<?php if($i == 0):?>
|
||||
<td rowspan='<?php echo count($groupTasks);?>' class='c-side text-left group-toggle text-top'>
|
||||
<?php echo html::a('###', "<i class='icon-caret-down'></i> $groupName", '', "class='text-primary'");?>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<td class='c-id-sm'><?php echo $case->id;?></td>
|
||||
<td><span class='label-pri <?php echo 'label-pri-' . $case->pri;?>'><?php echo zget($lang->testcase->priList, $case->pri, $case->pri);?></span></td>
|
||||
<td class='text-left'><?php if(!common::printLink('testcase', 'view', "case=$case->id", $case->title)) echo $case->title;?></td>
|
||||
<td><?php echo zget($lang->case->typeList, $case->type, '');?></td>
|
||||
<td><?php echo zget($users, $case->lastRunner);?></td>
|
||||
<td><?php if(!helper::isZeroDate($case->lastRunDate)) echo date(DT_MONTHTIME1, strtotime($case->lastRunDate));?></td>
|
||||
<td class='<?php echo $case->lastRunResult;?>'><?php if($case->lastRunResult) echo $lang->testcase->resultList[$case->lastRunResult];?></td>
|
||||
<td class='<?php if(isset($run)) echo $run->status;?>'>
|
||||
<?php
|
||||
if($case->needconfirm)
|
||||
{
|
||||
echo "(<span class='warning'>{$lang->story->changed}</span> ";
|
||||
echo html::a(helper::createLink('testcase', 'confirmStoryChange', "caseID=$case->id"), $lang->confirm, 'hiddenwin');
|
||||
echo ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $lang->testcase->statusList[$case->status];
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td><?php echo (common::hasPriv('testcase', 'bugs') and $case->bugs) ? html::a(inlink('bugs', "runID=0&caseID={$case->id}"), $case->bugs, '', "class='iframe'") : $case->bugs;?></td>
|
||||
<td><?php echo (common::hasPriv('testtask', 'results') and $case->results) ? html::a($this->createLink('testtask', 'results', "runID=0&caseID={$case->id}"), $case->results, '', "class='iframe'") : $case->results;?></td>
|
||||
<td><?php echo $case->stepNumber;?></td>
|
||||
<td class='c-actions'>
|
||||
<?php common::printIcon('testcase', 'edit', "caseID=$case->id", '', 'list');?>
|
||||
<?php common::printIcon('testcase', 'delete', "caseID=$case->id", '', 'list', '', 'hiddenwin');?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php $i++;?>
|
||||
<?php endforeach;?>
|
||||
<tr data-id='<?php echo $groupIndex;?>' class='group-toggle group-summary hidden divider-top'>
|
||||
<td class='c-side text-left'><?php echo html::a('###', "<i class='icon-caret-right'></i> $groupName");?></td>
|
||||
<td colspan='12'></td>
|
||||
</tr>
|
||||
<?php $groupIndex++;?>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
.w-180px{width:180px}
|
||||
.chosen-container[id^="module"] .chosen-drop {min-width: 400px; border-top: 1px solid #ddd!important}
|
||||
#batchCreateForm .input-group .colorpicker {z-index: 2;}
|
||||
#batchCreateForm .input-group .colorpicker.open {z-index: 5;}
|
||||
@@ -13,63 +13,68 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php js::set('testcaseBatchCreateNum', $config->testcase->batchCreate);?>
|
||||
<?php js::set('libID', $libID);?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['testcase']);?></span>
|
||||
<strong>
|
||||
<small class='text-muted'><?php echo html::icon($lang->icons['batchCreate']);?></small>
|
||||
<?php echo $lang->testcase->batchCreate;?>
|
||||
</strong>
|
||||
<div class='actions'>
|
||||
<?php echo html::commonButton($lang->pasteText, "data-toggle='myModal' ")?>
|
||||
<div id="mainContent" class="main-content">
|
||||
<div class="main-header">
|
||||
<h2><?php echo $lang->testcase->batchCreate;?></h2>
|
||||
<div class="pull-right btn-toolbar">
|
||||
<?php echo html::commonButton($lang->pasteText, "data-toggle='importLinesModal' ", 'btn btn-info')?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form class='form-condensed' method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table align='center' class='table table-form table-fixed'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-50px'> <?php echo $lang->idAB;?></th>
|
||||
<th class='w-180px'><?php echo $lang->testcase->module;?></th>
|
||||
<th><?php echo $lang->testcase->title;?> <span class='required'></span></th>
|
||||
<th class='w-100px'><?php echo $lang->testcase->type;?> <span class='required'></span></th>
|
||||
<th class='w-80px'> <?php echo $lang->testcase->pri;?></th>
|
||||
<th class='w-150px'><?php echo $lang->testcase->precondition;?></th>
|
||||
<th class='w-100px'><?php echo $lang->testcase->keywords;?></th>
|
||||
<th class='w-200px'><?php echo $lang->testcase->stage;?></th>
|
||||
<form method='post' class='load-indicator main-form' enctype='multipart/form-data' target='hiddenwin' id="batchCreateForm">
|
||||
<table align='center' class='table table-form' id="tableBody">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-50px'> <?php echo $lang->idAB;?></th>
|
||||
<th class='w-180px'><?php echo $lang->testcase->module;?></th>
|
||||
<th><?php echo $lang->testcase->title;?> <span class='required'></span></th>
|
||||
<th class='w-100px'><?php echo $lang->testcase->type;?> <span class='required'></span></th>
|
||||
<th class='w-80px'> <?php echo $lang->testcase->pri;?></th>
|
||||
<th class='w-150px'><?php echo $lang->testcase->precondition;?></th>
|
||||
<th class='w-100px'><?php echo $lang->testcase->keywords;?></th>
|
||||
<th class='w-200px'><?php echo $lang->testcase->stage;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php unset($lang->testcase->typeList['']);?>
|
||||
<?php for($i = 0; $i < $config->testcase->batchCreate; $i++):?>
|
||||
<?php
|
||||
if($i != 0) $currentModuleID = 'ditto';
|
||||
if($i != 0) $lang->testcase->typeList['ditto'] = $lang->testcase->ditto;
|
||||
if($i != 0) $lang->testcase->priList['ditto'] = $lang->testcase->ditto;
|
||||
$type = $i == 0 ? 'feature' : 'ditto';
|
||||
$pri = $i == 0 ? 3 : 'ditto';
|
||||
?>
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $i+1;?></td>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("module[$i]", $moduleOptionMenu, $currentModuleID, "class='form-control chosen'");?></td>
|
||||
<td style='overflow:visible'>
|
||||
<div class='input-group'>
|
||||
<div class="input-control has-icon-right">
|
||||
<?php echo html::input("title[$i]", '', "class='form-control' autocomplete='off'");?>
|
||||
<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->testcase->colorTag;?><i class="icon icon-close"></i></li>
|
||||
</ul>
|
||||
<?php echo html::hidden("color[$i]", '', "data-provide='colorpicker' data-icon='color' data-wrapper='input-control-icon-right' data-update-color='#title\\[$i\\]'");?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><?php echo html::select("type[$i]", $lang->testcase->typeList, $type, "class=form-control");?></td>
|
||||
<td><?php echo html::select("pri[$i]", $lang->testcase->priList, $pri, "class=form-control");?></td>
|
||||
<td><?php echo html::textarea("precondition[$i]", '', "rows='1' class='form-control autosize'")?></td>
|
||||
<td><?php echo html::input("keywords[$i]", '', "class='form-control' autocomplete='off'");?></td>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("stage[$i][]", $lang->testcase->stageList, '', "class='form-control chosen' multiple");?></td>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<?php unset($lang->testcase->typeList['']);?>
|
||||
<?php for($i = 0; $i < $config->testcase->batchCreate; $i++):?>
|
||||
<?php
|
||||
if($i != 0) $currentModuleID = 'ditto';
|
||||
if($i != 0) $lang->testcase->typeList['ditto'] = $lang->testcase->ditto;
|
||||
if($i != 0) $lang->testcase->priList['ditto'] = $lang->testcase->ditto;
|
||||
$type = $i == 0 ? 'feature' : 'ditto';
|
||||
$pri = $i == 0 ? 3 : 'ditto';
|
||||
?>
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $i+1;?></td>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("module[$i]", $moduleOptionMenu, $currentModuleID, "class='form-control chosen'");?></td>
|
||||
<td style='overflow:visible'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::hidden("color[$i]", '', "data-provide='colorpicker' data-wrapper='input-group-btn fix-border-right' data-pull-menu-right='false' data-btn-tip='{$lang->testcase->colorTag}' data-update-text='#title\\[{$i}\\]'");?>
|
||||
<?php echo html::input("title[$i]", '', "class='form-control' autocomplete='off'");?>
|
||||
</div>
|
||||
</td>
|
||||
<td><?php echo html::select("type[$i]", $lang->testcase->typeList, $type, "class=form-control");?></td>
|
||||
<td><?php echo html::select("pri[$i]", $lang->testcase->priList, $pri, "class=form-control");?></td>
|
||||
<td><?php echo html::textarea("precondition[$i]", '', "rows='1' class='form-control autosize'")?></td>
|
||||
<td><?php echo html::input("keywords[$i]", '', "class='form-control' autocomplete='off'");?></td>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("stage[$i][]", $lang->testcase->stageList, '', "class='form-control chosen' multiple");?></td>
|
||||
</tr>
|
||||
<?php endfor;?>
|
||||
<tfoot>
|
||||
<tr><td colspan='8' class='text-center'><?php echo html::submitButton() . html::backButton();?></td></tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
<?php endfor;?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr><td colspan='8' class='text-center'><?php echo html::submitButton('', '', 'btn btn-primary btn-wide')?> <?php echo html::backButton('', '', 'btn btn-wide');?></td></tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<table class='hide' id='trTemp'>
|
||||
<tbody>
|
||||
<tr class='text-center'>
|
||||
|
||||
@@ -14,200 +14,207 @@
|
||||
<?php js::set('lblDelete', $lang->testcase->deleteStep);?>
|
||||
<?php js::set('lblBefore', $lang->testcase->insertBefore);?>
|
||||
<?php js::set('lblAfter', $lang->testcase->insertAfter);?>
|
||||
<div class='container mw-1400px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['testcase']);?></span>
|
||||
<strong><small class='text-muted'><?php echo html::icon($lang->icons['create']);?></small> <?php echo $lang->testcase->create;?></strong>
|
||||
<div class='main-content' id="mainContent">
|
||||
<div class='center-block'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->testcase->create;?></h2>
|
||||
</div>
|
||||
</div>
|
||||
<form class='form-condensed' method='post' enctype='multipart/form-data' id='dataform' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->testcase->lib;?></th>
|
||||
<td class='w-p45-f'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::select('lib', $libraries, $libID, "onchange='loadLibModules(this.value);' class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
<td style='padding-left:15px;'>
|
||||
<div class='input-group' id='moduleIdBox'>
|
||||
<span class="input-group-addon"><?php echo $lang->testcase->module?></span>
|
||||
<?php
|
||||
echo html::select('module', $moduleOptionMenu, $currentModuleID, "onchange='loadModuleRelated();' class='form-control chosen'");
|
||||
if(count($moduleOptionMenu) == 1)
|
||||
{
|
||||
echo "<span class='input-group-btn'>";
|
||||
echo html::a($this->createLink('tree', 'browse', "rootID=$libID&view=caselib¤tModuleID=0"), "<i class='icon icon-cog'></i>", '_blank', "data-toggle='tooltip' class='btn' title='{$lang->tree->manage}'");
|
||||
echo '</span>';
|
||||
echo "<span class='input-group-btn'>";
|
||||
echo html::a("javascript:loadLibModules($libID)", "<i class='icon icon-refresh'></i>", '', "data-toggle='tooltip' class='btn' title='{$lang->refresh}'");
|
||||
echo '</span>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->type;?></th>
|
||||
<td><?php echo html::select('type', $lang->testcase->typeList, $type, "class='form-control chosen'");?></td>
|
||||
<td style='padding-left:15px'>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->testcase->stage?></span>
|
||||
<?php echo html::select('stage[]', $lang->testcase->stageList, $stage, "class='form-control chosen' multiple='multiple'");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->title;?></th>
|
||||
<td colspan='2'>
|
||||
<div class='row-table'>
|
||||
<div class='col-table w-p100'>
|
||||
<div class='input-group w-p100'>
|
||||
<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->testcase->colorTag ?>' data-update-text='#title'>
|
||||
<form method='post' enctype='multipart/form-data' id='dataform' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->lib;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php echo html::select('lib', $libraries, $libID, "onchange='loadLibModules(this.value);' class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
<td style='padding-left:15px;'>
|
||||
<div class='input-group' id='moduleIdBox'>
|
||||
<span class="input-group-addon"><?php echo $lang->testcase->module?></span>
|
||||
<?php
|
||||
echo html::select('module', $moduleOptionMenu, $currentModuleID, "onchange='loadModuleRelated();' class='form-control chosen'");
|
||||
if(count($moduleOptionMenu) == 1)
|
||||
{
|
||||
echo "<span class='input-group-btn'>";
|
||||
echo html::a($this->createLink('tree', 'browse', "rootID=$libID&view=caselib¤tModuleID=0"), "<i class='icon icon-cog'></i>", '_blank', "data-toggle='tooltip' class='btn' title='{$lang->tree->manage}'");
|
||||
echo '</span>';
|
||||
echo "<span class='input-group-btn'>";
|
||||
echo html::a("javascript:loadLibModules($libID)", "<i class='icon icon-refresh'></i>", '', "data-toggle='tooltip' class='btn' title='{$lang->refresh}'");
|
||||
echo '</span>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->type;?></th>
|
||||
<td><?php echo html::select('type', $lang->testcase->typeList, $type, "class='form-control chosen'");?></td>
|
||||
<td style='padding-left:15px'>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->testcase->stage?></span>
|
||||
<?php echo html::select('stage[]', $lang->testcase->stageList, $stage, "class='form-control chosen' multiple='multiple'");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->title;?></th>
|
||||
<td colspan='2'>
|
||||
<div class="input-control has-icon-right">
|
||||
<?php echo html::input('title', $caseTitle, "class='form-control' autocomplete='off'");?>
|
||||
<?php if(!$this->loadModel('testcase')->forceNotReview()):?>
|
||||
<span class='input-group-addon'><?php echo html::checkbox('forceNotReview', $lang->testcase->forceNotReview, '', "id='forceNotReview'");?></span>
|
||||
<?php endif;?>
|
||||
<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->testcase->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>
|
||||
<div class='col-table'>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon fix-border br-0'><?php echo $lang->testcase->pri;?></span>
|
||||
<?php
|
||||
$hasCustomPri = false;
|
||||
foreach($lang->testcase->priList as $priKey => $priValue)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->pri;?></th>
|
||||
<td colspan="2">
|
||||
<?php
|
||||
$hasCustomPri = false;
|
||||
foreach($lang->testcase->priList as $priKey => $priValue)
|
||||
{
|
||||
if(!empty($priKey) and (string)$priKey != (string)$priValue)
|
||||
{
|
||||
if(!empty($priKey) and (string)$priKey != (string)$priValue)
|
||||
{
|
||||
$hasCustomPri = true;
|
||||
break;
|
||||
}
|
||||
$hasCustomPri = true;
|
||||
break;
|
||||
}
|
||||
?>
|
||||
<?php if($hasCustomPri):?>
|
||||
<?php echo html::select('pri', (array)$lang->testcase->priList, $pri, "class='form-control minw-80px'");?>
|
||||
<?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', (array)$lang->testcase->priList, $pri, "class='hide'");?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
$priList = $lang->testcase->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>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->precondition;?></th>
|
||||
<td colspan='2'><?php echo html::textarea('precondition', $precondition, " rows='2' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->steps;?></th>
|
||||
<td colspan='2'>
|
||||
<table class='table table-form mg-0 table-bordered' style='border: 1px solid #ddd'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-40px text-right'><?php echo $lang->testcase->stepID;?></th>
|
||||
<th width="45%"><?php echo $lang->testcase->stepDesc;?></th>
|
||||
<th><?php echo $lang->testcase->stepExpect;?></th>
|
||||
<th class='step-actions'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id='steps' class='sortable' data-group-name='<?php echo $lang->testcase->groupName ?>'>
|
||||
<tr class='template step' id='stepTemplate'>
|
||||
<td class='step-id'></td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon step-item-id'></span>
|
||||
<textarea rows='1' class='form-control autosize step-steps' name='steps[]'></textarea>
|
||||
<span class="input-group-addon step-type-toggle">
|
||||
<input type='hidden' name='stepType[]' value='item' class='step-type'>
|
||||
<div class='step-type-menu-box'>
|
||||
<div class='step-type-current'><span></span> <i class='caret'></i></div>
|
||||
<div class='step-type-menu'>
|
||||
<a href='javascript:;' href='step-type-option' data-value='step'><?php echo $lang->testcase->step ?></a>
|
||||
<a href='javascript:;' href='step-type-option' data-value='group'><?php echo $lang->testcase->group ?></a>
|
||||
<a href='javascript:;' href='step-type-option' data-value='item'><?php echo $lang->testcase->stepChild ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td><textarea rows='1' class='form-control autosize step-expects' name='expects[]'></textarea></td>
|
||||
<td class='step-actions'>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-step-add'><i class='icon icon-plus'></i></button>
|
||||
<button type='button' class='btn btn-step-move'><i class='icon icon-move'></i></button>
|
||||
<button type='button' class='btn btn-step-delete'><i class='icon icon-trash'></i></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php foreach($steps as $stepID => $step):?>
|
||||
<tr class='step'>
|
||||
<td class='step-id'></td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon step-item-id'></span>
|
||||
<?php echo html::textarea('steps[]', $step->desc, "rows='1' class='form-control autosize step-steps'") ?>
|
||||
<span class='input-group-addon step-type-toggle'>
|
||||
<?php if(!isset($step->type)) $step->type = 'step';?>
|
||||
<input type='hidden' name='stepType[]' value='<?php echo $step->type ?>' class='step-type'>
|
||||
<div class='step-type-menu-box'>
|
||||
<div class='step-type-current'><span></span> <i class='caret'></i></div>
|
||||
<div class='step-type-menu'>
|
||||
<a href='javascript:;' href='step-type-option' data-value='step'><?php echo $lang->testcase->step ?></a>
|
||||
<a href='javascript:;' href='step-type-option' data-value='group'><?php echo $lang->testcase->group ?></a>
|
||||
<a href='javascript:;' href='step-type-option' data-value='item'><?php echo $lang->testcase->stepChild ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td><?php echo html::textarea('expects[]', $step->expect, "rows='1' class='form-control autosize step-expects'") ?></td>
|
||||
<td class='step-actions'>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-step-add'><i class='icon icon-plus'></i></button>
|
||||
<button type='button' class='btn btn-step-move'><i class='icon icon-move'></i></button>
|
||||
<button type='button' class='btn btn-step-delete'><i class='icon icon-trash'></i></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->keywords;?></th>
|
||||
<td colspan='2'><?php echo html::input('keywords', '', "class='form-control' autocomplete='off'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->files;?></th>
|
||||
<td colspan='2'><?php echo $this->fetch('file', 'buildform');?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan='2' class='text-center'>
|
||||
<?php
|
||||
echo html::submitButton($lang->save, '', 'btn btn-wide btn-primary');
|
||||
echo ' ';
|
||||
echo html::backButton($lang->goback, '', 'btn btn-wide');
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div class='modal fade' id='searchStories'>
|
||||
<div class='modal-dialog'>
|
||||
<div class='modal-content'>
|
||||
<div class='modal-header'>
|
||||
<button type='button' class='close' data-dismiss='modal'>×</button>
|
||||
<div class='searchInput w-p90'>
|
||||
<input id='storySearchInput' type='text' class='form-control' placeholder='<?php echo $lang->testcase->searchStories?>'>
|
||||
<i class='icon icon-search'></i>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->precondition;?></th>
|
||||
<td colspan='2'><?php echo html::textarea('precondition', $precondition, " rows='2' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->steps;?></th>
|
||||
<td colspan='2'>
|
||||
<table class='table table-form mg-0 table-bordered' style='border: 1px solid #ddd'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-40px text-right'><?php echo $lang->testcase->stepID;?></th>
|
||||
<th width="45%"><?php echo $lang->testcase->stepDesc;?></th>
|
||||
<th><?php echo $lang->testcase->stepExpect;?></th>
|
||||
<th class='step-actions'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id='steps' class='sortable' data-group-name='<?php echo $lang->testcase->groupName ?>'>
|
||||
<tr class='template step' id='stepTemplate'>
|
||||
<td class='step-id'></td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon step-item-id'></span>
|
||||
<textarea rows='1' class='form-control autosize step-steps' name='steps[]'></textarea>
|
||||
<span class="input-group-addon step-type-toggle">
|
||||
<input type='hidden' name='stepType[]' value='item' class='step-type'>
|
||||
<div class='step-type-menu-box'>
|
||||
<div class='step-type-current'><span></span> <i class='caret'></i></div>
|
||||
<div class='step-type-menu'>
|
||||
<a href='javascript:;' href='step-type-option' data-value='step'><?php echo $lang->testcase->step ?></a>
|
||||
<a href='javascript:;' href='step-type-option' data-value='group'><?php echo $lang->testcase->group ?></a>
|
||||
<a href='javascript:;' href='step-type-option' data-value='item'><?php echo $lang->testcase->stepChild ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td><textarea rows='1' class='form-control autosize step-expects' name='expects[]'></textarea></td>
|
||||
<td class='step-actions'>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-step-add'><i class='icon icon-plus'></i></button>
|
||||
<button type='button' class='btn btn-step-move'><i class='icon icon-move'></i></button>
|
||||
<button type='button' class='btn btn-step-delete'><i class='icon icon-remove'></i></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php foreach($steps as $stepID => $step):?>
|
||||
<tr class='step'>
|
||||
<td class='step-id'></td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon step-item-id'></span>
|
||||
<?php echo html::textarea('steps[]', $step->desc, "rows='1' class='form-control autosize step-steps'") ?>
|
||||
<span class='input-group-addon step-type-toggle'>
|
||||
<?php if(!isset($step->type)) $step->type = 'step';?>
|
||||
<input type='hidden' name='stepType[]' value='<?php echo $step->type ?>' class='step-type'>
|
||||
<div class='step-type-menu-box'>
|
||||
<div class='step-type-current'><span></span> <i class='caret'></i></div>
|
||||
<div class='step-type-menu'>
|
||||
<a href='javascript:;' href='step-type-option' data-value='step'><?php echo $lang->testcase->step ?></a>
|
||||
<a href='javascript:;' href='step-type-option' data-value='group'><?php echo $lang->testcase->group ?></a>
|
||||
<a href='javascript:;' href='step-type-option' data-value='item'><?php echo $lang->testcase->stepChild ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td><?php echo html::textarea('expects[]', $step->expect, "rows='1' class='form-control autosize step-expects'") ?></td>
|
||||
<td class='step-actions'>
|
||||
<div class='btn-group'>
|
||||
<button type='button' class='btn btn-step-add'><i class='icon icon-plus'></i></button>
|
||||
<button type='button' class='btn btn-step-move'><i class='icon icon-move'></i></button>
|
||||
<button type='button' class='btn btn-step-delete'><i class='icon icon-remove'></i></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->keywords;?></th>
|
||||
<td colspan='2'><?php echo html::input('keywords', '', "class='form-control' autocomplete='off'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testcase->files;?></th>
|
||||
<td colspan='2'><?php echo $this->fetch('file', 'buildform');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<td colspan='2' class='text-center'><?php echo html::submitButton() . html::backButton();?> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div class='modal fade' id='searchStories'>
|
||||
<div class='modal-dialog'>
|
||||
<div class='modal-content'>
|
||||
<div class='modal-header'>
|
||||
<button type='button' class='close' data-dismiss='modal'>×</button>
|
||||
<div class='searchInput w-p90'>
|
||||
<input id='storySearchInput' type='text' class='form-control' placeholder='<?php echo $lang->testcase->searchStories?>'>
|
||||
<i class='icon icon-search'></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class='modal-body'>
|
||||
<ul id='searchResult'></ul>
|
||||
<div class='modal-body'>
|
||||
<ul id='searchResult'></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -484,7 +484,7 @@ class testtask extends control
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->testtask->start($taskID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
|
||||
|
||||
if($this->post->comment != '' or !empty($changes))
|
||||
{
|
||||
@@ -492,8 +492,8 @@ class testtask extends control
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
}
|
||||
|
||||
if(isonlybody()) die(js::reload('parent.parent'));
|
||||
die(js::locate($this->createLink('testtask', 'view', "taskID=$taskID"), 'parent'));
|
||||
if(isonlybody()) $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent'));
|
||||
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('testtask', 'view', "taskID=$taskID")));
|
||||
}
|
||||
|
||||
/* Get task info. */
|
||||
@@ -566,7 +566,7 @@ class testtask extends control
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->testtask->close($taskID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
|
||||
|
||||
if($this->post->comment != '' or !empty($changes))
|
||||
{
|
||||
@@ -574,8 +574,8 @@ class testtask extends control
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
}
|
||||
|
||||
if(isonlybody()) die(js::reload('parent.parent'));
|
||||
die(js::locate($this->createLink('testtask', 'view', "taskID=$taskID"), 'parent'));
|
||||
if(isonlybody()) $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent'));
|
||||
$this->send(array('result' => 'success', 'message' => $this->lang->success, 'locate' => $this->createLink('testtask', 'view', "taskID=$taskID")));
|
||||
}
|
||||
|
||||
/* Get task info. */
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('#startForm, #closeForm').ajaxForm(
|
||||
{
|
||||
finish:function(response)
|
||||
{
|
||||
if(response.locate)
|
||||
{
|
||||
if(response.locate == 'parent')
|
||||
{
|
||||
parent.$.cookie('selfClose', 1);
|
||||
setTimeout(function(){parent.$.closeModal(null, 'this')}, 1200);
|
||||
}
|
||||
else
|
||||
{
|
||||
setTimeout(function(){window.location.href = response.locate;}, 1200);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
})
|
||||
@@ -11,38 +11,38 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<div class='container mw-800px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['testtask']);?> <strong><?php echo $testtask->id;?></strong></span>
|
||||
<strong><?php echo html::a($this->createLink('testtask', 'view', 'taskID=' . $testtask->id), $testtask->name, '_blank');?></strong>
|
||||
<small class='text-danger'> <?php echo $lang->testtask->close;?> <?php echo html::icon($lang->icons['close']);?></small>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div id='center-block'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='label label-id'><?php echo $testtask->id;?></span>
|
||||
<?php echo html::a($this->createLink('testtask', 'view', 'taskID=' . $testtask->id), $testtask->name, '_blank');?>
|
||||
<small> <?php echo $lang->arrow . $lang->testtask->close;?></small>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
<form class='form-condensed' method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th><?php echo $lang->comment;?></th>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testtask->mailto;?></th>
|
||||
<td colspan='2'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::select('mailto[]', $users, str_replace(' ' , '', $testtask->mailto), "multiple class='form-control'");?>
|
||||
<?php if($contactLists) echo html::select('', $contactLists, '', "class='form-control chosen' onchange=\"setMailto('mailto', this.value)\"");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='text-center'><?php echo html::submitButton() . html::linkButton($lang->goback, $this->session->taskList); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<div class='main'>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
<form class='load-indicator main-form' method='post' id='closeForm'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-60px'><?php echo $lang->comment;?></th>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='form-control kindeditor' hidefocus='true'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testtask->mailto;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php echo html::select('mailto[]', $users, str_replace(' ' , '', $testtask->mailto), "multiple class='form-control chosen'");?>
|
||||
<?php if($contactLists) echo html::select('', $contactLists, '', "class='form-control chosen' onchange=\"setMailto('mailto', this.value)\"");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='text-center'><?php echo html::submitButton() . html::linkButton($lang->goback, $this->session->taskList); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<hr class='small' />
|
||||
<div class='main'><?php include '../../common/view/action.html.php';?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -12,31 +12,33 @@
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<div class='container mw-800px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['testtask']);?> <strong><?php echo $testtask->id;?></strong></span>
|
||||
<strong><?php echo html::a($this->createLink('testtask', 'view', 'taskID=' . $testtask->id), $testtask->name, '_blank');?></strong>
|
||||
<small class='text-success'> <?php echo $lang->testtask->start;?> <?php echo html::icon($lang->icons['start']);?></small>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='center-block'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='label label-id'><?php echo $testtask->id;?></span>
|
||||
<?php echo isonlybody() ? $testtask->name : html::a($this->createLink('testtask', 'view', 'taskID=' . $testtask->id), $testtask->name, '_blank');?>
|
||||
<?php if(!isonlybody()):?>
|
||||
<small><?php echo $lang->arrow . $lang->testtask->start;?></small>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form class='form-condensed' method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='text-left'><?php echo $lang->comment;?></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='text-center'><?php echo html::submitButton() . html::linkButton($lang->goback, $this->session->taskList); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<div class='main'>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
<form class='load-indicator main-form' method='post' id='startForm'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-45px'><?php echo $lang->comment;?></th>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='form-control kindeditor' hidefocus='true'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="text-center">
|
||||
<?php echo html::submitButton();?>
|
||||
<?php echo html::linkButton($lang->goback, $this->session->taskList);?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<hr class='small' />
|
||||
<div class='main'><?php include '../../common/view/action.html.php';?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -8,4 +8,4 @@
|
||||
#todoBatchAddForm .control-time-begin + .chosen-container-single .chosen-single {border-radius: 2px 0 0 2px; border-right-width: 0; padding-right: 1px;}
|
||||
#todoBatchAddForm .control-time-begin + .chosen-container-active .chosen-single {border-right-width: 1px; padding-right: 0;}
|
||||
#todoBatchAddHeader [name="date"]:disabled {color: #ccc; text-decoration: line-through;}
|
||||
.main-header > .input-group {width: 220px;}
|
||||
.main-header > .input-group {width: 240px;}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 114 KiB |
Vendored
-150
File diff suppressed because one or more lines are too long
+191
-244
@@ -1,88 +1,35 @@
|
||||
/**
|
||||
* Create link.
|
||||
*
|
||||
* @param string $moduleName
|
||||
* @param string $methodName
|
||||
* @param string $vars
|
||||
* @param string $viewType
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
function createLink(moduleName, methodName, vars, viewType, isOnlyBody)
|
||||
{
|
||||
if(!viewType) viewType = config.defaultView;
|
||||
if(!isOnlyBody) isOnlyBody = false;
|
||||
if(vars)
|
||||
{
|
||||
vars = vars.split('&');
|
||||
for(i = 0; i < vars.length; i ++)
|
||||
{
|
||||
splited = vars[i].split('=');
|
||||
// /**
|
||||
// * Bind Event for searchbox
|
||||
// *
|
||||
// */
|
||||
// function setSearchBox()
|
||||
// {
|
||||
// $('#searchTypeMenu a').click(function()
|
||||
// {
|
||||
// $('#searchTypeMenu li.selected').removeClass('selected');
|
||||
// var $this = $(this);
|
||||
// $this.closest('li').addClass('selected');
|
||||
// $("#searchType").val($this.data('value'));
|
||||
// $("#searchTypeName").text($this.text());
|
||||
// });
|
||||
// }
|
||||
|
||||
var newvars = new Array()
|
||||
newvars[0] = splited.shift();
|
||||
newvars[1] = splited.join('=');
|
||||
|
||||
vars[i] = newvars;
|
||||
}
|
||||
}
|
||||
if(config.requestType != 'GET')
|
||||
{
|
||||
if(config.requestType == 'PATH_INFO') link = config.webRoot + moduleName + config.requestFix + methodName;
|
||||
if(config.requestType == 'PATH_INFO2') link = config.webRoot + 'index.php/' + moduleName + config.requestFix + methodName;
|
||||
if(vars)
|
||||
{
|
||||
for(i = 0; i < vars.length; i ++) link += config.requestFix + vars[i][1];
|
||||
}
|
||||
link += '.' + viewType;
|
||||
}
|
||||
else
|
||||
{
|
||||
link = config.router + '?' + config.moduleVar + '=' + moduleName + '&' + config.methodVar + '=' + methodName + '&' + config.viewVar + '=' + viewType;
|
||||
if(vars) for(i = 0; i < vars.length; i ++) link += '&' + vars[i][0] + '=' + vars[i][1];
|
||||
}
|
||||
|
||||
/* if page has onlybody param then add this param in all link. the param hide header and footer. */
|
||||
if((typeof(config.onlybody) != 'undefined' && config.onlybody == 'yes') || isOnlyBody)
|
||||
{
|
||||
var onlybody = config.requestType != 'GET' ? "?onlybody=yes" : '&onlybody=yes';
|
||||
link = link + onlybody;
|
||||
}
|
||||
return link;
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind Event for searchbox
|
||||
*
|
||||
*/
|
||||
function setSearchBox()
|
||||
{
|
||||
$('#searchTypeMenu a').click(function()
|
||||
{
|
||||
$('#searchTypeMenu li.selected').removeClass('selected');
|
||||
var $this = $(this);
|
||||
$this.closest('li').addClass('selected');
|
||||
$("#searchType").val($this.data('value'));
|
||||
$("#searchTypeName").text($this.text());
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Go to the view page of one object.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function shortcut()
|
||||
{
|
||||
objectType = $('#searchType').attr('value');
|
||||
objectValue = $("input#searchInput").attr('value');
|
||||
if(objectType && objectValue)
|
||||
{
|
||||
method = objectType == 'testsuite' ? 'library' : 'view';
|
||||
location.href=createLink(objectType, method, "id=" + objectValue);
|
||||
}
|
||||
}
|
||||
// /**
|
||||
// * Go to the view page of one object.
|
||||
// *
|
||||
// * @access public
|
||||
// * @return void
|
||||
// */
|
||||
// function shortcut()
|
||||
// {
|
||||
// objectType = $('#searchType').attr('value');
|
||||
// objectValue = $("input#searchInput").attr('value');
|
||||
// if(objectType && objectValue)
|
||||
// {
|
||||
// method = objectType == 'testsuite' ? 'library' : 'view';
|
||||
// location.href=createLink(objectType, method, "id=" + objectValue);
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* Show search drop menu.
|
||||
@@ -203,30 +150,30 @@ function setRequiredFields()
|
||||
$('.required').closest('td,th').next().css('padding-left', '15px');
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the help links of forum's items.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setHelpLink()
|
||||
{
|
||||
if(!$.cookie('help')) $.cookie('help', 'off', {expires:config.cookieLife, path:config.webRoot});
|
||||
className = $.cookie('help') == 'off' ? 'hidden' : '';
|
||||
// /**
|
||||
// * Set the help links of forum's items.
|
||||
// *
|
||||
// * @access public
|
||||
// * @return void
|
||||
// */
|
||||
// function setHelpLink()
|
||||
// {
|
||||
// if(!$.cookie('help')) $.cookie('help', 'off', {expires:config.cookieLife, path:config.webRoot});
|
||||
// className = $.cookie('help') == 'off' ? 'hidden' : '';
|
||||
|
||||
$('form input[id], form select[id], form textarea[id]').each(function()
|
||||
{
|
||||
if($(this).attr('type') == 'hidden' || $(this).attr('type') == 'file') return;
|
||||
currentFieldName = $(this).attr('name') ? $(this).attr('name') : $(this).attr('id');
|
||||
if(currentFieldName == 'submit' || currentFieldName == 'reset') return;
|
||||
if(currentFieldName.indexOf('[') > 0) currentFieldName = currentFieldName.substr(0, currentFieldName.indexOf('['));
|
||||
currentFieldName = currentFieldName.toLowerCase();
|
||||
helpLink = createLink('help', 'field', 'module=' + config.currentModule + '&method=' + config.currentMethod + '&field=' + currentFieldName);
|
||||
$(this).after(' <a class="helplink ' + className + '" href=' + helpLink + ' target="_blank">?</a> ');
|
||||
});
|
||||
// $('form input[id], form select[id], form textarea[id]').each(function()
|
||||
// {
|
||||
// if($(this).attr('type') == 'hidden' || $(this).attr('type') == 'file') return;
|
||||
// currentFieldName = $(this).attr('name') ? $(this).attr('name') : $(this).attr('id');
|
||||
// if(currentFieldName == 'submit' || currentFieldName == 'reset') return;
|
||||
// if(currentFieldName.indexOf('[') > 0) currentFieldName = currentFieldName.substr(0, currentFieldName.indexOf('['));
|
||||
// currentFieldName = currentFieldName.toLowerCase();
|
||||
// helpLink = createLink('help', 'field', 'module=' + config.currentModule + '&method=' + config.currentMethod + '&field=' + currentFieldName);
|
||||
// $(this).after(' <a class="helplink ' + className + '" href=' + helpLink + ' target="_blank">?</a> ');
|
||||
// });
|
||||
|
||||
$("a.helplink").modalTrigger({width:600, type:'iframe'});
|
||||
}
|
||||
// $("a.helplink").modalTrigger({width:600, type:'iframe'});
|
||||
// }
|
||||
|
||||
/**
|
||||
* Set paceholder.
|
||||
@@ -367,19 +314,19 @@ function removeAnchor(url)
|
||||
return url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the window size and save to cookie.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function saveWindowSize()
|
||||
{
|
||||
width = $(window).width();
|
||||
height = $(window).height();
|
||||
$.cookie('windowWidth', width)
|
||||
$.cookie('windowHeight', height)
|
||||
}
|
||||
// /**
|
||||
// * Get the window size and save to cookie.
|
||||
// *
|
||||
// * @access public
|
||||
// * @return void
|
||||
// */
|
||||
// function saveWindowSize()
|
||||
// {
|
||||
// width = $(window).width();
|
||||
// height = $(window).height();
|
||||
// $.cookie('windowWidth', width)
|
||||
// $.cookie('windowHeight', height)
|
||||
// }
|
||||
|
||||
/**
|
||||
* Adjust Outer box's width and height.
|
||||
@@ -678,39 +625,39 @@ function checkTable($table)
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function toggleSearch()
|
||||
{
|
||||
$("#bysearchTab").toggle
|
||||
(
|
||||
function()
|
||||
{
|
||||
if(typeof(browseType) == 'undefined' || browseType == 'bymodule')
|
||||
{
|
||||
$('#bymoduleTab').removeClass('btn-active-text');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#' + browseType + 'Tab').removeClass('btn-active-text');
|
||||
}
|
||||
$('#bysearchTab').addClass('btn-active-text');
|
||||
ajaxGetSearchForm();
|
||||
$('#queryBox').addClass('show');
|
||||
},
|
||||
function()
|
||||
{
|
||||
if(typeof(browseType) == 'undefined' || browseType == 'bymodule')
|
||||
{
|
||||
$('#bymoduleTab').addClass('btn-active-text');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#' + browseType +'Tab').addClass('btn-active-text');
|
||||
}
|
||||
$('#bysearchTab').removeClass('btn-active-text');
|
||||
$('#queryBox').removeClass('show');
|
||||
}
|
||||
);
|
||||
}
|
||||
// function toggleSearch()
|
||||
// {
|
||||
// $("#bysearchTab").toggle
|
||||
// (
|
||||
// function()
|
||||
// {
|
||||
// if(typeof(browseType) == 'undefined' || browseType == 'bymodule')
|
||||
// {
|
||||
// $('#bymoduleTab').removeClass('btn-active-text');
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// $('#' + browseType + 'Tab').removeClass('btn-active-text');
|
||||
// }
|
||||
// $('#bysearchTab').addClass('btn-active-text');
|
||||
// ajaxGetSearchForm();
|
||||
// $('#queryBox').addClass('show');
|
||||
// },
|
||||
// function()
|
||||
// {
|
||||
// if(typeof(browseType) == 'undefined' || browseType == 'bymodule')
|
||||
// {
|
||||
// $('#bymoduleTab').addClass('btn-active-text');
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// $('#' + browseType +'Tab').addClass('btn-active-text');
|
||||
// }
|
||||
// $('#bysearchTab').removeClass('btn-active-text');
|
||||
// $('#queryBox').removeClass('show');
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
|
||||
/**
|
||||
* Ajax get search form
|
||||
@@ -1400,47 +1347,47 @@ function removeCookieByKey(cookieKey)
|
||||
location.href = location.href;
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind hotkey event
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function initHotKey()
|
||||
{
|
||||
$(document).bind('keydown', 'Ctrl+g', function(e)
|
||||
{
|
||||
/* CTRL+g, auto focus on the search box. */
|
||||
$('#searchQuery').val('').focus();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}).bind('keydown', 'Alt+up', function()
|
||||
{
|
||||
/* Alt+up, go back to the previous page. */
|
||||
var backLink = $('#back').attr('href');
|
||||
if(backLink) location.href = backLink;
|
||||
}).bind('keydown', 'left', function()
|
||||
{
|
||||
/* left, go to pre object. */
|
||||
var preLink = $('#pre').attr('href');
|
||||
if(!$.cookie('ajax_lastNext'))
|
||||
{
|
||||
$.cookie('ajax_lastNext', 'on', {expires: config.cookieLife, path: config.webRoot});
|
||||
$.get(createLink('score', 'ajax', "method=lastNext"));
|
||||
}
|
||||
if(preLink) location.href = preLink;
|
||||
}).bind('keydown', 'right', function()
|
||||
{
|
||||
/* right, go to next object. */
|
||||
var nextLink = $('#next').attr('href');
|
||||
if(!$.cookie('ajax_lastNext'))
|
||||
{
|
||||
$.cookie('ajax_lastNext', 'on', {expires: config.cookieLife, path: config.webRoot});
|
||||
$.get(createLink('score', 'ajax', "method=lastNext"));
|
||||
}
|
||||
if(nextLink) location.href = nextLink;
|
||||
});
|
||||
}
|
||||
// /**
|
||||
// * Bind hotkey event
|
||||
// * @access public
|
||||
// * @return void
|
||||
// */
|
||||
// function initHotKey()
|
||||
// {
|
||||
// $(document).bind('keydown.ctrl_g', function(e)
|
||||
// {
|
||||
// /* CTRL+g, auto focus on the search box. */
|
||||
// $('#searchQuery').val('').focus();
|
||||
// e.stopPropagation();
|
||||
// e.preventDefault();
|
||||
// return false;
|
||||
// }).bind('keydown.Alt+up', function()
|
||||
// {
|
||||
// /* Alt+up, go back to the previous page. */
|
||||
// var backLink = $('#back').attr('href');
|
||||
// if(backLink) location.href = backLink;
|
||||
// }).bind('keydown.left', function()
|
||||
// {
|
||||
// /* left, go to pre object. */
|
||||
// var preLink = $('#pre').attr('href');
|
||||
// if(!$.cookie('ajax_lastNext'))
|
||||
// {
|
||||
// $.cookie('ajax_lastNext', 'on', {expires: config.cookieLife, path: config.webRoot});
|
||||
// $.get(createLink('score', 'ajax', "method=lastNext"));
|
||||
// }
|
||||
// if(preLink) location.href = preLink;
|
||||
// }).bind('keydown.right', function()
|
||||
// {
|
||||
// /* right, go to next object. */
|
||||
// var nextLink = $('#next').attr('href');
|
||||
// if(!$.cookie('ajax_lastNext'))
|
||||
// {
|
||||
// $.cookie('ajax_lastNext', 'on', {expires: config.cookieLife, path: config.webRoot});
|
||||
// $.get(createLink('score', 'ajax', "method=lastNext"));
|
||||
// }
|
||||
// if(nextLink) location.href = nextLink;
|
||||
// });
|
||||
// }
|
||||
|
||||
/**
|
||||
* Init help link for user to open zentao help website in iframe
|
||||
@@ -1592,50 +1539,50 @@ function revertModuleCookie()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Focus move up or down for input.
|
||||
*
|
||||
* @param type up|down
|
||||
*/
|
||||
function inputFocusJump(type){
|
||||
var hasFocus = $('input').is(':focus');
|
||||
if(hasFocus)
|
||||
{
|
||||
var title = $("input:focus").attr('name').replace(/\[\d]/g, '');
|
||||
var $input = $(":input[name^=" + title + "]:text:not(:disabled):not([name*='%'])");
|
||||
var num = $input.length;
|
||||
var index = parseInt($("input:focus").attr('name').replace(/[^0-9]/g, ''));
|
||||
var nextIndex = type == 'down' ? index + 1 : index - 1;
|
||||
// /**
|
||||
// * Focus move up or down for input.
|
||||
// *
|
||||
// * @param type up|down
|
||||
// */
|
||||
// function inputFocusJump(type){
|
||||
// var hasFocus = $('input').is(':focus');
|
||||
// if(hasFocus)
|
||||
// {
|
||||
// var title = $("input:focus").attr('name').replace(/\[\d]/g, '');
|
||||
// var $input = $(":input[name^=" + title + "]:text:not(:disabled):not([name*='%'])");
|
||||
// var num = $input.length;
|
||||
// var index = parseInt($("input:focus").attr('name').replace(/[^0-9]/g, ''));
|
||||
// var nextIndex = type == 'down' ? index + 1 : index - 1;
|
||||
|
||||
if(nextIndex < num && nextIndex >= 0)
|
||||
{
|
||||
$input[nextIndex].focus();
|
||||
}
|
||||
}
|
||||
}
|
||||
// if(nextIndex < num && nextIndex >= 0)
|
||||
// {
|
||||
// $input[nextIndex].focus();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* Focus move up or down for select.
|
||||
*
|
||||
* @param type
|
||||
*/
|
||||
function selectFocusJump(type)
|
||||
{
|
||||
var hasFocus = $('select').is(':focus');
|
||||
if(hasFocus)
|
||||
{
|
||||
var title = $("select:focus").attr('name').replace(/\[\d]/g, '');
|
||||
var $select = $("select[name^=" + title + "]:not([name*='%'])");
|
||||
var num = $select.length;
|
||||
var index = parseInt($("select:focus").attr('name').replace(/[^0-9]/g, ''));
|
||||
var nextIndex = type == 'down' ? index + 1 : index - 1;
|
||||
// /**
|
||||
// * Focus move up or down for select.
|
||||
// *
|
||||
// * @param type
|
||||
// */
|
||||
// function selectFocusJump(type)
|
||||
// {
|
||||
// var hasFocus = $('select').is(':focus');
|
||||
// if(hasFocus)
|
||||
// {
|
||||
// var title = $("select:focus").attr('name').replace(/\[\d]/g, '');
|
||||
// var $select = $("select[name^=" + title + "]:not([name*='%'])");
|
||||
// var num = $select.length;
|
||||
// var index = parseInt($("select:focus").attr('name').replace(/[^0-9]/g, ''));
|
||||
// var nextIndex = type == 'down' ? index + 1 : index - 1;
|
||||
|
||||
if(nextIndex < num && nextIndex >= 0)
|
||||
{
|
||||
$select[nextIndex].focus();
|
||||
}
|
||||
}
|
||||
}
|
||||
// if(nextIndex < num && nextIndex >= 0)
|
||||
// {
|
||||
// $select[nextIndex].focus();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
function adjustNoticePosition()
|
||||
{
|
||||
@@ -1671,31 +1618,31 @@ needPing = true;
|
||||
/* When body's ready, execute these. */
|
||||
$(document).ready(function()
|
||||
{
|
||||
setTableBehavior();
|
||||
setForm();
|
||||
saveWindowSize();
|
||||
setSearchBox();
|
||||
setOuterBox();
|
||||
// setTableBehavior();
|
||||
// setForm();
|
||||
// saveWindowSize();
|
||||
// setSearchBox();
|
||||
// setOuterBox();
|
||||
|
||||
//setRequiredFields();
|
||||
setPlaceholder();
|
||||
|
||||
setModalTriggerLink();
|
||||
|
||||
checkTable();
|
||||
toggleSearch();
|
||||
// checkTable();
|
||||
// toggleSearch();
|
||||
|
||||
fixStyle();
|
||||
// fixStyle();
|
||||
|
||||
// Init tree menu
|
||||
$('.tree').tree({initialState: 'preserve'});
|
||||
|
||||
$(window).resize(saveWindowSize); // When window resized, call it again.
|
||||
// $(window).resize(saveWindowSize); // When window resized, call it again.
|
||||
|
||||
if(needPing) setTimeout('setPing()', 1000 * 60 * 10); // After 10 minutes, begin ping.
|
||||
|
||||
initPrioritySelector();
|
||||
initHotKey();
|
||||
// initHotKey();
|
||||
initHelpLink();
|
||||
checkTutorial();
|
||||
revertModuleCookie();
|
||||
|
||||
+14
-3
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user