Merge branch 'master' of github.com:easysoft/zentaopms
This commit is contained in:
@@ -64,7 +64,7 @@
|
||||
<div class='col-md-6'>
|
||||
<div class='panel panel-sm contentDiv'>
|
||||
<div class='panel-heading'><?php echo html::icon($lang->icons['story']) . ' ' . $lang->build->linkStories;?></div>
|
||||
<table class='table table table-borderless table-condensed table-hover'>
|
||||
<table class='table table table-borderless table-condensed table-hover table-fixed'>
|
||||
<thead>
|
||||
<tr class='text-center'>
|
||||
<th class='w-id text-left'><?php echo html::selectAll('story', 'checkbox') . ' ' . $lang->idAB;?></th>
|
||||
@@ -88,7 +88,7 @@
|
||||
<div class='col-md-6'>
|
||||
<div class='panel panel-sm contentDiv'>
|
||||
<div class='panel-heading'><?php echo html::icon($lang->icons['bug']) . ' ' . $lang->build->linkBugs;?></div>
|
||||
<table class='table table table-borderless table-condensed table-hover'>
|
||||
<table class='table table table-borderless table-condensed table-hover table-fixed'>
|
||||
<thead>
|
||||
<tr class='text-center'>
|
||||
<th class='w-id text-left'><?php echo html::selectAll('bug', 'checkbox') . ' ' . $lang->idAB;?></th>
|
||||
|
||||
@@ -146,11 +146,11 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->build->scmPath;?></th>
|
||||
<td><?php strpos($build->scmPath, 'http') === 0 ? printf(html::a($build->scmPath)) : printf($build->scmPath);?></td>
|
||||
<td style='word-break:break-all;'><?php strpos($build->scmPath, 'http') === 0 ? printf(html::a($build->scmPath)) : printf($build->scmPath);?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->build->filePath;?></th>
|
||||
<td><?php strpos($build->filePath, 'http') === 0 ? printf(html::a($build->filePath)) : printf($build->filePath);?></td>
|
||||
<td style='word-break:break-all;'><?php strpos($build->filePath, 'http') === 0 ? printf(html::a($build->filePath)) : printf($build->filePath);?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
@@ -9,15 +9,15 @@ function switchChange(historyID)
|
||||
{
|
||||
$swbtn.closest('li').addClass('show-changes');
|
||||
$showTag.removeClass('change-show').addClass('change-hide');
|
||||
$('#changeBox' + historyID).slideDown('fast');
|
||||
$('#changeBox' + historyID).prev('.changeDiff').slideDown('fast');
|
||||
$('#changeBox' + historyID).show();
|
||||
$('#changeBox' + historyID).prev('.changeDiff').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$swbtn.closest('li').removeClass('show-changes');
|
||||
$swbtn.find('.change-hide').removeClass('change-hide').addClass('change-show');
|
||||
$('#changeBox' + historyID).slideUp('fast');
|
||||
$('#changeBox' + historyID).prev('.changeDiff').slideUp('fast');
|
||||
$('#changeBox' + historyID).hide();
|
||||
$('#changeBox' + historyID).prev('.changeDiff').hide();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,8 +77,8 @@ function toggleOrder(obj)
|
||||
|
||||
function toggleComment(actionID)
|
||||
{
|
||||
$('.comment' + actionID).slideToggle('fast');
|
||||
$('#lastCommentBox').slideToggle('fast');
|
||||
$('.comment' + actionID).toggle();
|
||||
$('#lastCommentBox').toggle();
|
||||
$('.ke-container').css('width', '100%');
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@ $(function()
|
||||
$this.focus(function(){if($this.val() == '0000-00-00') $this.val('')}).blur(function(){if($this.val() == '') $this.val('0000-00-00')});
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
var options =
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h4 class="modal-title"><i class="icon-heart"></i><?php echo $lang->parseText?></h4>
|
||||
<h4 class="modal-title"><i class="icon-file-text"></i> <?php echo $lang->parseText?></h4>
|
||||
</div>
|
||||
<div class="modal-body"><?php echo html::textarea('parseText', '', "class='form-control' rows='10'")?></div>
|
||||
<div class="modal-footer"><?php echo html::submitButton()?></div>
|
||||
|
||||
@@ -11,11 +11,12 @@ $(function() { sortTable(); } );
|
||||
function sortTable()
|
||||
{
|
||||
$('.tablesorter').tablesorter(
|
||||
{
|
||||
widgets: ['zebra'],
|
||||
widgetZebra: {css: ['odd', 'even'] }
|
||||
}
|
||||
);
|
||||
{
|
||||
saveSort: true,
|
||||
widgets: ['zebra', 'saveSort'],
|
||||
widgetZebra: {css: ['odd', 'even'] }
|
||||
});
|
||||
|
||||
$('.tablesorter tbody tr').hover(
|
||||
function(){$(this).addClass('hoover')},
|
||||
function(){$(this).removeClass('hoover')}
|
||||
|
||||
@@ -15,19 +15,18 @@
|
||||
<div class='heading'>
|
||||
<span class='prefix' title='EXTENSION'><?php echo html::icon($lang->icons['extension']);?></span>
|
||||
<strong><?php echo $title;?></strong>
|
||||
<small class='text-success'><?php echo $lang->extension->activate;?> <?php echo html::icon($lang->icons['activate']);?></small>
|
||||
<small class='text-muted'><?php echo $lang->extension->activate;?> <?php echo html::icon($lang->icons['activate']);?></small>
|
||||
</div>
|
||||
</div>
|
||||
<?php if(isset($error) and $error):?>
|
||||
<div class='alert alert-danger'>
|
||||
<i class='icon-info-sign'></i>
|
||||
<div class='content'><?php $error;?></div>
|
||||
<div class='text-center'>
|
||||
<div class='text-danger'><?php $error;?></div>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div class='alert alert-success'>
|
||||
<i class='icon-ok-sign'></i>
|
||||
<div class='text-center with-padding'>
|
||||
<div class='content'>
|
||||
<h3><?php echo $title;?></h3>
|
||||
<h3 class='text-success'><?php echo $title;?></h3>
|
||||
<hr>
|
||||
<p class='text-center'><?php echo html::commonButton($lang->extension->viewInstalled, 'onclick=parent.location.href="' . inlink('browse', 'type=installed') . '"');?></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -11,10 +11,10 @@
|
||||
*/
|
||||
?>
|
||||
<?php include 'header.html.php';?>
|
||||
<div class='container'>
|
||||
<div class='container bd-0'>
|
||||
<div class='cards'>
|
||||
<?php foreach($extensions as $extension):?>
|
||||
<div class='col-md-6'><div class='card'>
|
||||
<div class='col-xs-12'><div class='card'>
|
||||
<div class='card-heading'><strong><?php echo $extension->name;?></strong></div>
|
||||
<div class='card-content text-muted'><?php echo $extension->desc;?></div>
|
||||
<div class='card-actions'>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php if(isset($error) and $error):?>
|
||||
<div class='alert alert-success'>
|
||||
<div class='alert alert-success with-icon'>
|
||||
<i class='icon-ok-sign'></i>
|
||||
<div class='content'>
|
||||
<h3><?php echo $lang->extension->needSorce;?></h3>
|
||||
|
||||
@@ -15,19 +15,17 @@
|
||||
<div class='heading'>
|
||||
<span class='prefix' title='EXTENSION'><?php echo html::icon($lang->icons['extension']);?></span>
|
||||
<strong><?php echo $title;?></strong>
|
||||
<small class='text-danger'><?php echo $lang->extension->deactivate;?> <?php echo html::icon($lang->icons['activate']);?></small>
|
||||
<small class='text-muted'><?php echo $lang->extension->deactivate;?> <?php echo html::icon($lang->icons['activate']);?></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class='alert alert-success'>
|
||||
<i class='icon-ok-sign'></i>
|
||||
<div class='content'>
|
||||
<h3><?php echo $title;?></h3>
|
||||
<div class='text-center with-padding'>
|
||||
<h3 class='mgb-20'><?php echo $title;?></h3>
|
||||
<?php if($removeCommands):?>
|
||||
<p><strong><?php echo $lang->extension->unremovedFiles;?></strong></p>
|
||||
<p><?php echo join($removeCommands, '<br />');?></p>
|
||||
<?php endif;?>
|
||||
<p class='text-center'><?php echo html::commonButton($lang->extension->viewDeactivated, 'onclick=parent.location.href="' . inlink('browse', 'type=deactivated') . '"');?></p>
|
||||
</div>
|
||||
<hr>
|
||||
<p><?php echo html::commonButton($lang->extension->viewDeactivated, 'onclick=parent.location.href="' . inlink('browse', 'type=deactivated') . '"');?></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<small class='text-danger'><?php echo $lang->extension->erase;?> <?php echo html::icon('trash');?></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class='alert alert-success'>
|
||||
<div class='alert alert-success with-icon'>
|
||||
<i class='icon-ok-sign'></i>
|
||||
<div class='content'>
|
||||
<h3><?php echo $title;?></h3>
|
||||
|
||||
@@ -23,42 +23,40 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php if($error):?>
|
||||
<div class='alert alert-danger'>
|
||||
<i class='icon-remove-sign'></i>
|
||||
<div class='content'>
|
||||
<h4><?php sprintf($lang->extension->installFailed, $installType);?></h4>
|
||||
<p><?php echo $error;?></p>
|
||||
<hr>
|
||||
<?php echo html::commonButton($lang->extension->refreshPage, 'onclick=location.href=location.href');?>
|
||||
</div>
|
||||
<div class='panel panel-body text-center'>
|
||||
<h4 class='text-danger'><?php sprintf($lang->extension->installFailed, $installType);?></h4>
|
||||
<p class='text-danger'><?php echo $error;?></p>
|
||||
<hr>
|
||||
<?php echo html::commonButton($lang->extension->refreshPage, 'onclick=location.href=location.href');?>
|
||||
</div>
|
||||
<?php elseif(isset($license)):?>
|
||||
<div class='alert'>
|
||||
<i class='icon-info-sign'></i>
|
||||
<div class='content'>
|
||||
<div class='panel panel-body '>
|
||||
<div class='content text-center'>
|
||||
<h4><?php echo $lang->extension->license;?></h4>
|
||||
<p><?php echo html::textarea('license', $license, "class='form-control' disabled rows='15'");?></p>
|
||||
<?php echo html::a($agreeLink, $lang->extension->agreeLicense, '', "class='btn btn-primary'");?>
|
||||
</div>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div class='alert alert-success'>
|
||||
<h4><i class='icon-ok-sign'></i> <?php echo $lang->extension->successDownloadedPackage;?></h4>
|
||||
<h1 class='text-center'><?php echo sprintf($lang->extension->installFinished, $installType);?></h1>
|
||||
<div class='panel panel-body'>
|
||||
<h1 class='text-center mgb-20'><?php echo sprintf($lang->extension->installFinished, $installType);?></h1>
|
||||
<div class='text-center'>
|
||||
<?php echo html::commonButton($lang->extension->viewInstalled, 'onclick=parent.location.href="' . inlink('browse') . '" class="btn btn-success"');?>
|
||||
</div>
|
||||
<hr>
|
||||
<?php
|
||||
echo "<h3 class='success'>{$lang->extension->successCopiedFiles}</h3>";
|
||||
echo '<ul>';
|
||||
foreach($files as $fileName => $md5)
|
||||
{
|
||||
echo "<li>$fileName</li>";
|
||||
}
|
||||
echo '</ul>';
|
||||
echo "<h3 class='success'>{$lang->extension->successInstallDB}</h3>";
|
||||
?>
|
||||
<div class='alert'>
|
||||
<?php
|
||||
echo "<h5 class='success'>{$lang->extension->successDownloadedPackage}</h5>";
|
||||
echo "<h5 class='success'>{$lang->extension->successCopiedFiles}</h5>";
|
||||
echo '<ul>';
|
||||
foreach($files as $fileName => $md5)
|
||||
{
|
||||
echo "<li>$fileName</li>";
|
||||
}
|
||||
echo '</ul>';
|
||||
echo "<h5 class='success'>{$lang->extension->successInstallDB}</h5>";
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</body>
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html::commonButton($lang->extension->installed, "disabled='disabled' style='color:gray'");
|
||||
echo html::commonButton("<i class='icon-ok'></i> " . $lang->extension->installed, "disabled='disabled'", 'text-success');
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
<strong><?php echo $extension->name . '[' . $extension->code . '] ' .$lang->extension->structure . ':';?></strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class='main'>
|
||||
<?php
|
||||
<div class='main with-padding'>
|
||||
<pre><?php
|
||||
$appRoot = $this->app->getAppRoot();
|
||||
$files = json_decode($extension->files);
|
||||
foreach($files as $file => $md5) echo $appRoot . $file . "<br />";
|
||||
?>
|
||||
foreach($files as $file => $md5) echo $appRoot . $file . "\n";
|
||||
?></pre>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php if(isset($confirm) and $confirm == 'no'):?>
|
||||
<div class='alert alert-warning'>
|
||||
<div class='alert alert-warning with-icon'>
|
||||
<i class='icon-info-sign'></i>
|
||||
<div class='content'>
|
||||
<?php
|
||||
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php elseif(!empty($error)):?>
|
||||
<div class='alert alert-danger'>
|
||||
<div class='alert alert-danger with-icon'>
|
||||
<i class='icon-info-sign'></i>
|
||||
<div class='content'>
|
||||
<?php
|
||||
@@ -41,7 +41,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div class='alert alert-success'>
|
||||
<div class='alert alert-success with-icon'>
|
||||
<i class='icon-ok-sign'></i>
|
||||
<div class='content'>
|
||||
<?php
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php if($error):?>
|
||||
<div class='alert alert-danger'>
|
||||
<div class='alert alert-danger with-icon'>
|
||||
<i class='icon-info-sign'></i>
|
||||
<div class='content'>
|
||||
<h3><?php echo $lang->extension->waringInstall;?></h3>
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<div class='main'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->task->legendDesc;?></legend>
|
||||
<div class='content'><?php echo $task->desc;?></div>
|
||||
<div class='article-content'><?php echo $task->desc;?></div>
|
||||
</fieldset>
|
||||
<?php echo $this->fetch('file', 'printFiles', array('files' => $task->files, 'fieldset' => 'true'));?>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<?php if($story):?>
|
||||
<small class='text-muted'><?php echo html::icon($lang->icons['story']) . ' ' . $story->title ?></small>
|
||||
<?php endif;?>
|
||||
<div class='actions'><?php echo html::commonButton($lang->parseText, "data-toggle='myModal'")?></div>
|
||||
<div class='actions'><?php echo html::commonButton($lang->parseText, "data-toggle='myModal' ")?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -180,6 +180,16 @@ class testtask extends control
|
||||
$task = $this->testtask->getById($taskID, true);
|
||||
if(!$task) die(js::error($this->lang->notFound) . js::locate('back'));
|
||||
$productID = $task->product;
|
||||
$buildID = $task->build;
|
||||
|
||||
$build = $this->loadModel('build')->getByID($buildID);
|
||||
|
||||
$stories = $this->dao->select('*')->from(TABLE_STORY)->where('id')->in($build->stories)->fetchAll();
|
||||
$this->loadModel('common')->saveQueryCondition($this->dao->get(), 'story');
|
||||
|
||||
$bugs = $this->dao->select('*')->from(TABLE_BUG)->where('id')->in($build->bugs)->fetchAll();
|
||||
$this->loadModel('common')->saveQueryCondition($this->dao->get(), 'bug');
|
||||
|
||||
$this->testtask->setMenu($this->products, $productID);
|
||||
|
||||
$this->view->title = "TASK #$task->id $task->name/" . $this->products[$productID];
|
||||
@@ -191,6 +201,9 @@ class testtask extends control
|
||||
$this->view->task = $task;
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noclosed|noletter');
|
||||
$this->view->actions = $this->loadModel('action')->getList('testtask', $taskID);
|
||||
$this->view->build = $build;
|
||||
$this->view->stories = $stories;
|
||||
$this->view->bugs = $bugs;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
@@ -703,6 +716,8 @@ class testtask extends control
|
||||
$this->view->nextCase = $nextCase;
|
||||
$this->view->results = $this->testtask->getResults(0, $caseID);
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noclosed, noletter');
|
||||
$this->view->caseID = $caseID;
|
||||
$this->view->version = $version;
|
||||
|
||||
die($this->display());
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
body{background:white}
|
||||
body{background:white;}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
#caseList tbody tr > td:first-child {padding-left: 10px;}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
$(function()
|
||||
{
|
||||
$('.result-item').click(function()
|
||||
{
|
||||
var $this = $(this);
|
||||
$this.toggleClass('show-detail');
|
||||
var show = $this.hasClass('show-detail');
|
||||
$this.next('.result-detail').toggleClass('hide', !show);
|
||||
$this.find('.collapse-handle').toggleClass('icon-chevron-down', !show).toggleClass('icon-chevron-up', show);;
|
||||
});
|
||||
|
||||
$('#casesResults table caption .result-tip').html($('#resultTip').html());
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
$(function()
|
||||
{
|
||||
$('.loadAjax').each(function()
|
||||
{
|
||||
var $this = $(this);
|
||||
$this.load($this.data('url'), function()
|
||||
{
|
||||
$('#caseList').tablesorter(
|
||||
{
|
||||
saveSort: true,
|
||||
widgets: ['zebra', 'saveSort'],
|
||||
widgetZebra: {css: ['odd', 'even'] }
|
||||
}).find('a.iframe').modalTrigger();
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -51,6 +51,8 @@ $lang->testtask->lastRunAccount = "Run";
|
||||
$lang->testtask->lastRunTime = 'Time';
|
||||
$lang->testtask->lastRunResult = 'Result';
|
||||
$lang->testtask->report = 'Report';
|
||||
$lang->testtask->stories = 'Stories';
|
||||
$lang->testtask->bugs = 'Bugs';
|
||||
|
||||
$lang->testtask->legendDesc = 'Desc';
|
||||
$lang->testtask->legendReport = 'Report';
|
||||
@@ -96,3 +98,5 @@ $lang->testtask->mail->create = new stdclass();
|
||||
$lang->testtask->mail->edit = new stdclass();
|
||||
$lang->testtask->mail->create->title = "%s created testtask #%s:%s";
|
||||
$lang->testtask->mail->edit->title = "%s finished testtask #%s:%s";
|
||||
|
||||
$lang->testtask->testScope = 'Test scope';
|
||||
|
||||
@@ -51,6 +51,8 @@ $lang->testtask->lastRunAccount = '执行人';
|
||||
$lang->testtask->lastRunTime = '执行时间';
|
||||
$lang->testtask->lastRunResult = '结果';
|
||||
$lang->testtask->report = '测试总结';
|
||||
$lang->testtask->stories = '相关需求';
|
||||
$lang->testtask->bugs = '相关Bug';
|
||||
|
||||
$lang->testtask->legendDesc = '任务描述';
|
||||
$lang->testtask->legendReport = '测试总结';
|
||||
@@ -96,3 +98,5 @@ $lang->testtask->mail->create = new stdclass();
|
||||
$lang->testtask->mail->edit = new stdclass();
|
||||
$lang->testtask->mail->create->title = "%s创建了测试任务 #%s:%s";
|
||||
$lang->testtask->mail->edit->title = "%s编辑了测试任务 #%s:%s";
|
||||
|
||||
$lang->testtask->testScope = '测试范畴';
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['usecase']);?> <strong><?php echo $case->id;?></strong></span>
|
||||
<strong><?php echo $case->title;?></strong>
|
||||
<small class='text-info'><?php echo $lang->testtask->results . ' ' . html::icon($lang->icons['result']);?></small>
|
||||
<small class='text-muted'><?php echo $lang->testtask->results . ' ' . html::icon($lang->icons['result']);?></small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -25,42 +25,67 @@
|
||||
<legend><?php echo $lang->testcase->precondition;?></legend>
|
||||
<?php echo $case->precondition;?>
|
||||
</fieldset>
|
||||
<?php foreach($results as $result):?>
|
||||
<table class='table table-condensed table-hover table-striped'>
|
||||
<caption class='text-left bd-0'>
|
||||
<?php if(isset($build)):?><div class='pull-right'><?php echo $lang->testtask->build . $lang->colon . $build;?></div>
|
||||
<div id='casesResults'>
|
||||
<table class='table table-condensed table-hover' style='border: 1px solid #ddd'>
|
||||
<?php $count = count($results);?>
|
||||
<caption class='text-left' style='border: 1px solid #ddd; border-bottom: none;'>
|
||||
<?php if(isset($build)):?>
|
||||
<div class='pull-right'><strong class='text-important'><?php echo $lang->testtask->build . $lang->colon . $build;?></strong></div>
|
||||
<?php endif; ?>
|
||||
RESULT#<?php echo $result->id . ' ' . $result->date . ' ' . $users[$result->lastRunner] . ' ' . $lang->testtask->runCase . ':'. " <span class='$result->caseResult'>" . $lang->testcase->resultList[$result->caseResult] . '</span>';?>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-40px'><?php echo $lang->testcase->stepID;?></th>
|
||||
<th class='w-p40'><?php echo $lang->testcase->stepDesc;?></th>
|
||||
<th class='w-p20'><?php echo $lang->testcase->stepExpect;?></th>
|
||||
<th><?php echo $lang->testcase->result;?></th>
|
||||
<th class='w-p20'><?php echo $lang->testcase->real;?></th>
|
||||
<strong><span><?php echo $count;?></span> <?php echo $lang->testcase->result?> <span class='result-tip'></span></strong>
|
||||
</caption>
|
||||
<?php $failCount = 0; ?>
|
||||
<?php foreach($results as $result):?>
|
||||
<?php
|
||||
$class = ($result->caseResult == 'pass' ? 'success' : ($result->caseResult == 'fail' ? 'danger' : ($result->caseResult == 'blocked' ? 'warning' : '')));
|
||||
if($class != 'success') $failCount++;
|
||||
?>
|
||||
<tr class='result-item <?php echo $class?>' style='cursor: pointer'>
|
||||
<td class='w-120px'> <i class='icon-circle<?php if($result->caseResult == 'n/a') echo '-empty';?> text-<?php echo $class;?>'></i> RESULT#<?php echo $result->id?></td>
|
||||
<td class='w-180px'><?php echo $result->date;?></td>
|
||||
<td><?php echo $users[$result->lastRunner] . ' ' . $lang->testtask->runCase;?></td>
|
||||
<td class='text-right'><strong class='text-<?php echo $class;?>'><?php echo $lang->testcase->resultList[$result->caseResult]?></strong></td>
|
||||
<td class='w-50px text-center'><i class='collapse-handle icon-chevron-down text-muted'></i></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php
|
||||
$i = 1;
|
||||
foreach($result->stepResults as $key => $stepResult):
|
||||
?>
|
||||
<tr>
|
||||
<td class='w-30px text-center'><?php echo $i;?></td>
|
||||
<td><?php if(isset($stepResult['desc'])) echo nl2br($stepResult['desc']);?></td>
|
||||
<td><?php if(isset($stepResult['expect'])) echo nl2br($stepResult['expect']);?></td>
|
||||
<?php if(!empty($stepResult['result'])):?>
|
||||
<td class='<?php echo $stepResult['result'];?> text-center'><?php echo $lang->testcase->resultList[$stepResult['result']];?></td>
|
||||
<td><?php echo $stepResult['real'];?></td>
|
||||
</tr>
|
||||
<?php else:?>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<?php endif; $i++;?>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
<?php endforeach;?>
|
||||
<tr class='result-detail hide'>
|
||||
<td colspan='5' class='pd-0'>
|
||||
<table class='table table-condensed borderless mg-0'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-40px'><?php echo $lang->testcase->stepID;?></th>
|
||||
<th class='w-p40'><?php echo $lang->testcase->stepDesc;?></th>
|
||||
<th class='w-p20'><?php echo $lang->testcase->stepExpect;?></th>
|
||||
<th><?php echo $lang->testcase->result;?></th>
|
||||
<th class='w-p20'><?php echo $lang->testcase->real;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php
|
||||
$i = 1;
|
||||
foreach($result->stepResults as $key => $stepResult):
|
||||
?>
|
||||
<tr>
|
||||
<td class='w-30px text-center'><?php echo $i;?></td>
|
||||
<td><?php if(isset($stepResult['desc'])) echo nl2br($stepResult['desc']);?></td>
|
||||
<td><?php if(isset($stepResult['expect'])) echo nl2br($stepResult['expect']);?></td>
|
||||
<?php if(!empty($stepResult['result'])):?>
|
||||
<td class='<?php echo $stepResult['result'];?> text-center'><?php echo $lang->testcase->resultList[$stepResult['result']];?></td>
|
||||
<td><?php echo $stepResult['real'];?></td>
|
||||
</tr>
|
||||
<?php else:?>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<?php endif; $i++;?>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
<div id='resultTip' class='hide'><?php if($count > 0) echo $failCount > 0 ? "<span class='text-danger'>{$failCount} {$lang->testtask->fail}</span>":"<span class='text-success'>{$lang->testtask->passAll}</span>";?></div>
|
||||
<style>.table-hover tr.result-detail:hover td {background: #fff}</style>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
|
||||
@@ -66,11 +66,24 @@
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php
|
||||
ob_start();
|
||||
$case = $run->case; include './results.html.php';
|
||||
$results = ob_get_contents();
|
||||
ob_clean();
|
||||
echo preg_replace("/<h1>[\s\S]*<\/h1>|<fieldset>[\s\S]*<\/fieldset>/", "", $results);
|
||||
?>
|
||||
<div class='main' id='resultsContainer'>
|
||||
</div>
|
||||
<script>
|
||||
$(function()
|
||||
{
|
||||
$('#resultsContainer').load("<?php echo $this->createLink('testtask', 'results', "runID=0&caseID=$caseID&version=$version");?> #casesResults", function()
|
||||
{
|
||||
$('.result-item').click(function()
|
||||
{
|
||||
var $this = $(this);
|
||||
$this.toggleClass('show-detail');
|
||||
var show = $this.hasClass('show-detail');
|
||||
$this.next('.result-detail').toggleClass('hide', !show);
|
||||
$this.find('.collapse-handle').toggleClass('icon-chevron-down', !show).toggleClass('icon-chevron-up', show);;
|
||||
});
|
||||
|
||||
$('#casesResults table caption .result-tip').html($('#resultTip').html());
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php include '../../common/view/tablesorter.html.php';?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix' title='TESTTASK'><?php echo html::icon($lang->icons['testtask']);?> <strong><?php echo $task->id;?></strong></span>
|
||||
@@ -54,10 +55,101 @@
|
||||
<div class='row-table'>
|
||||
<div class='col-main'>
|
||||
<div class='main'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testtask->legendDesc;?></legend>
|
||||
<div class='article-content'><?php echo $task->desc;?></div>
|
||||
</fieldset>
|
||||
<div class='tabs'>
|
||||
<ul class='nav nav-tabs'>
|
||||
<li class='active'><a href='#desc' data-toggle='tab'><?php echo $lang->testtask->legendDesc;?></a></li>
|
||||
<li><a href='#testScope' data-toggle='tab'><?php echo $lang->testtask->testScope;?></a></li>
|
||||
<li><a href='#cases' data-toggle='tab'><?php echo $lang->testtask->cases;?></a></li>
|
||||
<li><a href='#results' data-toggle='tab'><?php echo $lang->testtask->results;?></a></li>
|
||||
</ul>
|
||||
<div class='tab-content'>
|
||||
<div class='tab-pane active' id='desc'>
|
||||
<div class='article-content'><?php echo $task->desc;?></div>
|
||||
</div>
|
||||
<div class='tab-pane' id='testScope'>
|
||||
<?php $countStories = count($stories); $countBugs = count($bugs); ?>
|
||||
<table class='table table-hover table-condensed tablesorter mgb-20'>
|
||||
<caption class='text-left'><i class='icon-lightbulb'></i> <strong><?php echo $lang->testtask->stories;?></strong> <span class='text-muted'>(<?php echo $countStories?>)</span></caption>
|
||||
<?php if($countStories > 0):?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-pri'><?php echo $lang->priAB;?></th>
|
||||
<th><?php echo $lang->story->title;?></th>
|
||||
<th class='w-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-hour'><?php echo $lang->story->estimateAB;?></th>
|
||||
<th class='w-hour'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-100px'><?php echo $lang->story->stageAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php foreach($stories as $storyID => $story):?>
|
||||
<?php $storyLink = $this->createLink('story', 'view', "storyID=$story->id", '', true);?>
|
||||
<tr class='text-center'>
|
||||
<td><?php echo sprintf('%03d', $story->id);?></td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->story->priList, $story->pri, $story->pri);?>'><?php echo zget($lang->story->priList, $story->pri, $story->pri);?></span></td>
|
||||
<td class='text-left nobr'><?php echo html::a($storyLink,$story->title, '', "class='preview'");?></td>
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td class='<?php echo $story->status;?>'><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<?php endif;?>
|
||||
</table>
|
||||
<table class='table table-hover table-condensed tablesorter'>
|
||||
<caption class='text-left'><i class='icon-bug'></i><strong><?php echo $lang->testtask->bugs;?></strong> <span class='text-muted'><?php echo $countBugs?></span></caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'><?php echo $lang->idAB;?></th>
|
||||
<th><?php echo $lang->bug->title;?></th>
|
||||
<th class='w-100px'><?php echo $lang->bug->status;?></th>
|
||||
<th class='w-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-date'><?php echo $lang->bug->openedDateAB;?></th>
|
||||
<th class='w-user'><?php echo $lang->bug->resolvedByAB;?></th>
|
||||
<th class='w-100px'><?php echo $lang->bug->resolvedDateAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php foreach($bugs as $bug):?>
|
||||
<?php $bugLink = $this->createLink('bug', 'view', "bugID=$bug->id", '', true);?>
|
||||
<tr class='text-center'>
|
||||
<td><?php echo sprintf('%03d', $bug->id);?></td>
|
||||
<td class='text-left nobr'><?php echo html::a($bugLink, $bug->title, '', "class='preview'");?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo substr($bug->openedDate, 5, 11)?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
<td><?php echo substr($bug->resolvedDate, 5, 11)?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</div>
|
||||
<div class='tab-pane' id='cases'>
|
||||
<table class='table table-condensed table-hover table-striped table-fixed' id='caseList'>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-id'><nobr><?php echo $lang->idAB;?></nobr></th>
|
||||
<th class='w-pri'> <?php echo $lang->priAB;?></th>
|
||||
<th> <?php echo $lang->testcase->title;?></th>
|
||||
<th class='w-type'> <?php echo $lang->testcase->type;?></th>
|
||||
<th class='w-user'> <?php echo $lang->testtask->assignedTo;?></th>
|
||||
<th class='w-user'> <?php echo $lang->testtask->lastRunAccount;?></th>
|
||||
<th class='w-100px'> <?php echo $lang->testtask->lastRunTime;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->testtask->lastRunResult;?></th>
|
||||
<th class='w-status'> <?php echo $lang->statusAB;?></th>
|
||||
<th class='w-100px {sorter: false}'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class='loadAjax' id='casesList' data-url='<?php echo $this->createLink('testtask', 'cases', "taskID=$task->id&browseType=all¶m=0&orderBy=id_desc&recTotal=0&recPerPage=1000&pageID=1");?> #caseList tbody tr'>
|
||||
<tr><td colspan='10' class='text-center'><i class='icon-spin icon-spinner'></i></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class='tab-pane' id='results'>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='main'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->testtask->legendReport;?></legend>
|
||||
<div class='article-content'><?php echo $task->report;?></div>
|
||||
@@ -72,13 +164,21 @@
|
||||
<legend><?php echo $lang->testtask->legendBasicInfo;?></legend>
|
||||
<table class='table table-data table-condensed table-borderless table-fixed'>
|
||||
<tr>
|
||||
<th class='w-60px'><?php echo $lang->testtask->project;?></th>
|
||||
<th class='w-70px'><?php echo $lang->testtask->project;?></th>
|
||||
<td><?php echo html::a($this->createLink('project', 'story', "projectID=$task->project"), $task->projectName);?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testtask->build;?></th>
|
||||
<td><?php $task->build == 'trunk' ? print('Trunk') : print(html::a($this->createLink('build', 'view', "buildID=$task->build"), $task->buildName));?></td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->build->scmPath;?></th>
|
||||
<td style='word-break:break-all;'><?php strpos($build->scmPath, 'http') === 0 ? printf(html::a($build->scmPath)) : printf($build->scmPath);?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->build->filePath;?></th>
|
||||
<td style='word-break:break-all;'><?php strpos($build->filePath, 'http') === 0 ? printf(html::a($build->filePath)) : printf($build->filePath);?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->testtask->owner;?></th>
|
||||
<td><?php echo $users[$task->owner];?></td>
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
$(function(){$.ajustModalPosition('fit', $('.modal-dialog'))});
|
||||
@@ -17,7 +17,7 @@
|
||||
<strong><?php echo $lang->upgrade->confirm;?></strong>
|
||||
</div>
|
||||
<div class='modal-body'>
|
||||
<textarea rows='20' class='form-control'><?php echo $confirm;?></textarea>
|
||||
<textarea rows='20' class='form-control' readonly='readonly'><?php echo $confirm;?></textarea>
|
||||
</div>
|
||||
<div class='modal-footer'><?php echo html::submitButton($lang->upgrade->sureExecute) . html::hidden('fromVersion', $fromVersion);?></div>
|
||||
</div>
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
<strong><?php echo $lang->upgrade->warnning;?></strong>
|
||||
</div>
|
||||
<div class='modal-body'>
|
||||
<div class='alert alert-warning'>
|
||||
<div class='alert alert-warning with-icon'>
|
||||
<i class='icon-info-sign'></i>
|
||||
<div class='content'><?php echo $lang->upgrade->warnningContent;?></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='modal-footer'><?php echo html::linkButton($lang->upgrade->common, inlink('selectVersion'));?></div>
|
||||
<div class='modal-footer'><?php echo html::linkButton($lang->upgrade->common, inlink('selectVersion'), 'self', '', 'btn-primary');?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
Reference in New Issue
Block a user