Merge branch 'master' of https://github.com/easysoft/zentaopms
Conflicts: module/build/view/linkbug.html.php module/build/view/linkstory.html.php module/project/view/create.html.php module/release/view/linkbug.html.php module/release/view/linkstory.html.php
This commit is contained in:
@@ -1,18 +1,2 @@
|
||||
.cards {margin: 5% auto;}
|
||||
.cards > .col-sm-6 {width: 25%; padding: 0 10px}
|
||||
.card {height: 250px; position: relative; padding-top: 50px; border-radius: 0; margin: 0}
|
||||
.card > .media {position: absolute; left: 0; top: 0; width: 100%; background: #f1f1f1; height:50px; bottom: 0; overflow: hidden; z-index: 90; transition: all 0.4s;}
|
||||
.card > .media > .icon {position: absolute; display: block; font-size: 56px; color: #ddd; z-index: 99; bottom: -10px; right: -6px; transition: all 0.4s;}
|
||||
.card > .media > h5 {position: absolute; display: block; color: #666; z-index: 100; font-size: 14px; left: 15px; top: 10px; transition: all 0.4s;}
|
||||
.card:hover > .media {background: #F8FAFE}
|
||||
.card:hover > .media > .icon {color: #ccc}
|
||||
.card .card-content {padding: 20px; border:1px solid #f1f1f1;}
|
||||
.card-content > ul {padding-left: 20px;}
|
||||
.card-content > ul > li {margin-bottom: 5px;}
|
||||
.card a, .card:hover a {color: #444}
|
||||
.card a:hover {color: #000;}
|
||||
|
||||
#notice {margin: -20px -20px 20px}
|
||||
#titlebar {margin-top: -20px; border-top: none}
|
||||
#notice + #titlebar {margin-top: 0; border-top: 1px solid #e5e5e5}
|
||||
#proversion, #zentaotrain{color:#D2322D}
|
||||
#notice {margin: -20px -20px 20px; padding: 20px;}
|
||||
#zentaoLinks {margin-top: 20px;}
|
||||
@@ -14,21 +14,19 @@
|
||||
<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-trash"></i> ' . $lang->admin->notice->ignore, 'hiddenwin', 'class="close" data-dismiss="alert" style="font-size: 12px"');?>
|
||||
<?php echo html::a(inlink('ignore'), '<i class="icon-close icon-sm"></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
|
||||
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;
|
||||
?>
|
||||
</strong>
|
||||
</div>
|
||||
<h2>
|
||||
<?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;
|
||||
?>
|
||||
</h2>
|
||||
</div>
|
||||
<?php include '../../misc/view/links.html.php';?>
|
||||
</div>
|
||||
|
||||
@@ -242,12 +242,12 @@ class block extends control
|
||||
$block->actionLink = '';
|
||||
if($block->block == 'overview')
|
||||
{
|
||||
if($module == 'product' && common::hasPriv('product', 'create')) $block->actionLink = html::a($this->createLink('product', 'create'), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->product->create, '', "class='btn btn-sm'");
|
||||
if($module == 'project' && common::hasPriv('project', 'create')) $block->actionLink = html::a($this->createLink('project', 'create'), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->project->create, '', "class='btn btn-sm'");
|
||||
if($module == 'product' && common::hasPriv('product', 'create')) $block->actionLink = html::a($this->createLink('product', 'create'), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->product->create, '', "class='btn'");
|
||||
if($module == 'project' && common::hasPriv('project', 'create')) $block->actionLink = html::a($this->createLink('project', 'create'), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->project->create, '', "class='btn'");
|
||||
if($module == 'qa' && common::hasPriv('testcase', 'create'))
|
||||
{
|
||||
$this->app->loadLang('testcase');
|
||||
$block->actionLink = html::a($this->createLink('testcase', 'create', 'productID='), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->testcase->create, '', "class='btn btn-sm'");
|
||||
$block->actionLink = html::a($this->createLink('testcase', 'create', 'productID='), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->testcase->create, '', "class='btn'");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1015,7 +1015,7 @@ class block extends control
|
||||
}
|
||||
foreach($openedBugs as $buildBugs)
|
||||
{
|
||||
foreach($buildsBugs as $bugID => $bug) $bugIDList[$bugID] = $bugID;
|
||||
foreach($buildBugs as $bugID => $bug) $bugIDList[$bugID] = $bugID;
|
||||
}
|
||||
|
||||
$today = date(DT_DATE1);
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
.nav > li > a.btn {color: #3c4353; margin-top: 4px;}
|
||||
.nav > li > a.btn-sm {padding: 2px 8px; font-size: 12px; line-height: 1.5; border-radius: 4px;}
|
||||
.block-statistic .nav-stacked {overflow: auto; max-height: 220px;}
|
||||
.nav > li > .btn {padding: 0 5px; line-height: 24px; margin: 3px; color: #3C4353;}
|
||||
@@ -31,12 +31,8 @@ include '../../common/view/chosen.html.php';
|
||||
<?php else:?>
|
||||
<?php echo html::hidden('modules', $module);?>
|
||||
<?php endif;?>
|
||||
<!-- #blockParams 用于动态加载区块设置参数 -->
|
||||
<div id="blocksList"><?php if(!empty($blocks)) echo $blocks;?></div>
|
||||
|
||||
<!-- #blockParams 用于动态加载区块设置参数 -->
|
||||
<div id="blockParams"></div>
|
||||
|
||||
<div class="form-group form-actions">
|
||||
<div class="col-sm-7 col-sm-offset-3">
|
||||
<button type="submit" class="btn btn-wide btn-primary"><?php echo $lang->save;?></button>
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
.block-statistic .tile-title {font-size: 18px; color: #A6AAB8;}
|
||||
.block-statistic .tile-amount {font-size: 48px; margin-bottom: 10px;}
|
||||
.block-statistic .col-nav {border-left: 1px solid #EBF2FB; width: 260px; padding-left: 0;}
|
||||
.block-statistic .nav-secondary > li > a {font-size: 16px; color: #838A9D; position: relative; box-shadow: none; padding-left: 20px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; transition: all .2s;}
|
||||
.block-statistic .nav-secondary > li.active > a {font-size: 20px; color: #3C4353; background: transparent; box-shadow: none;}
|
||||
.block-statistic .nav-secondary > li > a {font-size: 14px; color: #838A9D; position: relative; box-shadow: none; padding-left: 20px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; transition: all .2s;}
|
||||
.block-statistic .nav-secondary > li.active > a {color: #3C4353; background: transparent; box-shadow: none;}
|
||||
.block-statistic .nav-secondary > li.active > a:hover,
|
||||
.block-statistic .nav-secondary > li.active > a:focus,
|
||||
.block-statistic .nav-secondary > li > a:hover {box-shadow: none;}
|
||||
|
||||
@@ -15,26 +15,8 @@
|
||||
<div class='col-sm-7'><?php echo html::input('title', $block ? $block->title : '', "class='form-control' autocomplete='off'")?></div>
|
||||
</div>
|
||||
<div class='form-group'>
|
||||
<label for='grid' class='col-sm-3'><?php echo $lang->block->style;?></label>
|
||||
<label for='grid' class='col-sm-3'><?php echo $lang->block->grid;?></label>
|
||||
<div class='col-sm-7'>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->block->grid;?></span>
|
||||
<?php echo html::select('grid', $lang->block->gridOptions, $block ? $block->grid : 8, "class='form-control chosen'")?>
|
||||
<div class='input-group-btn block'>
|
||||
<?php $btn = isset($block->params->color) ? 'btn-' . $block->params->color : 'btn-default'?>
|
||||
<button type='button' class="btn <?php echo $btn;?> dropdown-toggle" data-toggle='dropdown'>
|
||||
<?php echo $lang->block->color;?> <span class='caret'></span>
|
||||
</button>
|
||||
<?php echo html::hidden('params[color]', isset($block->params->color) ? $block->params->color : 'default');?>
|
||||
<div class='dropdown-menu buttons pull-right'>
|
||||
<li><button type='button' data-id='default' class='btn btn-block btn-default'> </li>
|
||||
<li><button type='button' data-id='primary' class='btn btn-block btn-primary'> </li>
|
||||
<li><button type='button' data-id='warning' class='btn btn-block btn-warning'> </li>
|
||||
<li><button type='button' data-id='danger' class='btn btn-block btn-danger'> </li>
|
||||
<li><button type='button' data-id='success' class='btn btn-block btn-success'> </li>
|
||||
<li><button type='button' data-id='info' class='btn btn-block btn-info'> </li>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo html::select('grid', $lang->block->gridOptions, $block ? $block->grid : 8, "class='form-control chosen chosen-simple'")?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1 +1 @@
|
||||
#linkBugsForm {min-height: 300px}
|
||||
#mainContent {min-height: 300px}
|
||||
|
||||
@@ -11,36 +11,36 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<strong><small class='text-muted'></small> <?php echo $lang->bug->common . $lang->colon . $lang->bug->batchActivate;?></strong>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->bug->common . $lang->colon . $lang->bug->batchActivate;?></h2>
|
||||
</div>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table table-fixed with-border'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-20px'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-50px'><?php echo $lang->bug->title;?></th>
|
||||
<th class='w-70px'><?php echo $lang->bug->assignedTo;?></th>
|
||||
<th class='w-70px'><?php echo $lang->bug->openedBuild;?></th>
|
||||
<th class='w-150px'><?php echo $lang->bug->legendComment;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class='text-left'>
|
||||
<?php foreach($bugs as $bug):?>
|
||||
<tr>
|
||||
<td class='text-center'><?php echo $bug->id . html::hidden("bugIDList[$bug->id]", $bug->id);?></td>
|
||||
<td><?php echo $bug->title . html::hidden("statusList[$bug->id]", $bug->status);?></td>
|
||||
<td style='overflow:visible'><?php echo html::select("assignedToList[$bug->id]", $users, $bug->resolvedBy, "class='form-control chosen'");?></td>
|
||||
<td style='overflow:visible'><?php echo html::select("openedBuildList[$bug->id]", $builds, $bug->openedBuild, 'size=4 multiple=multiple class="form-control chosen"');?></td>
|
||||
<td><?php echo html::input("commentList[$bug->id]", '', "class='form-control'");?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr><td colspan='5' class='text-center'><?php echo html::submitButton('', '', 'btn btn-primary btn-wide');?></td></tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<form class='form-condensed' method='post' target='hiddenwin'>
|
||||
<table class='table table-fixed with-border'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-20px'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-50px'><?php echo $lang->bug->title;?></th>
|
||||
<th class='w-70px'><?php echo $lang->bug->assignedTo;?></th>
|
||||
<th class='w-70px'><?php echo $lang->bug->openedBuild;?></th>
|
||||
<th class='w-150px'><?php echo $lang->bug->legendComment;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class='text-left'>
|
||||
<?php foreach($bugs as $bug):?>
|
||||
<tr>
|
||||
<td class='text-center'><?php echo $bug->id . html::hidden("bugIDList[$bug->id]", $bug->id);?></td>
|
||||
<td><?php echo $bug->title . html::hidden("statusList[$bug->id]", $bug->status);?></td>
|
||||
<td style='overflow:visible'><?php echo html::select("assignedToList[$bug->id]", $users, $bug->resolvedBy, "class='form-control chosen'");?></td>
|
||||
<td style='overflow:visible'><?php echo html::select("openedBuildList[$bug->id]", $builds, $bug->openedBuild, 'size=4 multiple=multiple class="form-control chosen"');?></td>
|
||||
<td><?php echo html::input("commentList[$bug->id]", '', "class='form-control'");?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr><td colspan='5' class='text-center'><?php echo html::submitButton();?></td></tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</h2>
|
||||
<div class="pull-right btn-toolbar">
|
||||
<?php if(common::hasPriv('file', 'uploadImages')) echo html::a($this->createLink('file', 'uploadImages', 'module=bug¶ms=' . helper::safe64Encode("productID=$productID&projectID=$projectID&moduleID=$moduleID")), $lang->uploadImages, '', "data-toggle='modal' data-type='iframe' class='btn btn-info' data-width='70%'")?>
|
||||
<?php echo html::commonButton($lang->pasteText, "data-toggle='importLinesModal'", 'btn btn-info')?>
|
||||
<button type='button' data-toggle="importLinesModal" class="btn btn-info"><?php echo $lang->pasteText;?></button>
|
||||
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustomFields', 'module=bug§ion=custom&key=batchCreateFields')?>
|
||||
<?php include '../../common/view/customfield.html.php';?>
|
||||
</div>
|
||||
|
||||
@@ -255,44 +255,6 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
$misc = common::hasPriv('bug', 'batchActivate') ? "onclick=\"setFormAction('$actionLink')\"" : $class;
|
||||
if($misc) echo "<li>" . html::a('javascript:;', $lang->bug->activate, '', $misc) . "</li>";
|
||||
|
||||
if(common::hasPriv('bug', 'batchChangeBranch') and $this->session->currentProductType != 'normal')
|
||||
{
|
||||
$withSearch = count($branches) > 8;
|
||||
echo "<li class='dropdown-submenu'>";
|
||||
echo html::a('javascript:;', $lang->product->branchName[$this->session->currentProductType], '', "id='branchItem'");
|
||||
echo "<div class='dropdown-menu" . ($withSearch ? ' with-search':'') . "'>";
|
||||
echo "<ul class='dropdown-list'>";
|
||||
foreach($branches as $branchID => $branchName)
|
||||
{
|
||||
$actionLink = $this->createLink('bug', 'batchChangeBranch', "branchID=$branchID");
|
||||
echo "<li class='option' data-key='$branchID'>" . html::a('#', $branchName, '', "onclick=\"setFormAction('$actionLink', 'hiddenwin')\"") . "</li>";
|
||||
}
|
||||
echo '</ul>';
|
||||
if($withSearch) echo "<div class='menu-search'><div class='input-group input-group-sm'><input type='text' class='form-control' placeholder=''><span class='input-group-addon'><i class='icon-search'></i></span></div></div>";
|
||||
echo '</div></li>';
|
||||
}
|
||||
|
||||
if(common::hasPriv('bug', 'batchChangeModule'))
|
||||
{
|
||||
$withSearch = count($modules) > 8;
|
||||
echo "<li class='dropdown-submenu'>";
|
||||
echo html::a('javascript:;', $lang->bug->moduleAB, '', "id='moduleItem'");
|
||||
echo "<div class='dropdown-menu" . ($withSearch ? ' with-search':'') . "'>";
|
||||
echo '<ul class="dropdown-list">';
|
||||
foreach($modules as $moduleId => $module)
|
||||
{
|
||||
$actionLink = $this->createLink('bug', 'batchChangeModule', "moduleID=$moduleId");
|
||||
echo "<li class='option' data-key='$moduleID'>" . html::a('#', $module, '', "onclick=\"setFormAction('$actionLink','hiddenwin')\"") . "</li>";
|
||||
}
|
||||
echo "</ul>";
|
||||
if($withSearch) echo "<div class='menu-search'><div class='input-group input-group-sm'><input type='text' class='form-control' placeholder=''><span class='input-group-addon'><i class='icon-search'></i></span></div></div>";
|
||||
echo '</div></li>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<li>' . html::a('javascript:;', $lang->bug->moduleAB, '', $class) . '</li>';
|
||||
}
|
||||
|
||||
$misc = common::hasPriv('bug', 'batchResolve') ? "id='resolveItem'" : '';
|
||||
if($misc)
|
||||
{
|
||||
@@ -330,37 +292,89 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
}
|
||||
echo '</ul></li>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<li>" . html::a('javascript:;', $lang->bug->resolve, '', $class);
|
||||
}
|
||||
|
||||
$canBatchAssignTo = common::hasPriv('bug', 'batchAssignTo');
|
||||
if($canBatchAssignTo && count($bugs))
|
||||
{
|
||||
$withSearch = count($memberPairs) > 10;
|
||||
$actionLink = $this->createLink('bug', 'batchAssignTo', "productID={$productID}&type=product");
|
||||
echo html::select('assignedTo', $memberPairs, '', 'class="hidden"');
|
||||
echo "<li class='dropdown-submenu'>";
|
||||
echo html::a('javascript::', $lang->bug->assignedTo, 'id="assignItem"');
|
||||
echo "<div class='dropdown-menu" . ($withSearch ? ' with-search':'') . "'>";
|
||||
echo '<ul class="dropdown-list">';
|
||||
foreach ($memberPairs as $key => $value)
|
||||
{
|
||||
if(empty($key)) continue;
|
||||
echo "<li class='option' data-key='$key'>" . html::a("javascript:$(\"#assignedTo\").val(\"$key\");setFormAction(\"$actionLink\",\"hiddenwin\")", $value, '', '') . '</li>';
|
||||
}
|
||||
echo "</ul>";
|
||||
if($withSearch) echo "<div class='menu-search'><div class='input-group input-group-sm'><input type='text' class='form-control' placeholder=''><span class='input-group-addon'><i class='icon-search'></i></span></div></div>";
|
||||
echo "</div></li>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<li>" . html::a('javascript:;', $lang->bug->assignedTo, '', $class);
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php if(common::hasPriv('bug', 'batchChangeBranch') and $this->session->currentProductType != 'normal'):?>
|
||||
<div class="btn-group dropup">
|
||||
<button data-toggle="dropdown" type="button" class="btn"><?php echo $lang->product->branchName[$this->session->currentProductType];?> <span class="caret"></span></button>
|
||||
<?php $withSearch = count($branches) > 8;?>
|
||||
<?php if($withSearch):?>
|
||||
<div class="dropdown-menu search-list" data-ride="searchList">
|
||||
<div class="input-control search-box search-box-circle has-icon-left has-icon-right search-example">
|
||||
<input id="userSearchBox" type="search" autocomplete="off" class="form-control search-input">
|
||||
<label for="userSearchBox" class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label>
|
||||
<a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div class="dropdown-menu">
|
||||
<?php endif;?>
|
||||
<div class="list-group">
|
||||
<?php
|
||||
foreach($branches as $branchID => $branchName)
|
||||
{
|
||||
$actionLink = $this->createLink('bug', 'batchChangeBranch', "branchID=$branchID");
|
||||
echo html::a('#', $branchName, '', "onclick=\"setFormAction('$actionLink', 'hiddenwin')\" data-key='$branchID'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php if(common::hasPriv('bug', 'batchChangeModule')):?>
|
||||
<div class="btn-group dropup">
|
||||
<button data-toggle="dropdown" type="button" class="btn"><?php echo $lang->bug->moduleAB;?> <span class="caret"></span></button>
|
||||
<?php $withSearch = count($modules) > 8;?>
|
||||
<?php if($withSearch):?>
|
||||
<div class="dropdown-menu search-list" data-ride="searchList">
|
||||
<div class="input-control search-box search-box-circle has-icon-left has-icon-right search-example">
|
||||
<input id="userSearchBox" type="search" autocomplete="off" class="form-control search-input">
|
||||
<label for="userSearchBox" class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label>
|
||||
<a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div class="dropdown-menu">
|
||||
<?php endif;?>
|
||||
<div class="list-group">
|
||||
<?php
|
||||
foreach($modules as $moduleId => $module)
|
||||
{
|
||||
$actionLink = $this->createLink('bug', 'batchChangeModule', "moduleID=$moduleId");
|
||||
echo html::a('#', $module, '', "onclick=\"setFormAction('$actionLink','hiddenwin')\" data-key='$moduleID'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php if(common::hasPriv('bug', 'batchAssignTo')):?>
|
||||
<div class="btn-group dropup">
|
||||
<button data-toggle="dropdown" type="button" class="btn"><?php echo $lang->bug->assignedTo;?> <span class="caret"></span></button>
|
||||
<?php $withSearch = count($memberPairs) > 10;?>
|
||||
<?php if($withSearch):?>
|
||||
<div class="dropdown-menu search-list" data-ride="searchList">
|
||||
<div class="input-control search-box search-box-circle has-icon-left has-icon-right search-example">
|
||||
<input id="userSearchBox" type="search" autocomplete="off" class="form-control search-input">
|
||||
<label for="userSearchBox" class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label>
|
||||
<a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div class="dropdown-menu">
|
||||
<?php endif;?>
|
||||
<div class="list-group">
|
||||
<?php
|
||||
$actionLink = $this->createLink('bug', 'batchAssignTo', "productID={$productID}&type=product");
|
||||
echo html::select('assignedTo', $memberPairs, '', 'class="hidden"');
|
||||
foreach ($memberPairs as $key => $value)
|
||||
{
|
||||
if(empty($key)) continue;
|
||||
echo html::a("javascript:$(\"#assignedTo\").val(\"$key\");setFormAction(\"$actionLink\",\"hiddenwin\")", $value, '', "data-key='$key'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<?php $pager->show('right', 'pagerjs');?>
|
||||
</div>
|
||||
|
||||
@@ -264,8 +264,11 @@ js::set('oldResolvedBuild' , $bug->resolvedBuild);
|
||||
<tbody>
|
||||
<tr class='text-top'>
|
||||
<th class='w-80px'><?php echo $lang->bug->linkBug;?></th>
|
||||
<td><?php echo html::a($this->createLink('bug', 'linkBugs', "bugID=$bug->id", '', true), $lang->bug->linkBugs, '', "data-toggle='modal' data-type='iframe' data-width='95%'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<td>
|
||||
<?php echo html::a($this->createLink('bug', 'linkBugs', "bugID=$bug->id", '', true), $lang->bug->linkBugs, '', "data-toggle='modal' data-type='iframe' data-width='95%'");?>
|
||||
<ul class='list-unstyled' id='linkBugBox'>
|
||||
<?php
|
||||
if(isset($bug->linkBugTitles))
|
||||
|
||||
@@ -11,65 +11,66 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='container'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['bug']);?> <strong><?php echo $bug->id;?></strong></span>
|
||||
<strong><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title, '_blank');?></strong>
|
||||
<small class='text-muted'> <?php echo $lang->bug->linkBugs;?> <?php echo html::icon($lang->icons['link']);?></small>
|
||||
</div>
|
||||
<div id='querybox' class='show'></div>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='label label-id'><?php echo $bug->id;?></span>
|
||||
<?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title, '_blank');?>
|
||||
<small class='text-muted'> <?php echo $lang->arrow . $lang->bug->linkBugs;?></small>
|
||||
</h2>
|
||||
</div>
|
||||
<form method='post' class='form-condensed' target='hiddenwin' id='linkBugsForm'>
|
||||
<table class='table table-condensed table-hover table-striped tablesorter table-selectable' id='bugList'>
|
||||
<?php if($bugs2Link):?>
|
||||
<div id='queryBox' class='show'></div>
|
||||
<?php if($bugs2Link):?>
|
||||
<form class='main-table' method='post' data-ride='table' target='hiddenwin' id='linkBugsForm'>
|
||||
<table class='table' id='bugList'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-pri'><?php echo $lang->priAB;?></th>
|
||||
<th><?php echo $lang->bug->product;?></th>
|
||||
<th><?php echo $lang->bug->title;?></th>
|
||||
<th><?php echo $lang->bug->statusAB;?></th>
|
||||
<th class='w-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-user'><?php echo $lang->assignedToAB;?></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="c-id">
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
</div>
|
||||
<?php echo $lang->idAB;?>
|
||||
</th>
|
||||
<th class='c-pri'><?php echo $lang->priAB;?></th>
|
||||
<th><?php echo $lang->bug->product;?></th>
|
||||
<th><?php echo $lang->bug->title;?></th>
|
||||
<th class='w-status'><?php echo $lang->bug->statusAB;?></th>
|
||||
<th class='w-100px'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-100px'><?php echo $lang->assignedToAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $bugCount = 0;?>
|
||||
<?php foreach($bugs2Link as $bug2Link):?>
|
||||
<?php $bugLink = $this->createLink('bug', 'view', "bugID=$bug2Link->id");?>
|
||||
<tr class='text-center'>
|
||||
<td class='cell-id'>
|
||||
<input type='checkbox' name='bugs[]' value='<?php echo $bug2Link->id;?>'/>
|
||||
<?php echo html::a($bugLink, sprintf('%03d', $bug2Link->id));?>
|
||||
</td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->bug->priList, $bug2Link->pri, $bug2Link->pri)?>'><?php echo zget($lang->bug->priList, $bug2Link->pri, $bug2Link->pri);?></span></td>
|
||||
<td><?php echo html::a($this->createLink('product', 'browse', "productID=$bug2Link->product&branch=$bug2Link->branch"), $products[$bug2Link->product], '_blank');?></td>
|
||||
<td class='text-left nobr' title="<?php echo $bug2Link->title?>"><?php echo html::a($bugLink, $bug2Link->title);?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td><?php echo $users[$bug2Link->openedBy];?></td>
|
||||
<td><?php echo $users[$bug2Link->assignedTo];?></td>
|
||||
</tr>
|
||||
<?php $bugCount ++;?>
|
||||
<?php endforeach;?>
|
||||
<?php $bugCount = 0;?>
|
||||
<?php foreach($bugs2Link as $bug2Link):?>
|
||||
<?php $bugLink = $this->createLink('bug', 'view', "bugID=$bug2Link->id");?>
|
||||
<tr>
|
||||
<td class='c-id'>
|
||||
<div class="checkbox-primary">
|
||||
<input type='checkbox' name='bugs[]' value='<?php echo $bug2Link->id;?>'/>
|
||||
<label></label>
|
||||
</div>
|
||||
<?php printf('%03d', $bug2Link->id);?>
|
||||
</td>
|
||||
<td><span class='label-pri <?php echo 'label-pri-' . $bug2Link->pri?>'><?php echo zget($lang->bug->priList, $bug2Link->pri, $bug2Link->pri);?></span></td>
|
||||
<td><?php echo html::a($this->createLink('product', 'browse', "productID=$bug2Link->product&branch=$bug2Link->branch"), $products[$bug2Link->product], '_blank');?></td>
|
||||
<td class='text-left nobr' title="<?php echo $bug2Link->title?>"><?php echo html::a($bugLink, $bug2Link->title);?></td>
|
||||
<td><?php echo zget($lang->bug->statusList, $bug->status, '');?></td>
|
||||
<td><?php echo zget($users, $bug2Link->openedBy);?></td>
|
||||
<td><?php echo zget($users, $bug2Link->assignedTo);?></td>
|
||||
</tr>
|
||||
<?php $bugCount ++;?>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan='7' class='text-left'>
|
||||
<div class='table-actions clearfix'>
|
||||
<?php if($bugCount) echo html::selectButton() . html::submitButton();?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='hidden'><?php echo html::input('bug', $bug->id);?></td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<?php endif;?>
|
||||
</table>
|
||||
<div class='table-footer'>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar"><?php echo html::submitButton();?></div>
|
||||
<?php echo html::hidden('bug', $bug->id);?>
|
||||
</div>
|
||||
</form>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<script type='text/javascript'>
|
||||
<script>
|
||||
$(function(){ajaxGetSearchForm();});
|
||||
</script>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
</div>
|
||||
<table class='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($allBugs):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -28,26 +28,31 @@
|
||||
<?php echo $lang->idAB;?>
|
||||
</th>
|
||||
<th class='w-pri'> <?php echo $lang->priAB;?></th>
|
||||
<th> <?php echo $lang->bug->title;?></th>
|
||||
<th class='text-left'><?php echo $lang->bug->title;?></th>
|
||||
<th class='w-user'> <?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-150px'><?php echo $lang->bug->resolvedBy;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->statusAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php $unlinkedCount = 0;?>
|
||||
<?php foreach($allBugs as $bug):?>
|
||||
<?php if(strpos(",{$build->bugs},", ",$bug->id,") !== false) continue;?>
|
||||
<?php if($build->product != $bug->product) continue; ?>
|
||||
<tr>
|
||||
<td class='cell-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php echo html::checkbox('bugs', array($bug->id => sprintf('%03d', $bug->id)), ($bug->status == 'resolved' or $bug->status == 'closed') ? $bug->id : '');?>
|
||||
</td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->bug->priList, $bug->pri, $bug->pri);?>'><?php echo zget($lang->bug->priList, $bug->pri, $bug->pri)?></span></td>
|
||||
<td><span class='label-pri label-pri-<?php echo $bug->pri;?>'><?php echo zget($lang->bug->priList, $bug->pri, $bug->pri)?></span></td>
|
||||
<td class='text-left nobr' title='<?php echo $bug->title?>'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id", '', true), $bug->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td style='overflow:visible;padding-top:1px;padding-bottom:1px;'><?php echo ($bug->status == 'resolved' or $bug->status == 'closed') ? $users[$bug->resolvedBy] : html::select("resolvedBy[{$bug->id}]", $users, $this->app->user->account, "class='form-control chosen'");?></td>
|
||||
<td class='text-center bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<span class='bug-status-<?php echo $bug->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->bug->statusList[$bug->status];?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php $unlinkedCount++;?>
|
||||
<?php endforeach;?>
|
||||
@@ -57,7 +62,11 @@
|
||||
<?php if($unlinkedCount):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar">
|
||||
<<<<<<< HEAD
|
||||
<?php echo html::submitButton($lang->build->linkBug, '', 'btn btn-default');?>
|
||||
=======
|
||||
<?php echo html::submitButton($lang->build->linkBug, '', 'btn');?>
|
||||
>>>>>>> d31cb467eea5b5badeb0fe21a7c21ac7e1b3b15e
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php echo html::a(inlink('view', "buildID={$build->id}&type=bug"), $lang->goback, '', "class='btn'");?>
|
||||
@@ -68,6 +77,5 @@
|
||||
$(function()
|
||||
{
|
||||
ajaxGetSearchForm('#bugs .linkBox #querybox');
|
||||
setModal();
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
</div>
|
||||
<table class='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($allStories):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -27,31 +27,36 @@
|
||||
<?php endif;?>
|
||||
<?php echo $lang->idAB;?>
|
||||
</th>
|
||||
<th class='w-pri'> <?php echo $lang->priAB;?></th>
|
||||
<th class='c-pri'> <?php echo $lang->priAB;?></th>
|
||||
<th class="text-left"><?php echo $lang->story->title;?></th>
|
||||
<th class='w-user'> <?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-user'> <?php echo $lang->assignedToAB;?></th>
|
||||
<th class='c-user'> <?php echo $lang->openedByAB;?></th>
|
||||
<th class='c-user'> <?php echo $lang->assignedToAB;?></th>
|
||||
<th class='w-60px'> <?php echo $lang->story->estimateAB;?></th>
|
||||
<th class='w-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='c-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-80px'> <?php echo $lang->story->stageAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php $unlinkedCount = 0;?>
|
||||
<?php foreach($allStories as $story):?>
|
||||
<?php if(strpos(",{$build->stories},", ",{$story->id},") !== false) continue; ?>
|
||||
<?php if($build->product != $story->product) continue; ?>
|
||||
<tr>
|
||||
<td class='cell-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php echo html::checkbox('stories', array($story->id => sprintf('%03d', $story->id)), ($story->stage == 'developed' or $story->status == 'closed') ? $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><span class='label-pri label-pri-<?php echo $story->pri;?>'><?php echo zget($lang->story->priList, $story->pri, $story->pri)?></span></td>
|
||||
<td class='text-left nobr' title='<?php echo $story->title?>'><?php echo html::a($this->createLink('story', 'view', "storyID=$story->id", '', true), $story->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?></td>
|
||||
<td class='text-center'><?php echo $users[$story->openedBy];?></td>
|
||||
<td class='text-center'><?php echo $users[$story->assignedTo];?></td>
|
||||
<td class='text-center'><?php echo $story->estimate;?></td>
|
||||
<td class='text-center story-<?php echo $story->status?>'><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td class='text-center'><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
<td><?php echo $users[$story->assignedTo];?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td>
|
||||
<span class='story-status-<?php echo $story->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->story->statusList[$story->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
</tr>
|
||||
<?php $unlinkedCount++;?>
|
||||
<?php endforeach;?>
|
||||
@@ -61,7 +66,11 @@
|
||||
<?php if($unlinkedCount):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar">
|
||||
<<<<<<< HEAD
|
||||
<?php echo html::submitButton($lang->build->linkStory, '', 'btn btn-default');?>
|
||||
=======
|
||||
<?php echo html::submitButton($lang->build->linkStory, '', 'btn');?>
|
||||
>>>>>>> d31cb467eea5b5badeb0fe21a7c21ac7e1b3b15e
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php echo html::a(inlink('view', "buildID={$build->id}&type=story"), $lang->goback, '', "class='btn'");?>
|
||||
@@ -72,6 +81,5 @@
|
||||
$(function()
|
||||
{
|
||||
ajaxGetSearchForm('#stories .linkBox #querybox');
|
||||
setModal();
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -91,8 +91,8 @@ tbody tr td:first-child input{display:none;}
|
||||
<?php $canBatchUnlink = common::hasPriv('build', 'batchUnlinkStory');?>
|
||||
<?php $vars = "buildID={$build->id}&type=story&link=$link¶m=$param&orderBy=%s";?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -102,29 +102,34 @@ tbody tr td:first-child input{display:none;}
|
||||
</th>
|
||||
<th class='w-70px'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class='text-left'><?php common::printOrderLink('title', $orderBy, $vars, $lang->story->title);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-70px'> <?php common::printOrderLink('estimate', $orderBy, $vars, $lang->story->estimateAB);?></th>
|
||||
<th class='w-70px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->statusAB);?></th>
|
||||
<th class='w-100px'> <?php common::printOrderLink('stage', $orderBy, $vars, $lang->story->stageAB);?></th>
|
||||
<th class='w-60px'> <?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php foreach($stories as $storyID => $story):?>
|
||||
<?php $storyLink = $this->createLink('story', 'view', "storyID=$story->id", '', true);?>
|
||||
<tr>
|
||||
<td class='cell-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<?php echo html::checkbox('unlinkStories', array($story->id => sprintf('%03d', $story->id)));?>
|
||||
<?php else:?>
|
||||
<?php printf('%03d', $story->id);?>
|
||||
<?php endif;?>
|
||||
</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><span class='label-pri label-pri-<?php echo $story->pri;?>'><?php echo zget($lang->story->priList, $story->pri, $story->pri);?></span></td>
|
||||
<td class='text-left nobr' title='<?php echo $story->title?>'><?php echo html::a($storyLink,$story->title, '', "class='preview'");?></td>
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
<td class='text-center'><?php echo $story->estimate;?></td>
|
||||
<td class='story-<?php echo $story->status;?>'><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td>
|
||||
<span class='story-status-<?php echo $story->status;?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->story->statusList[$story->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
@@ -144,7 +149,7 @@ tbody tr td:first-child input{display:none;}
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php echo html::submitButton($lang->build->batchUnlink);?>
|
||||
<?php echo html::submitButton($lang->build->batchUnlink, '', 'btn');?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div class='text'><?php echo sprintf($lang->build->finishStories, $countStories);?></div>
|
||||
@@ -162,8 +167,8 @@ tbody tr td:first-child input{display:none;}
|
||||
<?php $canBatchUnlink = common::hasPriv('build', 'batchUnlinkBug');?>
|
||||
<?php $vars = "buildID={$build->id}&type=bug&link=$link¶m=$param&orderBy=%s";?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -173,26 +178,30 @@ tbody tr td:first-child input{display:none;}
|
||||
</th>
|
||||
<th class='text-left'><?php common::printOrderLink('title', $orderBy, $vars, $lang->bug->title);?></th>
|
||||
<th class='w-100px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->bug->status);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-date'> <?php common::printOrderLink('openedDate', $orderBy, $vars, $lang->bug->openedDateAB);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('resolvedBy', $orderBy, $vars, $lang->bug->resolvedByAB);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='c-date'> <?php common::printOrderLink('openedDate', $orderBy, $vars, $lang->bug->openedDateAB);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('resolvedBy', $orderBy, $vars, $lang->bug->resolvedByAB);?></th>
|
||||
<th class='w-100px'> <?php common::printOrderLink('resolvedDate', $orderBy, $vars, $lang->bug->resolvedDateAB);?></th>
|
||||
<th class='w-60px'> <?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php foreach($bugs as $bug):?>
|
||||
<?php $bugLink = $this->createLink('bug', 'view', "bugID=$bug->id", '', true);?>
|
||||
<tr class='text-center'>
|
||||
<td class='cell-id'>
|
||||
<tr>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<input type='checkbox' name='unlinkBugs[]' value='<?php echo $bug->id;?>'/>
|
||||
<?php echo html::checkbox('unlinkBugs', array($bug->id => sprintf('%03d', $bug->id)));?>
|
||||
<?php else:?>
|
||||
<?php printf('%03d', $bug->id);?>
|
||||
<?php endif;?>
|
||||
<td class='text-left nobr' title='<?php echo $bug->title?>'><?php echo html::a($bugLink, $bug->title, '', "class='preview'");?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<span class='bug-status-<?php echo $bug->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->bug->statusList[$bug->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo substr($bug->openedDate, 5, 11)?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
@@ -215,7 +224,7 @@ tbody tr td:first-child input{display:none;}
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php echo html::submitButton($lang->build->batchUnlink);?>
|
||||
<?php echo html::submitButton($lang->build->batchUnlink, '', 'btn');?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div class='text'><?php echo sprintf($lang->build->resolvedBugs, $countBugs);?></div>
|
||||
@@ -227,25 +236,32 @@ tbody tr td:first-child input{display:none;}
|
||||
<table class='main-table table has-sort-head'>
|
||||
<?php $vars = "buildID={$build->id}&type=newbug&link=$link¶m=$param&orderBy=%s";?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'><?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th class='w-severity'><?php common::printOrderLink('severity', $orderBy, $vars, $lang->bug->severityAB);?></th>
|
||||
<th class='text-left'> <?php common::printOrderLink('title', $orderBy, $vars, $lang->bug->title);?></th>
|
||||
<th class='w-100px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->bug->status);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-date'> <?php common::printOrderLink('openedDate', $orderBy, $vars, $lang->bug->openedDateAB);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('resolvedBy', $orderBy, $vars, $lang->bug->resolvedByAB);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='c-date'> <?php common::printOrderLink('openedDate', $orderBy, $vars, $lang->bug->openedDateAB);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('resolvedBy', $orderBy, $vars, $lang->bug->resolvedByAB);?></th>
|
||||
<th class='w-100px'> <?php common::printOrderLink('resolvedDate', $orderBy, $vars, $lang->bug->resolvedDateAB);?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php foreach($generatedBugs as $bug):?>
|
||||
<?php $bugLink = $this->createLink('bug', 'view', "bugID=$bug->id", '', true);?>
|
||||
<tr class='text-center'>
|
||||
<td><?php printf('%03d', $bug->id);?></td>
|
||||
<td><span class='severity<?php echo zget($lang->bug->severityList, $bug->severity, $bug->severity)?>'><?php echo zget($lang->bug->severityList, $bug->severity, $bug->severity);?></span></td>
|
||||
<tr>
|
||||
<td class='text-left'><?php printf('%03d', $bug->id);?></td>
|
||||
<td>
|
||||
<span class='label-severity' data-severity='<?php echo $bug->severity;?>' title='<?php echo zget($lang->bug->severityList, $bug->severity, $bug->severity);?>'></span>
|
||||
</td>
|
||||
<td class='text-left nobr' title='<?php echo $bug->title?>'><?php echo html::a($bugLink, $bug->title, '', "class='preview'");?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<span class='bug-status-<?php echo $bug->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->bug->statusList[$bug->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo substr($bug->openedDate, 5, 11)?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
|
||||
@@ -245,7 +245,7 @@ class commonModel extends model
|
||||
if(!$isGuest)
|
||||
{
|
||||
echo '<li class="user-profile-item">';
|
||||
echo "<a href='". helper::createLink('my', 'profile', '', '', true) . "' class='iframe" . (!empty($app->user->role) && isset($lang->user->roleList[$app->user->role]) ? '' : ' no-role') . "'>";
|
||||
echo "<a href='". helper::createLink('my', 'profile', '', '', true) . "' class='iframe" . (!empty($app->user->role) && isset($lang->user->roleList[$app->user->role]) ? '' : ' no-role') . "' data-width='600'>";
|
||||
echo "<div class='avatar avatar bg-info avatar-circle'>" . strtoupper($app->user->account{0}) . "</div>\n";
|
||||
echo '<div class="user-profile-name">' . (empty($app->user->realname) ? $app->user->account : $app->user->realname) . '</div>';
|
||||
if(isset($lang->user->roleList[$app->user->role])) echo '<div class="user-profile-role">' . $lang->user->roleList[$app->user->role] . '</div>';
|
||||
|
||||
@@ -7,7 +7,7 @@ tbody.sortable-sorting > tr {transition: all .2s; position: relative; z-index: 5
|
||||
tbody.sortable-sorting {cursor: move;}
|
||||
tbody.sortable-sorting > tr.drag-row {opacity: 1; z-index: 10; box-shadow: 0 2px 4px red}
|
||||
tbody.sortable-sorting > tr.drag-row + tr > td {box-shadow: inset 0 4px 2px rgba(0,0,0,.2)}
|
||||
tbody.sortable-sorting > tr.drag-row > td {background-color: #edf3fe!important}
|
||||
tbody.sortable-sorting > tr.drag-row > td {background-color: #E9F2FB!important}
|
||||
tbody.sortable > tr.drop-success > td {background-color: #cfe0ff; transition: background-color 2s;}
|
||||
</style>
|
||||
<script>
|
||||
|
||||
@@ -83,7 +83,7 @@ $sessionString .= session_name() . '=' . session_id();
|
||||
|
||||
echo "<span class='right-icon'>";
|
||||
common::printLink('file', 'edit', "fileID=$file->id", "<i class='icon-pencil'></i>", '', "class='edit btn-icon' title='{$lang->file->edit}'");
|
||||
if(common::hasPriv('file', 'delete')) echo html::a('###', "<i class='icon-sm icon-close'></i>", '', "class='btn-icon' onclick='deleteFile($file->id)' title='$lang->delete'");
|
||||
if(common::hasPriv('file', 'delete')) echo html::a('###', "<i class='icon-trash'></i>", '', "class='btn-icon' onclick='deleteFile($file->id)' title='$lang->delete'");
|
||||
echo '</span>';
|
||||
echo '</li>';
|
||||
}
|
||||
|
||||
@@ -22,18 +22,23 @@ js::set('uid', $uid);
|
||||
#uploader{padding: 20px;}
|
||||
#uploader > span{display:block; margin-bottom:10px; color: #29a8cd;}
|
||||
</style>
|
||||
<div class='uploader' id='uploader' data-url='<?php echo inlink('uploadImages', "module=$module¶ms=$params&uid=$uid");?>'>
|
||||
<div class='uploader-message text-center'>
|
||||
<div class='content'></div>
|
||||
<button type='button' class='close'>×</button>
|
||||
<div class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->file->uploadImages;?></h2>
|
||||
</div>
|
||||
<div class='uploader-files file-list file-list-grid' data-drag-placeholder="<?php echo $lang->file->dragFile;?>"></div>
|
||||
<hr/>
|
||||
<span><?php echo $this->lang->file->uploadImagesExplain?></span>
|
||||
<div class='uploader-footer'>
|
||||
<div class='uploader-status pull-right text-muted'></div>
|
||||
<button type='button' class='btn btn-primary uploader-btn-browse'><i class='icon icon-plus'></i><?php echo $lang->file->addFile;?></button>
|
||||
<button type='button' class='btn btn-success uploader-btn-start'><i class='icon icon-cloud-upload'></i><?php echo $lang->file->beginUpload;?></button>
|
||||
<div class='uploader' id='uploader' data-url='<?php echo inlink('uploadImages', "module=$module¶ms=$params&uid=$uid");?>'>
|
||||
<div class='uploader-message text-center'>
|
||||
<div class='content'></div>
|
||||
<button type='button' class='close'>×</button>
|
||||
</div>
|
||||
<div class='uploader-files file-list file-list-grid' data-drag-placeholder="<?php echo $lang->file->dragFile;?>"></div>
|
||||
<hr/>
|
||||
<span><?php echo $this->lang->file->uploadImagesExplain?></span>
|
||||
<div class='uploader-footer'>
|
||||
<div class='uploader-status pull-right text-muted'></div>
|
||||
<button type='button' class='btn btn-primary uploader-btn-browse'><i class='icon icon-plus'></i><?php echo $lang->file->addFile;?></button>
|
||||
<button type='button' class='btn btn-success uploader-btn-start'><i class='icon icon-cloud-upload'></i><?php echo $lang->file->beginUpload;?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
@@ -1,19 +1,4 @@
|
||||
.cards {padding-bottom: 0;}
|
||||
.cards > .col-sm-6 {width: 25%; padding: 0 10px}
|
||||
.card {height: 225px; position: relative; padding-top: 50px; margin: 0}
|
||||
.card > .media {position: absolute; left: 0; top: 0; width: 100%; background: #f1f1f1; height:50px; bottom: 0; overflow: hidden; z-index: 90; transition: all 0.4s;}
|
||||
.card > .media > .icon {position: absolute; display: block; font-size: 56px; color: #ddd; z-index: 99; bottom: -10px; right: -6px; transition: all 0.4s;}
|
||||
.card > .media > h5 {position: absolute; display: block; color: #666; z-index: 100; font-size: 14px; left: 15px; top: 10px; transition: all 0.4s;}
|
||||
.card:hover > .media {background: #e5e5e5}
|
||||
.card:hover > .media > .icon {color: #ccc}
|
||||
.card .card-content {padding: 10px 20px}
|
||||
.card-content > ul {padding-left: 8px;}
|
||||
.card-content > ul > li {margin-bottom: 5px;}
|
||||
.card a, .card:hover a {color: #444}
|
||||
.card a:hover {color: #000;}
|
||||
|
||||
body {padding: 20px; font-size: 12px}
|
||||
.modal-dialog.hide-header .modal-header .close {top: 5px; right: 20px}
|
||||
.copyright {padding: 0 10px 20px}
|
||||
|
||||
#proversion, #zentaotrain{color:#D2322D}
|
||||
#mainContent {padding-top: 50px;}
|
||||
#mainContent .main-header {display: none;}
|
||||
#mainContent .copyright {line-height: 20px;}
|
||||
#mainContent .copyright a {vertical-align: baseline;}
|
||||
@@ -1,21 +1,25 @@
|
||||
<?php include '../../common/view/header.lite.html.php';?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->misc->zentao->labels['about'];?></h2>
|
||||
<main id="main">
|
||||
<div class="container">
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->misc->zentao->labels['about'];?></h2>
|
||||
</div>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<td class='text-center w-160px'>
|
||||
<img src='theme/default/images/main/logo2.png' />
|
||||
<h4><?php printf($lang->misc->zentao->version, $config->version);?></h4>
|
||||
</td>
|
||||
<td><?php include './links.html.php';?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class="copyright text-right text-middle">
|
||||
<?php echo $lang->misc->copyright;?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<td class='text-center w-160px'>
|
||||
<img src='theme/default/images/main/logo2.png' />
|
||||
<h4><?php printf($lang->misc->zentao->version, $config->version);?></h4>
|
||||
</td>
|
||||
<td><?php include './links.html.php';?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<div class='text-right copyright'><?php echo $lang->misc->copyright;?></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</main>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
<div class='container mw-800px bd-0'>
|
||||
<div class='cards'>
|
||||
<div class='container mw-800px' id="zentaoLinks">
|
||||
<div class='row'>
|
||||
<?php unset($lang->misc->zentao->version);?>
|
||||
<?php foreach($lang->misc->zentao as $label => $groupItems):?>
|
||||
<?php if(strpos(',labels,icons,version,', ",$label,") !== false) continue; ?>
|
||||
<div class='col-sm-6'>
|
||||
<div class='card card-<?php echo $label;?>'>
|
||||
<div class='media'>
|
||||
<?php echo html::icon($lang->misc->zentao->icons[$label], 'icon');?>
|
||||
<h5><?php echo $lang->misc->zentao->labels[$label];?></h5>
|
||||
<div class='col-sm-3'>
|
||||
<div class='panel'>
|
||||
<div class='panel-heading'>
|
||||
<div class="panel-title"><?php echo $lang->misc->zentao->labels[$label];?></div>
|
||||
</div>
|
||||
<div class='card-content'>
|
||||
<div class='panel-body'>
|
||||
<ul>
|
||||
<?php foreach($groupItems as $item => $label):?>
|
||||
<li><?php echo html::a($lang->misc->api . "/goto.php?item=$item&from=about", $label, '_blank', "id='$item'");;?></li>
|
||||
@@ -21,3 +20,11 @@
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
#proversion, #zentaotrain {color: #ff5d5d}
|
||||
#zentaoLinks .panel {box-shadow: 0 2px 4px 0 rgba(240,242,246,0.50); border: 1px solid #eee; min-height: 230px;}
|
||||
#zentaoLinks .panel-heading {background: #eeeeee; color: #666;}
|
||||
#zentaoLinks .panel-body {padding: 10px;}
|
||||
#zentaoLinks ul {}
|
||||
#zentaoLinks ul > li {line-height: 24px;}
|
||||
</style>
|
||||
@@ -596,7 +596,7 @@ class productModel extends model
|
||||
|
||||
foreach($plans as $plan)
|
||||
{
|
||||
if($plan->end != '0000-00-00' and strtotime($plan->end) - time() <= 0) continue;
|
||||
if(($plan->end != '0000-00-00' and strtotime($plan->end) - time() <= 0) or $plan->end == '2030-01-01') continue;
|
||||
$year = substr($plan->end, 0, 4);
|
||||
$roadmap[$year][$plan->branch][] = $plan;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/sortable.html.php';?>
|
||||
<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');?>
|
||||
@@ -86,7 +87,7 @@
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class="sortable" id="productTableList">
|
||||
<?php foreach($productStats as $product):?>
|
||||
<tr data-id='<?php echo $product->id ?>' data-order='<?php echo $product->code;?>'>
|
||||
<td class='c-id'>
|
||||
@@ -96,7 +97,7 @@
|
||||
<?php printf('%03d', $product->id);?>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
<td title='<?php echo $product->name?>'><?php echo html::a($this->createLink('product', 'view', 'product=' . $product->id), $product->name);?></td>
|
||||
<td class="c-name" title='<?php echo $product->name?>'><?php echo html::a($this->createLink('product', 'view', 'product=' . $product->id), $product->name);?></td>
|
||||
<td title='<?php echo zget($lines, $product->line, '')?>'><?php echo zget($lines, $product->line, '');?></td>
|
||||
<td class='text-center'><?php echo $product->stories['active'];?></td>
|
||||
<td class='text-center'><?php echo $product->stories['changed'];?></td>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
$proudctTypeList = array();
|
||||
foreach($lang->product->typeList as $key => $type) $productTypeList[$key] = $type . zget($lang->product->typeTips, $key, '');
|
||||
?>
|
||||
<?php echo html::select('type', $productTypeList, 'normal', "class='form-control'");?>
|
||||
<?php echo html::select('type', $productTypeList, 'normal', "class='form-control chosen-simple'");?>
|
||||
</td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
</div>
|
||||
<table class='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($allBugs):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -27,26 +27,31 @@
|
||||
<?php endif;?>
|
||||
<?php echo $lang->idAB;?>
|
||||
</th>
|
||||
<th class='w-pri'><?php echo $lang->priAB;?></th>
|
||||
<th><?php echo $lang->bug->title;?></th>
|
||||
<th class='w-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-user'><?php echo $lang->bug->assignedToAB;?></th>
|
||||
<th class='c-pri'><?php echo $lang->priAB;?></th>
|
||||
<th class='text-left'><?php echo $lang->bug->title;?></th>
|
||||
<th class='c-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='c-user'><?php echo $lang->bug->assignedToAB;?></th>
|
||||
<th class='w-80px'><?php echo $lang->bug->status;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php $unlinkedCount = 0;?>
|
||||
<?php foreach($allBugs as $bug):?>
|
||||
<?php if(isset($planBugs[$bug->id])) continue;?>
|
||||
<tr>
|
||||
<td class='c-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php echo html::checkbox('bugs', array($bug->id => sprintf('%03d', $bug->id)));?>
|
||||
</td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->bug->priList, $bug->pri, $bug->pri);?>'><?php echo zget($lang->bug->priList, $bug->pri, $bug->pri)?></span></td>
|
||||
<td class='nobr' title='<?php echo $bug->title?>'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id", '', true), $bug->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?></td>
|
||||
<td><span class='label-pri label-pri-<?php echo $bug->pri;?>'><?php echo zget($lang->bug->priList, $bug->pri, $bug->pri)?></span></td>
|
||||
<td class='text-left nobr' title='<?php echo $bug->title?>'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id", '', true), $bug->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo $users[$bug->assignedTo];?></td>
|
||||
<td class='text-center bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<span class='bug-status-<?php echo $bug->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->bug->statusList[$bug->status];?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php $unlinkedCount++;?>
|
||||
<?php endforeach;?>
|
||||
@@ -56,7 +61,7 @@
|
||||
<?php if($unlinkedCount):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php echo html::submitButton($lang->productplan->linkBug);?>
|
||||
<?php echo html::submitButton($lang->productplan->linkBug, '', 'btn');?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php echo html::a(inlink('view', "planID=$plan->id&type=bug&orderBy=$orderBy"), $lang->goback, '', "class='btn'");?>
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
</div>
|
||||
<table class='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($allStories):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -27,33 +27,38 @@
|
||||
<?php endif;?>
|
||||
<?php echo $lang->idAB;?>
|
||||
</th>
|
||||
<th class='w-pri'><?php echo $lang->priAB;?></th>
|
||||
<th class='c-pri'><?php echo $lang->priAB;?></th>
|
||||
<th class='w-200px'><?php echo $lang->story->plan;?></th>
|
||||
<th class='w-150px'><?php echo $lang->story->module;?></th>
|
||||
<th><?php echo $lang->story->title;?></th>
|
||||
<th class='w-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-user'><?php echo $lang->assignedToAB;?></th>
|
||||
<th class='text-left'><?php echo $lang->story->title;?></th>
|
||||
<th class='c-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='c-user'><?php echo $lang->assignedToAB;?></th>
|
||||
<th class='w-50px'><?php echo $lang->story->estimateAB;?></th>
|
||||
<th class='w-80px'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-80px text-center'><?php echo $lang->story->stageAB;?></th>
|
||||
<th class='w-80px'><?php echo $lang->story->stageAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php $unlinkedCount = 0;?>
|
||||
<?php foreach($allStories as $story):?>
|
||||
<?php if(isset($planStories[$story->id])) continue;?>
|
||||
<tr>
|
||||
<td class='cell-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php echo html::checkbox('stories', array($story->id => sprintf('%03d', $story->id)));?>
|
||||
</td>
|
||||
<td><span class='label-pri <?php echo 'label-pri-' . $story->pri;?>'><?php echo zget($lang->story->priList, $story->pri, $story->pri)?></span></td>
|
||||
<td><?php echo $story->planTitle;?></td>
|
||||
<td title='<?php echo $modules[$story->module]?>'><?php echo $modules[$story->module];?></td>
|
||||
<td class='nobr' title='<?php echo $story->title?>'><?php echo html::a($this->createLink('story', 'view', "storyID=$story->id", '', true), $story->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?></td>
|
||||
<td class='text-left nobr' title='<?php echo $story->title?>'><?php echo html::a($this->createLink('story', 'view', "storyID=$story->id", '', true), $story->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?></td>
|
||||
<td><?php echo zget($users, $story->openedBy);?></td>
|
||||
<td><?php echo zget($users, $story->assignedTo);?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td><span class='status-<?php echo $story->status?>'><span class='label label-dot'></span> <?php echo $lang->story->statusList[$story->status];?></span></td>
|
||||
<td>
|
||||
<span class='story-status-<?php echo $story->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->story->statusList[$story->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td class='text-center'><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
</tr>
|
||||
<?php $unlinkedCount++;?>
|
||||
@@ -64,7 +69,7 @@
|
||||
<?php if($unlinkedCount):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php echo html::submitButton($lang->productplan->linkStory);?>
|
||||
<?php echo html::submitButton($lang->productplan->linkStory, '', 'btn');?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php echo html::a(inlink('view', "planID=$plan->id&type=story&orderBy=$orderBy"), $lang->goback, '', "class='btn'");?>
|
||||
|
||||
@@ -77,22 +77,22 @@
|
||||
<form class='main-table table-story' data-ride='table' method='post' target='hiddenwin' action="<?php echo inlink('batchUnlinkStory', "planID=$plan->id&orderBy=$orderBy");?>">
|
||||
<table class='table has-sort-head' id='storyList'>
|
||||
<?php
|
||||
$canBatchUnlink = common::hasPriv('productPlan', 'batchUnlinkStory');
|
||||
$canBatchClose = common::hasPriv('story', 'batchClose');
|
||||
$canBatchEdit = common::hasPriv('story', 'batchEdit');
|
||||
$canBatchReview = common::hasPriv('story', 'batchReview');
|
||||
$canBatchChangeBranch = common::hasPriv('story', 'batchChangeBranch');
|
||||
$canBatchChangeModule = common::hasPriv('story', 'batchChangeModule');
|
||||
$canBatchChangePlan = common::hasPriv('story', 'batchChangePlan');
|
||||
$canBatchChangeStage = common::hasPriv('story', 'batchChangeStage');
|
||||
$canBatchAssignTo = common::hasPriv('story', 'batchAssignTo');
|
||||
$canBatchUnlink = common::hasPriv('productPlan', 'batchUnlinkStory');
|
||||
$canBatchClose = common::hasPriv('story', 'batchClose');
|
||||
$canBatchEdit = common::hasPriv('story', 'batchEdit');
|
||||
$canBatchReview = common::hasPriv('story', 'batchReview');
|
||||
$canBatchChangeBranch = common::hasPriv('story', 'batchChangeBranch');
|
||||
$canBatchChangeModule = common::hasPriv('story', 'batchChangeModule');
|
||||
$canBatchChangePlan = common::hasPriv('story', 'batchChangePlan');
|
||||
$canBatchChangeStage = common::hasPriv('story', 'batchChangeStage');
|
||||
$canBatchAssignTo = common::hasPriv('story', 'batchAssignTo');
|
||||
|
||||
$canBatchAction = $canBatchUnlink or $canBatchClose or $canBatchEdit or $canBatchReview or $canBatchChangeBranch or $canBatchChangeModule or $canBatchChangePlan or $canBatchChangeStage or $canBatchAssignTo;
|
||||
$vars = "planID={$plan->id}&type=story&orderBy=%s&link=$link¶m=$param";
|
||||
$canBatchAction = $canBatchUnlink or $canBatchClose or $canBatchEdit or $canBatchReview or $canBatchChangeBranch or $canBatchChangeModule or $canBatchChangePlan or $canBatchChangeStage or $canBatchAssignTo;
|
||||
$vars = "planID={$plan->id}&type=story&orderBy=%s&link=$link¶m=$param";
|
||||
?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($planStories && $canBatchAction):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -104,17 +104,17 @@
|
||||
<th class='w-70px'><?php common::printOrderLink('order', $orderBy, $vars, $lang->productplan->updateOrder);?></th>
|
||||
<?php endif;?>
|
||||
<th class='w-70px'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class='w-150px'><?php common::printOrderLink('module', $orderBy, $vars, $lang->story->module);?></th>
|
||||
<th> <?php common::printOrderLink('title', $orderBy, $vars, $lang->story->title);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('assignedTo', $orderBy, $vars, $lang->assignedToAB);?></th>
|
||||
<th class='w-150px text-left'><?php common::printOrderLink('module', $orderBy, $vars, $lang->story->module);?></th>
|
||||
<th class='text-left'><?php common::printOrderLink('title', $orderBy, $vars, $lang->story->title);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('assignedTo', $orderBy, $vars, $lang->assignedToAB);?></th>
|
||||
<th class='w-70px'> <?php common::printOrderLink('estimate', $orderBy, $vars, $lang->story->estimateAB);?></th>
|
||||
<th class='w-70px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->statusAB);?></th>
|
||||
<th class='w-80px'> <?php common::printOrderLink('stage', $orderBy, $vars, $lang->story->stageAB);?></th>
|
||||
<th class='w-50px'> <?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php
|
||||
$totalEstimate = 0.0;
|
||||
?>
|
||||
@@ -124,7 +124,7 @@
|
||||
$totalEstimate += $story->estimate;
|
||||
?>
|
||||
<tr data-id='<?php echo $story->id;?>'>
|
||||
<td class='cell-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchAction):?>
|
||||
<?php echo html::checkbox('storyIDList', array($story->id => sprintf('%03d', $story->id)));?>
|
||||
<?php else:?>
|
||||
@@ -133,19 +133,24 @@
|
||||
</td>
|
||||
<?php if($canOrder):?><td class='sort-handler'><i class='icon-move'></i></td><?php endif;?>
|
||||
<td><span class='label-pri <?php echo 'label-pri-' . $story->pri;?>'><?php echo zget($lang->story->priList, $story->pri, $story->pri);?></span></td>
|
||||
<td class='nobr'><?php echo zget($modulePairs, $story->module, '');?></td>
|
||||
<td class='nobr' title='<?php echo $story->title?>'><?php echo html::a($viewLink , $story->title);?></td>
|
||||
<td class='text-left nobr'><?php echo zget($modulePairs, $story->module, '');?></td>
|
||||
<td class='text-left nobr' title='<?php echo $story->title?>'><?php echo html::a($viewLink , $story->title);?></td>
|
||||
<td><?php echo zget($users, $story->openedBy);?></td>
|
||||
<td><?php echo zget($users, $story->assignedTo);?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td class='status-<?php echo $story->status?>'><span class='label label-dot'></span> <?php echo $lang->story->statusList[$story->status];?><span></td>
|
||||
<td>
|
||||
<span class='story-status-<?php echo $story->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->story->statusList[$story->status];?><span>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
if(common::hasPriv('productplan', 'unlinkStory'))
|
||||
{
|
||||
$unlinkURL = $this->createLink('productplan', 'unlinkStory', "story=$story->id&plan=$plan->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"storyList\",confirmUnlinkStory)", '<i class="icon-unlink"></i>', '', "class='btn-icon' title='{$lang->productplan->unlinkStory}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"storyList\",confirmUnlinkStory)", '<i class="icon-unlink"></i>', '', "class='btn' title='{$lang->productplan->unlinkStory}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
@@ -338,8 +343,8 @@
|
||||
<?php $canBatchUnlink = common::hasPriv('productplan', 'batchUnlinkBug');?>
|
||||
<?php $vars = "planID={$plan->id}&type=bug&orderBy=%s&link=$link¶m=$param"; ?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($planBugs && $canBatchUnlink):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -348,34 +353,39 @@
|
||||
<?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?>
|
||||
</th>
|
||||
<th class='w-70px'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th> <?php common::printOrderLink('title', $orderBy, $vars, $lang->bug->title);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('assignedTo', $orderBy, $vars, $lang->bug->assignedToAB);?></th>
|
||||
<th class='text-left'><?php common::printOrderLink('title', $orderBy, $vars, $lang->bug->title);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('assignedTo', $orderBy, $vars, $lang->bug->assignedToAB);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('status', $orderBy, $vars, $lang->bug->status);?></th>
|
||||
<th class='w-50px'> <?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php foreach($planBugs as $bug):?>
|
||||
<tr>
|
||||
<td class='c-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<?php echo html::checkbox('unlinkBugs', array($bug->id => sprintf('%03d', $bug->id)));?>
|
||||
<?php else:?>
|
||||
<?php printf('%03d', $bug->id);?>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->bug->priList, $bug->pri, $bug->pri)?>'><?php echo zget($lang->bug->priList, $bug->pri, $bug->pri);?></span></td>
|
||||
<td class='nobr' title='<?php echo $bug->title?>'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?></td>
|
||||
<td><span class='label-pri label-pri-<?php echo $bug->pri;?>'><?php echo zget($lang->bug->priList, $bug->pri, $bug->pri);?></span></td>
|
||||
<td class='text-left nobr' title='<?php echo $bug->title?>'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?></td>
|
||||
<td><?php echo zget($users, $bug->openedBy);?></td>
|
||||
<td><?php echo zget($users, $bug->assignedTo);?></td>
|
||||
<td class='status-<?php echo $bug->status?>'><span class='label label-dot'></span> <?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<span class='bug-status-<?php echo $bug->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->bug->statusList[$bug->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
if(common::hasPriv('productplan', 'unlinkBug'))
|
||||
{
|
||||
$unlinkURL = $this->createLink('productplan', 'unlinkBug', "story=$bug->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"bugList\",confirmUnlinkBug)", '<i class="icon-unlink"></i>', '', "class='btn-icon' title='{$lang->productplan->unlinkBug}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"bugList\",confirmUnlinkBug)", '<i class="icon-unlink"></i>', '', "class='btn' title='{$lang->productplan->unlinkBug}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
@@ -388,7 +398,7 @@
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php echo html::submitButton($lang->productplan->batchUnlink);?>
|
||||
<?php echo html::submitButton($lang->productplan->batchUnlink, '', 'btn');?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div class='text'><?php echo sprintf($lang->productplan->bugSummary, count($planBugs));?></div>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<?php common::printLink('project', 'create', '', "<i class='icon-plus'></i> " . $lang->project->create, '', "class='btn btn-link'")?>
|
||||
</div>
|
||||
</div>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div id='mainContent'>
|
||||
<?php $canOrder = (common::hasPriv('project', 'updateOrder') and strpos($orderBy, 'order') !== false)?>
|
||||
<form class='main-table' id='projectsForm' method='post' action='<?php echo inLink('batchEdit', "projectID=$projectID");?>' data-ride='table'>
|
||||
<table class='table has-sort-head table-fixed' id='projectList'>
|
||||
|
||||
@@ -138,7 +138,14 @@
|
||||
<td colspan='3'><?php echo html::checkbox('whitelist', $groups, $whitelist, '', '', 'inline');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<<<<<<< HEAD
|
||||
<td colspan='4' class='text-center'><?php echo html::submitButton('', '', 'btn btn-wide btn-primary') . ' ' . html::backButton('', '', 'btn btn-wide');?></td>
|
||||
=======
|
||||
<td colspan='4' class='text-center'>
|
||||
<?php echo html::submitButton('', '', 'btn btn-wide btn-primary');?>
|
||||
<?php echo html::backButton('', '', 'btn btn-wide');?>
|
||||
</td>
|
||||
>>>>>>> d31cb467eea5b5badeb0fe21a7c21ac7e1b3b15e
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
@@ -54,12 +54,17 @@
|
||||
<?php printf('%03d', $task->id);?>
|
||||
</td>
|
||||
<td><?php echo substr($projects[$task->project], 2);?></td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->task->priList, $task->pri, $task->pri)?>'><?php echo $task->pri == '0' ? '' : zget($lang->task->priList, $task->pri, $task->pri);?></span></td>
|
||||
<td><span class='label-pri label-pri-<?php echo $task->pri;?>'><?php echo $task->pri == '0' ? '' : zget($lang->task->priList, $task->pri, $task->pri);?></span></td>
|
||||
<td class='text-left nobr'><?php if(!common::printLink('task', 'view', "task=$task->id", $task->name)) echo $task->name;?></td>
|
||||
<td <?php echo $class;?>><?php echo $task->assignedToRealName;?></td>
|
||||
<td><?php echo $task->left;?></td>
|
||||
<td class=<?php if(isset($task->delay)) echo 'delayed';?>><?php if(substr($task->deadline, 0, 4) > 0) echo $task->deadline;?></td>
|
||||
<td class=<?php echo $task->status;?> ><?php echo $lang->task->statusList[$task->status];?></td>
|
||||
<td>
|
||||
<span class='status-<?php echo $task->status;?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->task->statusList[$task->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td class='text-left nobr'>
|
||||
<?php
|
||||
if($task->storyID)
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
.checkbox.btn{margin-top:0px}
|
||||
#unlinkStoryList, #unlinkBugList, #unlinkLeftBugList{border:1px solid #ddd;}
|
||||
|
||||
.table-footer .text{line-height:30px;}
|
||||
.table-footer .text {line-height:30px;}
|
||||
.table-footer .btn-toolbar {margin-right: 10px;}
|
||||
|
||||
#releaseInfo > div {padding-top: 15px;}
|
||||
|
||||
|
||||
@@ -57,11 +57,11 @@
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
if(common::hasPriv('release', 'linkStory')) echo html::a(inlink('view', "releaseID=$release->id&type=story&link=true"), '<i class="icon-link"></i> ', '', "class='btn' title='{$lang->release->linkStory}'");
|
||||
if(common::hasPriv('release', 'linkBug') and $this->config->global->flow != 'onlyStory') echo html::a(inlink('view', "releaseID=$release->id&type=bug&link=true"), '<i class="icon-bug"></i> ', '', "class='btn' title='{$lang->release->linkBug}'");
|
||||
if(common::hasPriv('release', 'linkBug') and $this->config->global->flow != 'onlyStory') echo html::a(inlink('view', "releaseID=$release->id&type=bug&link=true"), '<i class="icon-bug"></i> ', '', "class='btn' title='{$lang->release->linkBug}'");
|
||||
if(common::hasPriv('release', 'changeStatus', $release))
|
||||
{
|
||||
$changedStatus = $release->status == 'normal' ? 'terminate' : 'normal';
|
||||
echo html::a(inlink('changeStatus', "releaseID=$release->id&status=$changedStatus"), '<i class="icon-' . ($release->status == 'normal' ? 'pause' : 'play') . '"></i> ', 'hiddenwin', "class='btn' title='{$lang->release->changeStatusList[$changedStatus]}'");
|
||||
echo html::a(inlink('changeStatus', "releaseID=$release->id&status=$changedStatus"), '<i class="icon-' . ($release->status == 'normal' ? 'pause' : 'play') . '"></i> ', 'hiddenwin', "class='btn' title='{$lang->release->changeStatusList[$changedStatus]}'");
|
||||
}
|
||||
common::printIcon('release', 'edit', "release=$release->id", $release, 'list');
|
||||
if(common::hasPriv('release', 'delete', $release))
|
||||
|
||||
@@ -22,8 +22,8 @@ $formID = $type == 'leftBug' ? 'unlinkedLeftBugsForm' : 'unlinkedBugsForm';
|
||||
</div>
|
||||
<table class='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($allBugs):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -31,26 +31,35 @@ $formID = $type == 'leftBug' ? 'unlinkedLeftBugsForm' : 'unlinkedBugsForm';
|
||||
<?php endif;?>
|
||||
<?php echo $lang->idAB;?>
|
||||
</th>
|
||||
<th class='w-pri'><?php echo $lang->priAB;?></th>
|
||||
<th> <?php echo $lang->bug->title;?></th>
|
||||
<th class='w-user text-left'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-user'><?php echo $lang->bug->resolvedBy;?></th>
|
||||
<th class='c-pri'><?php echo $lang->priAB;?></th>
|
||||
<th class='text-left'><?php echo $lang->bug->title;?></th>
|
||||
<th class='c-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='c-user'><?php echo $lang->bug->resolvedBy;?></th>
|
||||
<th class='w-80px'><?php echo $lang->statusAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php $unlinkedCount = 0;?>
|
||||
<?php foreach($allBugs as $bug):?>
|
||||
<?php if(strpos(",{$releaseBugs},", ",$bug->id,") !== false) continue;?>
|
||||
<tr>
|
||||
<<<<<<< HEAD
|
||||
<td class='c-id'>
|
||||
=======
|
||||
<td class='c-id text-left'>
|
||||
>>>>>>> d31cb467eea5b5badeb0fe21a7c21ac7e1b3b15e
|
||||
<?php echo html::checkbox('bugs', array($bug->id => sprintf('%03d', $bug->id)), ($type == 'leftBug' or $bug->status == 'resolved' or $bug->status == 'closed') ? $bug->id : '');?>
|
||||
</td>
|
||||
<td><span class='<?php echo 'pri' . zget($lang->bug->priList, $bug->pri, $bug->pri);?>'><?php echo zget($lang->bug->priList, $bug->pri, $bug->pri)?></span></td>
|
||||
<td><span class='label-pri label-pri-<?php echo $bug->pri;?>'><?php echo zget($lang->bug->priList, $bug->pri, $bug->pri)?></span></td>
|
||||
<td class='text-left nobr' title='<?php echo $bug->title?>'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id", '', true), $bug->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
<td class='text-center bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<span class='bug-status-<?php echo $bug->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->bug->statusList[$bug->status];?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php $unlinkedCount++;?>
|
||||
<?php endforeach;?>
|
||||
@@ -59,8 +68,13 @@ $formID = $type == 'leftBug' ? 'unlinkedLeftBugsForm' : 'unlinkedBugsForm';
|
||||
<div class='table-footer'>
|
||||
<?php if($unlinkedCount):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<<<<<<< HEAD
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php echo html::submitButton($lang->release->linkBug, '', 'btn btn-default');?>
|
||||
=======
|
||||
<div class="btn-toolbar">
|
||||
<?php echo html::submitButton($lang->release->linkBug, '', 'btn');?>
|
||||
>>>>>>> d31cb467eea5b5badeb0fe21a7c21ac7e1b3b15e
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php echo html::a(inlink('view', "releaseID=$release->id&type=$type"), $lang->goback, '', "class='btn'");?>
|
||||
@@ -71,6 +85,5 @@ $formID = $type == 'leftBug' ? 'unlinkedLeftBugsForm' : 'unlinkedBugsForm';
|
||||
$(function()
|
||||
{
|
||||
ajaxGetSearchForm('#<?php echo $type == 'bug' ? 'bugs' : 'leftBugs'?> .linkBox #queryBox')
|
||||
setModal();
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
</div>
|
||||
<table class='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($allStories):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -27,22 +27,22 @@
|
||||
<?php endif;?>
|
||||
<?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 text-left'> <?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-user text-left'> <?php echo $lang->assignedToAB;?></th>
|
||||
<th class='w-50px text-left'> <?php echo $lang->story->estimateAB;?></th>
|
||||
<th class='w-status text-left'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-80px text-center'><?php echo $lang->story->stageAB;?></th>
|
||||
<th class='c-pri'><?php echo $lang->priAB;?></th>
|
||||
<th class='text-left'><?php echo $lang->story->title;?></th>
|
||||
<th class='c-user'> <?php echo $lang->openedByAB;?></th>
|
||||
<th class='c-user'> <?php echo $lang->assignedToAB;?></th>
|
||||
<th class='w-50px'> <?php echo $lang->story->estimateAB;?></th>
|
||||
<th class='c-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-80px'><?php echo $lang->story->stageAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php $unlinkedCount = 0;?>
|
||||
<?php foreach($allStories as $story):?>
|
||||
<?php if(strpos(",{$release->stories},", ",{$story->id},") !== false) continue; ?>
|
||||
<?php if($release->product != $story->product) continue; ?>
|
||||
<tr>
|
||||
<td class='c-id'>
|
||||
<td class='c-id text-left'>
|
||||
<div class="checkbox-primary">
|
||||
<input type='checkbox' name='stories[]' value='<?php echo $story->id;?>' <?php if($story->stage == 'developed' or $story->status == 'closed') echo 'checked';?> />
|
||||
<label></label>
|
||||
@@ -55,7 +55,7 @@
|
||||
<td><?php echo zget($users, $story->assignedTo);?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td><span class='status-<?php echo $story->status?>'><span class="label label-dot"></span> <?php echo zget($lang->story->statusList, $story->status);?></span></td>
|
||||
<td class='text-center'><?php echo zget($lang->story->stageList, $story->stage);?></td>
|
||||
<td><?php echo zget($lang->story->stageList, $story->stage);?></td>
|
||||
</tr>
|
||||
<?php $unlinkedCount++;?>
|
||||
<?php endforeach;?>
|
||||
@@ -64,8 +64,13 @@
|
||||
<div class='table-footer'>
|
||||
<?php if($unlinkedCount):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<<<<<<< HEAD
|
||||
<div class='table-actions btn-toolbar'>
|
||||
<?php echo html::submitButton($lang->release->linkStory, '', 'btn btn-default');?>
|
||||
=======
|
||||
<div class='btn-toolbar'>
|
||||
<?php echo html::submitButton($lang->release->linkStory, '', 'btn');?>
|
||||
>>>>>>> d31cb467eea5b5badeb0fe21a7c21ac7e1b3b15e
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php echo html::a(inlink('view', "releaseID=$release->id&type=story"), $lang->goback, '', "class='btn'");?>
|
||||
@@ -76,6 +81,5 @@
|
||||
$(function()
|
||||
{
|
||||
ajaxGetSearchForm('#stories .linkBox #queryBox');
|
||||
setModal();
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -30,14 +30,14 @@
|
||||
<?php
|
||||
if(!$release->deleted)
|
||||
{
|
||||
if(common::hasPriv('release', 'changeStatus', $release))
|
||||
{
|
||||
$changedStatus = $release->status == 'normal' ? 'terminate' : 'normal';
|
||||
echo html::a(inlink('changeStatus', "releaseID=$release->id&type=$changedStatus"), '<i class="icon-' . ($release->status == 'normal' ? 'pause' : 'play') . '"></i> ' . $lang->release->changeStatusList[$changedStatus], 'hiddenwin', "class='btn btn-link'");
|
||||
}
|
||||
if(common::hasPriv('release', 'linkStory')) echo html::a(inlink('view', "releaseID=$release->id&type=story&link=true"), '<i class="icon-link"></i> ' . $lang->release->linkStory, '', "class='btn btn-link'");
|
||||
if(common::hasPriv('release', 'linkBug') and $this->config->global->flow != 'onlyStory') echo html::a(inlink('view', "releaseID=$release->id&type=bug&link=true"), '<i class="icon-bug"></i> ' . $lang->release->linkBug, '', "class='btn btn-link'");
|
||||
|
||||
if(common::hasPriv('release', 'changeStatus', $release))
|
||||
{
|
||||
$changedStatus = $release->status == 'normal' ? 'terminate' : 'normal';
|
||||
echo html::a(inlink('changeStatus', "releaseID=$release->id&status=$changedStatus"), '<i class="icon-' . ($release->status == 'normal' ? 'pause' : 'play') . '"></i> ', 'hiddenwin', "class='btn btn-link' title='{$lang->release->changeStatusList[$changedStatus]}'");
|
||||
}
|
||||
common::printIcon('release', 'edit', "releaseID=$release->id", $release);
|
||||
common::printIcon('release', 'delete', "releaseID=$release->id", $release, 'button', '', 'hiddenwin');
|
||||
}
|
||||
@@ -71,8 +71,8 @@
|
||||
<?php $canBatchUnlink = common::hasPriv('release', 'batchUnlinkStory');?>
|
||||
<?php $vars = "releaseID={$release->id}&type=story&link=$link¶m=$param&orderBy=%s";?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -80,20 +80,20 @@
|
||||
<?php endif;?>
|
||||
<?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?>
|
||||
</th>
|
||||
<th class='w-pri'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class='c-pri'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class="text-left"><?php common::printOrderLink('title', $orderBy, $vars, $lang->story->title);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-80px'> <?php common::printOrderLink('estimate', $orderBy, $vars, $lang->story->estimateAB);?></th>
|
||||
<th class='w-90px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->statusAB);?></th>
|
||||
<th class='w-100px'> <?php common::printOrderLink('stage', $orderBy, $vars, $lang->story->stageAB);?></th>
|
||||
<th class='w-50px'> <?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php foreach($stories as $storyID => $story):?>
|
||||
<?php $storyLink = $this->createLink('story', 'view', "storyID=$story->id", '', true);?>
|
||||
<tr>
|
||||
<td class='c-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary">
|
||||
<input type='checkbox' name='unlinkStories[]' value='<?php echo $story->id;?>'/>
|
||||
@@ -113,7 +113,7 @@
|
||||
if(common::hasPriv('release', 'unlinkStory'))
|
||||
{
|
||||
$unlinkURL = $this->createLink('release', 'unlinkStory', "releaseID=$release->id&story=$story->id");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"storyList\",confirmUnlinkStory)", '<i class="icon-unlink"></i>', '', "class='btn-icon' title='{$lang->release->unlinkStory}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"storyList\",confirmUnlinkStory)", '<i class="icon-unlink"></i>', '', "class='btn' title='{$lang->release->unlinkStory}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
@@ -142,8 +142,8 @@
|
||||
<?php $canBatchUnlink = common::hasPriv('release', 'batchUnlinkBug');?>
|
||||
<?php $vars = "releaseID={$release->id}&type=bug&link=$link¶m=$param&orderBy=%s";?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -160,11 +160,11 @@
|
||||
<th class='w-50px'> <?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php foreach($bugs as $bug):?>
|
||||
<?php $bugLink = $this->createLink('bug', 'view', "bugID=$bug->id", '', true);?>
|
||||
<tr>
|
||||
<td class='c-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary">
|
||||
<input type='checkbox' name='unlinkBugs[]' value='<?php echo $bug->id;?>'/>
|
||||
@@ -184,7 +184,7 @@
|
||||
if(common::hasPriv('release', 'unlinkBug'))
|
||||
{
|
||||
$unlinkURL = $this->createLink('release', 'unlinkBug', "releaseID=$release->id&bug=$bug->id");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"bugList\",confirmUnlinkBug)", '<i class="icon-unlink"></i>', '', "class='btn-icon' title='{$lang->release->unlinkBug}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"bugList\",confirmUnlinkBug)", '<i class="icon-unlink"></i>', '', "class='btn' title='{$lang->release->unlinkBug}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
@@ -213,8 +213,8 @@
|
||||
<?php $canBatchUnlink = common::hasPriv('release', 'batchUnlinkBug');?>
|
||||
<?php $vars = "releaseID={$release->id}&type=leftBug&link=$link¶m=$param&orderBy=%s";?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
@@ -225,16 +225,16 @@
|
||||
<th class='w-80px'> <?php common::printOrderLink('severity', $orderBy, $vars, $lang->bug->severityAB);?></th>
|
||||
<th class='text-left'> <?php common::printOrderLink('title', $orderBy, $vars, $lang->bug->title);?></th>
|
||||
<th class='w-100px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->bug->status);?></th>
|
||||
<th class='w-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-150px'> <?php common::printOrderLink('openedDate', $orderBy, $vars, $lang->bug->openedDateAB);?></th>
|
||||
<th class='w-50px'> <?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class='text-center'>
|
||||
<?php foreach($leftBugs as $bug):?>
|
||||
<?php $bugLink = $this->createLink('bug', 'view', "bugID=$bug->id", '', true);?>
|
||||
<tr>
|
||||
<td class='c-id'>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<div class="checkbox-primary">
|
||||
<input type='checkbox' name='unlinkBugs[]' value='<?php echo $bug->id;?>'/>
|
||||
@@ -243,9 +243,11 @@
|
||||
<?php endif;?>
|
||||
<?php echo sprintf('%03d', $bug->id);?>
|
||||
</td>
|
||||
<td><span class='severity<?php echo zget($lang->bug->severityList, $bug->severity, $bug->severity)?>'><?php echo zget($lang->bug->severityList, $bug->severity, $bug->severity);?></span></td>
|
||||
<td class='c-severity'>
|
||||
<span class='label-severity' data-severity='<?php echo $bug->severity;?>' title='<?php echo zget($lang->bug->severityList, $bug->severity, $bug->severity);?>'></span>
|
||||
</td>
|
||||
<td class='text-left nobr' title='<?php echo $bug->title?>'><?php echo html::a($bugLink, $bug->title, '', "class='preview'");?></td>
|
||||
<td><span class='status-<?php echo $bug->status?>'><span class="label label-dot"></span> <?php echo zget($lang->bug->statusList, $bug->status);?></span></td>
|
||||
<td><span class='bug-status-<?php echo $bug->status?>'><span class="label label-dot"></span> <?php echo zget($lang->bug->statusList, $bug->status);?></span></td>
|
||||
<td><?php echo zget($users, $bug->openedBy);?></td>
|
||||
<td><?php echo $bug->openedDate?></td>
|
||||
<td class='c-actions'>
|
||||
@@ -253,7 +255,7 @@
|
||||
if(common::hasPriv('release', 'unlinkBug'))
|
||||
{
|
||||
$unlinkURL = $this->createLink('release', 'unlinkBug', "releaseID=$release->id&bug=$bug->id&type=leftBug");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"leftBugList\",confirmUnlinkBug)", '<i class="icon-unlink"></i>', '', "class='btn-icon' title='{$lang->release->unlinkBug}'");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"leftBugList\",confirmUnlinkBug)", '<i class="icon-unlink"></i>', '', "class='btn' title='{$lang->release->unlinkBug}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
|
||||
@@ -110,8 +110,7 @@ foreach($fieldParams as $fieldName => $param)
|
||||
|
||||
if($fieldValue && strpos('$lastWeek,$thisWeek,$today,$yesterday,$thisMonth,$lastMonth',$fieldValue) !== false)
|
||||
{
|
||||
echo html::input("dateValue$fieldNO", '', "class='form-control $extraClass searchInput' placeholder='{$fieldValue}'");
|
||||
echo html::hidden("value$fieldNO", $fieldValue);
|
||||
echo html::input("value$fieldNO", $fieldValue, "class='form-control $extraClass searchInput' placeholder='{$fieldValue}'");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -172,8 +171,7 @@ foreach($fieldParams as $fieldName => $param)
|
||||
|
||||
if($fieldValue && strpos('$lastWeek,$thisWeek,$today,$yesterday,$thisMonth,$lastMonth',$fieldValue) !== false)
|
||||
{
|
||||
echo html::input("dateValue$fieldNO", '', "class='form-control $extraClass searchInput' placeholder='{$fieldValue}'");
|
||||
echo html::hidden("value$fieldNO", $fieldValue);
|
||||
echo html::input("value$fieldNO", $fieldValue, "class='form-control $extraClass searchInput' placeholder='{$fieldValue}'");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
.linkbox{height:180px; overflow-y:auto}
|
||||
.tab-pane .table-borderless {border: 1px solid #ddd!important}
|
||||
.tab-pane h6 {margin: 0px; padding: 10px;}
|
||||
.tab-pane h6, .tab-pane table {border: 1px solid #ddd; border-top: none;}
|
||||
.tab-pane .table-data.table-borderless {border: none!important}
|
||||
|
||||
.input-group .control-product + .chosen-container-single .chosen-single {border-radius: 2px 0 0 2px; border-right-width: 0; padding-right: 1px;}
|
||||
|
||||
@@ -7,17 +7,17 @@
|
||||
<div class='tab-content'>
|
||||
<div class='tab-pane active' id='affectedProjects'>
|
||||
<?php foreach($story->projects as $projectID => $project):?>
|
||||
<h6><?php echo html::icon($lang->icons['project'], 'icon');?> <strong><?php echo $project->name ?></strong> <small><i class='icon-group'></i> <?php foreach($story->teams[$projectID] as $member) echo zget($users, $member->account, $member->account) . ' ';?></small></h6>
|
||||
<table class='table table-borderless table-condensed'>
|
||||
<h6><?php echo $project->name ?> <small><i class='icon-group'></i> <?php foreach($story->teams[$projectID] as $member) echo zget($users, $member->account, $member->account) . ' ';?></small></h6>
|
||||
<table class='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?php echo $lang->task->id;?></th>
|
||||
<th><?php echo $lang->task->name;?></th>
|
||||
<th><?php echo $lang->task->assignedTo;?></th>
|
||||
<th><?php echo $lang->task->status;?></th>
|
||||
<th><?php echo $lang->task->consumed;?></th>
|
||||
<th><?php echo $lang->task->left;?></th>
|
||||
</tr>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id'><?php echo $lang->task->id;?></th>
|
||||
<th class='text-left'><?php echo $lang->task->name;?></th>
|
||||
<th class='w-100px'><?php echo $lang->task->assignedTo;?></th>
|
||||
<th class='c-status'><?php echo $lang->task->status;?></th>
|
||||
<th class='c-num'><?php echo $lang->task->consumed;?></th>
|
||||
<th class='c-num'><?php echo $lang->task->left;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php if(isset($story->tasks[$projectID])):?>
|
||||
<tbody class='<?php if(count($story->tasks[$projectID]) > $config->story->affectedFixedNum) echo "linkbox";?>'>
|
||||
@@ -26,7 +26,12 @@
|
||||
<td><?php echo $task->id;?></td>
|
||||
<td class='text-left'><?php echo html::a($this->createLink('task', 'view', "taskID=$task->id"), $task->name, '_blank');?></td>
|
||||
<td><?php echo $users[$task->assignedTo];?></td>
|
||||
<td class='task-<?php echo $task->status?>'><?php echo $lang->task->statusList[$task->status];?></td>
|
||||
<td>
|
||||
<span class='task-status-<?php echo $task->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->task->statusList[$task->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $task->consumed;?></td>
|
||||
<td><?php echo $task->left;?></td>
|
||||
</tr>
|
||||
@@ -37,16 +42,16 @@
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
<div class='tab-pane' id='affectedBugs'>
|
||||
<table class='table table-borderless table-condensed'>
|
||||
<table class='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->bug->id;?></th>
|
||||
<th><?php echo $lang->bug->title;?></th>
|
||||
<th class='w-80px'><?php echo $lang->bug->status;?></th>
|
||||
<th class='w-70px'><?php echo $lang->bug->openedBy;?></th>
|
||||
<th><?php echo $lang->bug->resolvedBy;?></th>
|
||||
<th><?php echo $lang->bug->resolution;?></th>
|
||||
<th><?php echo $lang->bug->lastEditedBy;?></th>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id'><?php echo $lang->idAB;?></th>
|
||||
<th class='text-left'><?php echo $lang->bug->title;?></th>
|
||||
<th class='c-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-100px'><?php echo $lang->bug->openedBy;?></th>
|
||||
<th class='w-100px'><?php echo $lang->bug->resolvedBy;?></th>
|
||||
<th class='text-left'><?php echo $lang->bug->resolution;?></th>
|
||||
<th class='w-100px'><?php echo $lang->bug->lastEditedBy;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class= '<?php if(count($story->bugs) > $config->story->affectedFixedNum) echo "linkbox";?>'>
|
||||
@@ -54,10 +59,15 @@
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $bug->id;?></td>
|
||||
<td class='text-left'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title, '_blank');?></td>
|
||||
<td class='bug-<?php echo $bug->status?>'><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<span class='bug-status-<?php echo $bug->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->bug->statusList[$bug->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
<td><?php echo $lang->bug->resolutionList[$bug->resolution];?></td>
|
||||
<td class='text-left'><?php echo $lang->bug->resolutionList[$bug->resolution];?></td>
|
||||
<td><?php echo $users[$bug->lastEditedBy];?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
@@ -65,14 +75,14 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class='tab-pane' id='affectedCases'>
|
||||
<table class='table table-borderless table-condensed'>
|
||||
<table class='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-70px'><?php echo $lang->testcase->id;?></th>
|
||||
<th><?php echo $lang->testcase->title;?></th>
|
||||
<th class='w-70px'><?php echo $lang->testcase->status;?></th>
|
||||
<th class='w-70px'><?php echo $lang->testcase->openedBy;?></th>
|
||||
<th><?php echo $lang->testcase->lastEditedBy;?></th>
|
||||
<tr class='text-center'>
|
||||
<th class='c-id'><?php echo $lang->idAB;?></th>
|
||||
<th class='text-left'><?php echo $lang->testcase->title;?></th>
|
||||
<th class='c-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-100px'><?php echo $lang->testcase->openedBy;?></th>
|
||||
<th class='w-100px'><?php echo $lang->testcase->lastEditedBy;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class='<?php if(count($story->cases) > $config->story->affectedFixedNum) echo "linkbox";?>'>
|
||||
@@ -80,7 +90,12 @@
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $case->id;?></td>
|
||||
<td class='text-left'><?php echo html::a($this->createLink('testcase', 'view', "caseID=$case->id"), $case->title, '_blank');?></td>
|
||||
<td class='case-<?php echo $case->status?>'><?php echo $lang->testcase->statusList[$case->status];?></td>
|
||||
<td>
|
||||
<span class='status-<?php echo $case->status?>'>
|
||||
<span class='label label-dot'></span>
|
||||
<?php echo $lang->testcase->statusList[$case->status];?>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $users[$case->openedBy];?></td>
|
||||
<td><?php echo $users[$case->lastEditedBy];?></td>
|
||||
</tr>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<div class="main-header">
|
||||
<h2><?php echo $lang->story->batchCreate;?></h2>
|
||||
<div class="pull-right btn-toolbar">
|
||||
<?php if(common::hasPriv('file', 'uploadImages')) echo html::a($this->createLink('file', 'uploadImages', 'module=story¶ms=' . helper::safe64Encode("productID=$productID&branch=$branch&moduleID=$moduleID")), $lang->uploadImages, '', "data-toggle='modal' data-type='iframe' class='btn btn-info' data-width='70%'")?>
|
||||
<button type='button' data-toggle="importLinesModal" class="btn btn-info"><?php echo $lang->pasteText;?></button>
|
||||
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustomFields', 'module=story§ion=custom&key=batchCreateFields')?>
|
||||
<?php include '../../common/view/customfield.html.php';?>
|
||||
|
||||
@@ -60,12 +60,13 @@
|
||||
<td><?php include './affected.html.php';?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td class='text-center'>
|
||||
<?php
|
||||
echo html::hidden('lastEditedDate', $story->lastEditedDate);
|
||||
echo html::submitButton('', '', 'btn btn-wide btn-primary');
|
||||
echo html::linkButton($lang->goback, $app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), '', '', 'btn btn-wide');
|
||||
?>
|
||||
<td></td>
|
||||
<td class='text-center'>
|
||||
<?php
|
||||
echo html::hidden('lastEditedDate', $story->lastEditedDate);
|
||||
echo html::submitButton('', '', 'btn btn-wide btn-primary');
|
||||
echo html::linkButton($lang->goback, $app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), 'self', '', 'btn btn-wide');
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -153,7 +153,7 @@ $config->testcase->datatable->fieldList['lastRunDate']['required'] = 'no';
|
||||
|
||||
$config->testcase->datatable->fieldList['lastRunResult']['title'] = 'lastRunResult';
|
||||
$config->testcase->datatable->fieldList['lastRunResult']['fixed'] = 'no';
|
||||
$config->testcase->datatable->fieldList['lastRunResult']['width'] = '80';
|
||||
$config->testcase->datatable->fieldList['lastRunResult']['width'] = '100';
|
||||
$config->testcase->datatable->fieldList['lastRunResult']['required'] = 'no';
|
||||
|
||||
$config->testcase->datatable->fieldList['status']['title'] = 'statusAB';
|
||||
|
||||
@@ -124,6 +124,7 @@ class testcase extends control
|
||||
$this->view->moduleTree = $this->tree->getTreeMenu($productID, $viewType = 'case', $startModuleID = 0, array('treeModel', 'createCaseLink'), '', $branch);
|
||||
$this->view->moduleName = $moduleID ? $this->tree->getById($moduleID)->name : $this->lang->tree->all;
|
||||
$this->view->moduleID = $moduleID;
|
||||
$this->view->summary = $this->testcase->summary($cases);
|
||||
$this->view->pager = $pager;
|
||||
$this->view->users = $this->user->getPairs('noletter');
|
||||
$this->view->orderBy = $orderBy;
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
#linkCasesForm {min-height: 300px}
|
||||
#mainContent {min-height: 300px}
|
||||
.table-actions {padding-left: 0}
|
||||
|
||||
@@ -118,6 +118,7 @@ $lang->testcase->allCases = 'All';
|
||||
$lang->testcase->allTestcases = 'All Cases';
|
||||
$lang->testcase->needConfirm = 'StoryChanged';
|
||||
$lang->testcase->bySearch = 'Search';
|
||||
$lang->testcase->unexecuted = 'Unexecuted';
|
||||
|
||||
$lang->testcase->lblStory = 'Story';
|
||||
$lang->testcase->lblLastEdited = 'Last Edit';
|
||||
@@ -131,6 +132,7 @@ $lang->testcase->legendLinkBugs = 'Bug';
|
||||
$lang->testcase->legendOpenAndEdit = 'Create/Edit';
|
||||
$lang->testcase->legendComment = 'Remark';
|
||||
|
||||
$lang->testcase->summary = "Cases on this page : <strong>%s</strong> Total, <strong>%s</strong> runed.";
|
||||
$lang->testcase->confirmDelete = 'Do you want to delete this Test Case?';
|
||||
$lang->testcase->confirmBatchDelete = 'Do you want to batch delete thess Test Cases?';
|
||||
$lang->testcase->ditto = 'Ditto';
|
||||
|
||||
@@ -118,6 +118,7 @@ $lang->testcase->allCases = '所有';
|
||||
$lang->testcase->allTestcases = '所有用例';
|
||||
$lang->testcase->needConfirm = '需求变动';
|
||||
$lang->testcase->bySearch = '搜索';
|
||||
$lang->testcase->unexecuted = '未执行';
|
||||
|
||||
$lang->testcase->lblStory = '相关需求';
|
||||
$lang->testcase->lblLastEdited = '最后编辑';
|
||||
@@ -131,6 +132,7 @@ $lang->testcase->legendLinkBugs = '相关Bug';
|
||||
$lang->testcase->legendOpenAndEdit = '创建编辑';
|
||||
$lang->testcase->legendComment = '备注';
|
||||
|
||||
$lang->testcase->summary = "本页共 <strong>%s</strong> 个用例,已执行<strong>%s</strong>个。";
|
||||
$lang->testcase->confirmDelete = '您确认要删除该测试用例吗?';
|
||||
$lang->testcase->confirmBatchDelete = '您确认要批量删除这些测试用例吗?';
|
||||
$lang->testcase->ditto = '同上';
|
||||
|
||||
@@ -1384,7 +1384,8 @@ class testcaseModel extends model
|
||||
if(!helper::isZeroDate($case->lastRunDate)) echo date(DT_MONTHTIME1, strtotime($case->lastRunDate));
|
||||
break;
|
||||
case 'lastRunResult':
|
||||
if($case->lastRunResult) echo $this->lang->testcase->resultList[$case->lastRunResult];
|
||||
$lastRunResultText = $case->lastRunResult ? zget($this->lang->testcase->resultList, $case->lastRunResult, $case->lastRunResult) : $this->lang->testcase->unexecuted;
|
||||
echo html::a(helper::createLink('testtask', 'results', "runID=0&caseID=$case->id", '', true), "<i class='icon icon-list-alt'></i> <span>{$lastRunResultText}</span>", '', "class='iframe btn btn-icon-left'");
|
||||
break;
|
||||
case 'bugs':
|
||||
echo (common::hasPriv('testcase', 'bugs') and $case->bugs) ? html::a(helper::createLink('testcase', 'bugs', "runID=0&caseID={$case->id}"), $case->bugs, '', "class='iframe'") : $case->bugs;
|
||||
@@ -1398,7 +1399,6 @@ class testcaseModel extends model
|
||||
case 'actions':
|
||||
echo "<div class='more'>";
|
||||
if($this->config->testcase->needReview or !empty($this->config->testcase->forceReview)) common::printIcon('testcase', 'review', "caseID=$case->id", $case, 'list', 'glasses', '', 'iframe');
|
||||
common::printIcon('testcase', 'create', "productID=$case->product&branch=$case->branch&moduleID=$case->module&from=testcase¶m=$case->id", $case, 'list', 'copy');
|
||||
|
||||
if(common::hasPriv('testcase', 'delete', $case))
|
||||
{
|
||||
@@ -1407,9 +1407,9 @@ class testcaseModel extends model
|
||||
}
|
||||
echo '</div>';
|
||||
common::printIcon('testtask', 'runCase', "runID=0&caseID=$case->id&version=$case->version", $case, 'list', 'play', '', 'runCase iframe', false, "data-width='95%'");
|
||||
common::printIcon('testtask', 'results', "runID=0&caseID=$case->id", $case, 'list', '', '', 'results iframe', '', "data-width='90%'");
|
||||
common::printIcon('testcase', 'edit', "caseID=$case->id", $case, 'list');
|
||||
common::printIcon('testcase', 'createBug', "product=$case->product&branch=$case->branch&extra=caseID=$case->id,version=$case->version,runID=", $case, 'list', 'bug', '', 'iframe', '', "data-width='90%'");
|
||||
common::printIcon('testcase', 'create', "productID=$case->product&branch=$case->branch&moduleID=$case->module&from=testcase¶m=$case->id", $case, 'list', 'copy');
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -1496,4 +1496,15 @@ class testcaseModel extends model
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function summary($cases)
|
||||
{
|
||||
$executed = 0;
|
||||
foreach($cases as $case)
|
||||
{
|
||||
if($case->lastRunResult != '') $executed ++;
|
||||
}
|
||||
|
||||
return sprintf($this->lang->testcase->summary, count($cases), $executed);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
<?php endif;?>
|
||||
</h2>
|
||||
<div class="pull-right btn-toolbar">
|
||||
<button type='button' data-toggle="importLinesModal" class="btn btn-info"><?php echo $lang->pasteText;?></button>
|
||||
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustomFields', 'module=testcase§ion=custom&key=batchCreateFields')?>
|
||||
<?php include '../../common/view/customfield.html.php';?>
|
||||
</div>
|
||||
@@ -55,10 +56,7 @@
|
||||
<th class='w-120px<?php echo zget($visibleFields, $product->type, ' hidden')?>'><?php echo $lang->product->branch;?></th>
|
||||
<th class='w-180px<?php echo zget($visibleFields, 'module', ' hidden') . zget($requiredFields, 'module', ' required');?>'><?php echo $lang->testcase->module;?></th>
|
||||
<th class='w-180px<?php echo zget($visibleFields, 'story', ' hidden') . zget($requiredFields, 'story', ' required'); echo $hiddenStory;?>'> <?php echo $lang->testcase->story;?></th>
|
||||
<th class='text-left required has-btn'>
|
||||
<?php echo $lang->testcase->title;?></span>
|
||||
<button type='button' data-toggle="importLinesModal" class="btn btn-info"><?php echo $lang->pasteText;?></button>
|
||||
</th>
|
||||
<th class='text-left required has-btn'><?php echo $lang->testcase->title;?></span></th>
|
||||
<th class='w-120px text-left required'><?php echo $lang->testcase->type;?></th>
|
||||
<th class='w-80px<?php echo zget($visibleFields, 'pri', ' hidden') . zget($requiredFields, 'pri', ' required')?>'><?php echo $lang->testcase->pri;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'precondition', ' hidden') . zget($requiredFields, 'precondition', ' required')?>'><?php echo $lang->testcase->precondition;?></th>
|
||||
|
||||
@@ -41,6 +41,10 @@ js::set('branch', $branch);
|
||||
<div class='main-col'>
|
||||
<div id='queryBox' class='cell <?php if($browseType =='bysearch') echo 'show';?>'></div>
|
||||
<form class='main-table table-case' data-ride='table' id='batchForm' method='post'>
|
||||
<div class="table-header">
|
||||
<div class="table-statistic"><?php echo $summary;?></div>
|
||||
<nav class="btn-toolbar pull-right"></nav>
|
||||
</div>
|
||||
<?php
|
||||
$datatableId = $this->moduleName . ucfirst($this->methodName);
|
||||
$useDatatable = (isset($this->config->datatable->$datatableId->mode) and $this->config->datatable->$datatableId->mode == 'datatable');
|
||||
|
||||
@@ -178,7 +178,10 @@
|
||||
<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'>
|
||||
<label class="checkbox-inline"><input tabindex='-1' type="checkbox" class='step-group-toggle'<?php if($step->type === 'group') echo ' checked' ?>> <?php echo $lang->testcase->group ?></label>
|
||||
<div class='checkbox-primary'>
|
||||
<input tabindex='-1' type="checkbox" class='step-group-toggle'<?php if($step->type === 'group') echo ' checked' ?>>
|
||||
<label><?php echo $lang->testcase->group ?></label>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
@@ -210,11 +213,8 @@
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan='3' class='text-center'>
|
||||
<?php
|
||||
echo html::submitButton($lang->save, '', 'btn btn-wide btn-primary');
|
||||
echo ' ';
|
||||
echo html::backButton($lang->goback, '', 'btn btn-wide');
|
||||
?>
|
||||
<?php echo html::submitButton('', '', 'btn btn-wide btn-primary');?>
|
||||
<?php echo html::backButton('', '', 'btn btn-wide');?>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
@@ -2,10 +2,5 @@
|
||||
.main #stories{margin-bottom:10px}
|
||||
.main .table-report{border:0px;}
|
||||
|
||||
.detail-title
|
||||
{
|
||||
background:#f1f1f1;
|
||||
padding:8px 10px;
|
||||
border: none;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
.detail > table {border: 1px solid #ddd;}
|
||||
.detail-title {background:#f1f1f1; padding:8px 10px; border: none;}
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
.main .nav-tabs{padding-left:20px; padding-top:10px;}
|
||||
.main .tab-content{border:0px;}
|
||||
.tab-content #builds tr:last-child td, .tab-content #cases tr:last-child td,.tab-content #bugs tr:last-child td,.tab-content #legacyBugs tr:last-child td{border-bottom:0px;}
|
||||
.tab-pane > table {border: 1px solid #ddd;}
|
||||
.tab-pane > table:first-child {border-top: none;}
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
<div class='center-block mw-1400px'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->testreport->create;?></h2>
|
||||
<div class='pull-right btn-toolbar'><?php echo html::backButton();?></div>
|
||||
</div>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<div class='detail'>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<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>
|
||||
<tr class='text-center'>
|
||||
<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>
|
||||
@@ -44,7 +44,7 @@
|
||||
$type = $i == 0 ? 'feature' : 'ditto';
|
||||
$pri = $i == 0 ? 3 : 'ditto';
|
||||
?>
|
||||
<tr class='text-center'>
|
||||
<tr>
|
||||
<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'>
|
||||
|
||||
@@ -190,12 +190,9 @@
|
||||
</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 colspan='3' class='text-center'>
|
||||
<?php echo html::submitButton('', '', 'btn btn-wide btn-primary');?>
|
||||
<?php echo html::backButton('', '', 'btn btn-wide');?>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
+2
-2
File diff suppressed because one or more lines are too long
@@ -9,3 +9,4 @@
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
th.required:after{position: relative; right: 10px;}
|
||||
.divider + .divider{display:none;}
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user