* ajusted views
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php js::set('holders ', $lang->doc->placeholder);?>
|
||||
<div class='container w-900px'>
|
||||
<div class='container mw-900px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['doc']);?></span>
|
||||
|
||||
@@ -19,12 +19,12 @@ $(document).ready(function()
|
||||
setType(type);
|
||||
});
|
||||
</script>
|
||||
<div class='container w-900px'>
|
||||
<div class='container mw-900px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['doc']) . ' #' . $doc->id;?></span>
|
||||
<strong><?php echo html::a($this->createLink('doc', 'view', "docID=$doc->id"), $doc->title);?></strong>
|
||||
<small class='text-muted'> <?php echo $lang->doc->edit;?> <i class='icon icon-pencil'></i></small>
|
||||
<small class='text-muted'> <?php echo html::icon($lang->icons['edit']) . ' ' . $lang->doc->edit;?></small>
|
||||
</div>
|
||||
</div>
|
||||
<form class='form-condensed' method='post' enctype='multipart/form-data' target='hiddenwin' id='dataform'>
|
||||
|
||||
@@ -85,23 +85,23 @@
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->type;?></th>
|
||||
<td><?php echo $lang->doc->types[$doc->type];?></td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->addedBy;?></th>
|
||||
<td><?php echo $users[$doc->addedBy];?></td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->addedDate;?></th>
|
||||
<td><?php echo $doc->addedDate;?></td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->editedBy;?></th>
|
||||
<td><?php echo $users[$doc->editedBy];?></td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->editedDate;?></th>
|
||||
<td><?php echo $doc->editedDate;?></td>
|
||||
</tr>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
.panel > .table > thead > tr > th, .panel > form > .table > thead > tr > th {background: #f1f1f1}
|
||||
.panel-block td, .panel-block th {padding: 6px;}
|
||||
.panel-block.dynamic td {padding: 6px 6px 5px}
|
||||
.panel-block tr > td:first-child, .panel-block tr > th:first-child {padding-left: 10px;}
|
||||
.panel-block tr > td:first-child, .panel-block tr > th:first-child, .outer .table tr > th:first-child, .outer .table tr > td:first-child {padding-left: 10px;}
|
||||
.panel-block td .progressbar {display: inline-block; height: 16px; background: #229F24;}
|
||||
.panel-block .icon {color: #666; display: inline-block; margin-right: 2px;}
|
||||
#wrap .outer {padding: 20px 20px 0}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<table class='table table-condensed table-hover table-striped table-borderless'>
|
||||
<thead>
|
||||
<tr class='text-center'>
|
||||
<th class='w-150px text-left'><div class='f-left'><i class="icon icon-cube"></i> <?php echo $lang->product->name;?></div></th>
|
||||
<th class='w-150px text-left'><i class="icon icon-cube"></i> <?php echo $lang->product->name;?></th>
|
||||
<th title='<?php echo $lang->story->common;?>'><?php echo $lang->story->statusList['active'];?></th>
|
||||
<th title='<?php echo $lang->story->common;?>'><?php echo $lang->story->statusList['changed'];?></th>
|
||||
<th title='<?php echo $lang->story->common;?>'><?php echo $lang->story->statusList['draft'];?></th>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='container w-500px'>
|
||||
<div class='container mw-500px'>
|
||||
<div id='featurebar'>
|
||||
<div class='heading'><i class='icon-key'></i> <?php echo $lang->my->changePassword;?></div>
|
||||
</div>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<div class='container w-800px'>
|
||||
<div class='container mw-800px'>
|
||||
<div id='featurebar'>
|
||||
<div class='heading'><i class='icon-pencil'></i> <?php echo $lang->my->editProfile;?></div>
|
||||
</div>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='container w-600px'>
|
||||
<div class='container mw-600px'>
|
||||
<div id='featurebar'>
|
||||
<div class='heading'><i class='icon-user'></i> <?php echo $lang->my->profile;?></div>
|
||||
<div class='btn-group pull-right'>
|
||||
|
||||
@@ -19,6 +19,7 @@ $lang->product->batchEdit = "批量编辑";
|
||||
$lang->product->create = "新增产品";
|
||||
$lang->product->read = "产品详情";
|
||||
$lang->product->delete = "删除产品";
|
||||
$lang->product->deleted = "已删除";
|
||||
$lang->product->close = "关闭";
|
||||
$lang->product->select = '--请选择产品--';
|
||||
$lang->product->mine = '我负责:';
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<div class='block' id='productbox'>
|
||||
<?php if(empty($productStats)):?>
|
||||
<div class='container w-500px'>
|
||||
<div class='container mw-500px'>
|
||||
<div class='alert'>
|
||||
<i class='icon icon-info-sign'></i>
|
||||
<div class='content'>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='container w-900px'>
|
||||
<div class='container mw-900px'>
|
||||
<div id='featurebar'><div class='heading'><i class='icon-code-fork'></i> <?php echo $lang->product->roadmap;?></div></div>
|
||||
<table class='table-grid w-p100'>
|
||||
<?php
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><i class='icon-cube'></i> #<?php echo $product->id;?></span>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['product']) . ' #' . $product->id;?></span>
|
||||
<strong><?php echo $product->name;?></strong>
|
||||
<?php if($product->deleted):?>
|
||||
<small class='label label-danger'><?php echo $lang->product->deleted;?></small>
|
||||
|
||||
@@ -14,41 +14,51 @@
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php js::import($jsRoot . 'misc/date.js');?>
|
||||
<form method='post' target='hiddenwin' id='dataform'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->productplan->create;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->product;?></th>
|
||||
<td><?php echo $product->name;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->title;?></th>
|
||||
<td><?php echo html::input('title', '', "class='text-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->begin;?></th>
|
||||
<td><?php echo html::input('begin', $begin, "class='text-3 date'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->end;?></th>
|
||||
<td>
|
||||
<?php echo html::input('end', '', "class='text-3 date'");?>
|
||||
<span><?php echo html::radio('delta', $lang->productplan->endList , '', "onclick='computeEndDate(this.value)'");?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->desc;?></th>
|
||||
<td><?php echo html::textarea('desc', '', "rows='10' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php
|
||||
echo html::submitButton();
|
||||
echo html::backButton();
|
||||
echo html::hidden('product', $product->id);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<div class='container mw-900px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['plan']);?></span>
|
||||
<strong><small class='text-muted'><i class='icon icon-plus'></i></small> <?php echo $lang->productplan->create;?></strong>
|
||||
</div>
|
||||
</div>
|
||||
<form class='form-condensed' method='post' target='hiddenwin' id='dataform'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->productplan->product;?></th>
|
||||
<td class='w-p45'><?php echo $product->name;?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->title;?></th>
|
||||
<td><?php echo html::input('title', '', "class='form-control'");?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->begin;?></th>
|
||||
<td><?php echo html::input('begin', $begin, "class='form-control date'");?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->end;?></th>
|
||||
<td colspan='2'>
|
||||
<div class='input-group w-p100'>
|
||||
<?php echo html::input('end', '', "class='form-control form-date'");?>
|
||||
<span class='input-group-addon'><?php echo html::radio('delta', $lang->productplan->endList , '', "onclick='computeEndDate(this.value)'");?></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->desc;?></th>
|
||||
<td colspan='2'><?php echo html::textarea('desc', '', "rows='10' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan='2'>
|
||||
<?php
|
||||
echo html::submitButton();
|
||||
echo html::backButton();
|
||||
echo html::hidden('product', $product->id);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -13,38 +13,47 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<form method='post' target='hiddenwin' id='dataform'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->productplan->edit;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->product;?></th>
|
||||
<td><?php echo $product->name;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->title;?></th>
|
||||
<td><?php echo html::input('title', $plan->title, 'class="text-3"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->begin;?></th>
|
||||
<td><?php echo html::input('begin', $plan->begin, 'class="text-3 date"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->end;?></th>
|
||||
<td><?php echo html::input('end', $plan->end, 'class="text-3 date"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->desc;?></th>
|
||||
<td><?php echo html::textarea('desc', $plan->desc, "rows='10' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php
|
||||
echo html::submitButton();
|
||||
echo html::backButton();
|
||||
echo html::hidden('product', $product->id);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<div class='container mw-900px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['plan']);?></span>
|
||||
<strong><?php echo html::a(inlink('view', "id=$plan->id"), $plan->title);?></strong>
|
||||
<small><?php echo html::icon($lang->icons['edit']) . ' ' . $lang->productplan->edit;?></small>
|
||||
</div>
|
||||
</div>
|
||||
<form class='form-condensed' method='post' target='hiddenwin' id='dataform'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->productplan->product;?></th>
|
||||
<td class='w-p45'><?php echo $product->name;?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->title;?></th>
|
||||
<td><?php echo html::input('title', $plan->title, 'class="form-control"');?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->begin;?></th>
|
||||
<td><?php echo html::input('begin', $plan->begin, 'class="form-control date"');?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->end;?></th>
|
||||
<td><?php echo html::input('end', $plan->end, 'class="form-control form-date"');?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->desc;?></th>
|
||||
<td colspan='2'><?php echo html::textarea('desc', $plan->desc, "rows='10' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan='2'>
|
||||
<?php
|
||||
echo html::submitButton();
|
||||
echo html::backButton();
|
||||
echo html::hidden('product', $product->id);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -14,175 +14,205 @@
|
||||
<?php include '../../common/view/tablesorter.html.php';?>
|
||||
<?php js::set('confirmUnlinkStory', $lang->productplan->confirmUnlinkStory)?>
|
||||
<?php js::set('confirmUnlinkBug', $lang->productplan->confirmUnlinkBug)?>
|
||||
<div id='titlebar' <?php if($plan->deleted) echo "class='deleted'";?>>PLAN #<?php echo $plan->id . ' ' . $plan->title;?></div>
|
||||
<form method='post' target='hiddenwin' action="<?php echo inLink('batchUnlinkStory');?>">
|
||||
<table class='cont-rt5'>
|
||||
<tr valign='top'>
|
||||
<td>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->productplan->desc;?></legend>
|
||||
<div class='content'><?php echo $plan->desc;?></div>
|
||||
</fieldset>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
<div class='a-center f-16px strong'>
|
||||
<?php
|
||||
$browseLink = $this->session->productPlanList ? $this->session->productPlanList : inlink('browse', "planID=$plan->id");
|
||||
if(!$plan->deleted)
|
||||
{
|
||||
common::printIcon('productplan', 'linkStory',"planID=$plan->id");
|
||||
common::printIcon('productplan', 'linkBug', "planID=$plan->id");
|
||||
common::printIcon('productplan', 'edit', "planID=$plan->id");
|
||||
common::printIcon('productplan', 'delete', "planID=$plan->id", '', 'button', '', 'hiddenwin');
|
||||
}
|
||||
common::printRPN($browseLink);
|
||||
?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['plan']) . ' #' . $plan->id;?></span>
|
||||
<strong><?php echo $plan->title;?></strong>
|
||||
<?php if($plan->deleted):?>
|
||||
<small class='label label-danger'><?php echo $lang->plan->deleted;?></small>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class='actions'>
|
||||
<?php
|
||||
$browseLink = $this->session->productPlanList ? $this->session->productPlanList : inlink('browse', "planID=$plan->id");
|
||||
if(!$plan->deleted)
|
||||
{
|
||||
ob_start();
|
||||
echo "<div class='btn-group'>";
|
||||
common::printIcon('productplan', 'linkStory',"planID=$plan->id", '', 'button', $lang->icons['link']);
|
||||
common::printIcon('productplan', 'linkBug', "planID=$plan->id", '', 'button', $lang->icons['bug']);
|
||||
echo '</div>';
|
||||
echo "<div class='btn-group'>";
|
||||
common::printIcon('productplan', 'edit', "planID=$plan->id");
|
||||
common::printIcon('productplan', 'delete', "planID=$plan->id", '', 'button', '', 'hiddenwin');
|
||||
echo '</div>';
|
||||
$actionLinks = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $actionLinks;
|
||||
}
|
||||
common::printRPN($browseLink);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='row'>
|
||||
<div class='col-sm-8 col-lg-9'>
|
||||
<div class='main'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->productplan->desc;?></legend>
|
||||
<div class='article-content'><?php echo $plan->desc;?></div>
|
||||
</fieldset>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
<div class='actions'><?php if(!$product->deleted) echo $actionLinks;?></div>
|
||||
<div class='tabs'>
|
||||
<ul class='nav nav-tabs'>
|
||||
<li class='active'><a href='#batchUnlinkStory' data-toggle='tab'><?php echo html::icon($lang->icons['story']) . ' ' . $lang->productplan->linkedStories;?></a></li>
|
||||
<li><a href='#batchUnlinkBug' data-toggle='tab'><?php echo html::icon($lang->icons['bug']) . ' ' . $lang->productplan->linkedBugs;?></a></li>
|
||||
</ul>
|
||||
<div class='tab-content'>
|
||||
<div id='batchUnlinkStory' class='tab-pane active'>
|
||||
<form class='form-condensed' method='post' target='hiddenwin' action="<?php echo inLink('batchUnlinkStory');?>">
|
||||
<table class='table tablesorter table-condensed table-hover table-striped table-borderless' id='storyList'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id {sorter:"currency"}'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-pri'> <?php echo $lang->priAB;?></th>
|
||||
<th> <?php echo $lang->story->title;?></th>
|
||||
<th class='w-user'> <?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-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='w-60px'> <?php echo $lang->story->stageAB;?></th>
|
||||
<th class='w-50px {sorter:false}'><?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$totalEstimate = 0.0;
|
||||
$canBatchUnlink = common::hasPriv('productPlan', 'batchUnlinkStory');
|
||||
?>
|
||||
<?php foreach($planStories as $story):?>
|
||||
<?php
|
||||
$viewLink = $this->createLink('story', 'view', "storyID=$story->id");
|
||||
$totalEstimate += $story->estimate;
|
||||
?>
|
||||
<tr class='text-center'>
|
||||
<td>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<input class='ml-10px' type='checkbox' name='unlinkStories[]' value='<?php echo $story->id;?>'/>
|
||||
<?php endif;?>
|
||||
<?php echo html::a($viewLink, sprintf("%03d", $story->id));?>
|
||||
</td>
|
||||
<td><span class='<?php echo 'pri' . $story->pri?>'><?php echo $story->pri;?></span></td>
|
||||
<td class='text-left nobr'><?php echo html::a($viewLink , $story->title);?></td>
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
<td><?php echo $users[$story->assignedTo];?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
<td>
|
||||
<?php
|
||||
if(common::hasPriv('productplan', 'unlinkStory'))
|
||||
{
|
||||
$unlinkURL = $this->createLink('productplan', 'unlinkStory', "story=$story->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"storyList\",confirmUnlinkStory)", '<i class="icon-remove"></i>', '', "class='btn-icon' title='{$lang->productplan->unlinkStory}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan='9'>
|
||||
<div class='table-actions clearfix'>
|
||||
<?php
|
||||
if(count($planStories) and $canBatchUnlink)
|
||||
{
|
||||
echo "<div class='btn-group'>" . html::selectAll() . html::selectReverse() . '</div>';
|
||||
echo html::submitButton("<i class='icon-remove-sign'></i> " . $lang->productplan->batchUnlink);
|
||||
}
|
||||
?>
|
||||
<div class='text'><?php echo $summary;?></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div id='batchUnlinkBug' class='tab-pane'>
|
||||
<form method='post' target='hiddenwin' action="<?php echo inLink('batchUnlinkBug');?>">
|
||||
<table class='table tablesorter table-condensed table-hover table-striped table-borderless' id='bugList'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-id {sorter:"currency"}'><?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->assignedToAB;?></th>
|
||||
<th class='w-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-50px {sorter:false}'><?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $canBatchUnlink = common::hasPriv('productPlan', 'batchUnlinkBug');?>
|
||||
<?php foreach($planBugs as $bug):?>
|
||||
<tr class='text-center'>
|
||||
<td>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<input class='ml-10px' type='checkbox' name='unlinkBugs[]' value='<?php echo $bug->id;?>'/>
|
||||
<?php endif;?>
|
||||
<?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), sprintf("%03d", $bug->id));?>
|
||||
</td>
|
||||
<td><span class='<?php echo 'pri' . $bug->pri?>'><?php echo $bug->pri;?></span></td>
|
||||
<td class='text-left nobr'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo $users[$bug->assignedTo];?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<?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-remove"></i>', '', "class='btn-icon' title='{$lang->productplan->unlinkBug}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan='7'>
|
||||
<div class='table-actions clearfix'>
|
||||
<?php
|
||||
echo "<div class='btn-group'>" . html::selectAll('linkedBugsForm') . html::selectReverse('linkedBugsForm') . '</div>';
|
||||
echo html::submitButton("<i class='icon-remove-sign'></i> " . $lang->productplan->batchUnlink);
|
||||
?>
|
||||
<div class='text'><?php echo sprintf($lang->productplan->bugSummary, count($planBugs));?> </div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="divider"></td>
|
||||
<td class="side">
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->productplan->basicInfo?></legend>
|
||||
<table class='table-1 a-left'>
|
||||
<tr>
|
||||
<th width='25%' class='a-right'><?php echo $lang->productplan->title;?></th>
|
||||
<td><?php echo $plan->title;?></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->begin;?></th>
|
||||
<td><?php echo $plan->begin;?></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->productplan->end;?></th>
|
||||
<td><?php echo $plan->end;?></th>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class='table-1 tablesorter a-center fixed' id='storyList'>
|
||||
<caption class='caption-tl'><?php echo $plan->title .$lang->colon . $lang->productplan->linkedStories;?></caption>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-id {sorter:"currency"}'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-pri'> <?php echo $lang->priAB;?></th>
|
||||
<th> <?php echo $lang->story->title;?></th>
|
||||
<th class='w-user'> <?php echo $lang->openedByAB;?></th>
|
||||
<th class='w-user'> <?php echo $lang->assignedToAB;?></th>
|
||||
<th class='w-30px'> <?php echo $lang->story->estimateAB;?></th>
|
||||
<th class='w-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-60px'> <?php echo $lang->story->stageAB;?></th>
|
||||
<th class='w-50px {sorter:false}'><?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$totalEstimate = 0.0;
|
||||
$canBatchUnlink = common::hasPriv('productPlan', 'batchUnlinkStory');
|
||||
?>
|
||||
<?php foreach($planStories as $story):?>
|
||||
<?php
|
||||
$viewLink = $this->createLink('story', 'view', "storyID=$story->id");
|
||||
$totalEstimate += $story->estimate;
|
||||
?>
|
||||
<tr>
|
||||
<td class='a-center'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<input class='ml-10px' type='checkbox' name='unlinkStories[]' value='<?php echo $story->id;?>'/>
|
||||
<?php endif;?>
|
||||
<?php echo html::a($viewLink, sprintf("%03d", $story->id));?>
|
||||
</td>
|
||||
<td><span class='<?php echo 'pri' . $story->pri?>'><?php echo $story->pri;?></span></td>
|
||||
<td class='a-left nobr'><?php echo html::a($viewLink , $story->title);?></td>
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
<td><?php echo $users[$story->assignedTo];?></td>
|
||||
<td><?php echo $story->estimate;?></td>
|
||||
<td><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<td><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
<td>
|
||||
<?php
|
||||
if(common::hasPriv('productplan', 'unlinkStory'))
|
||||
{
|
||||
$unlinkURL = $this->createLink('productplan', 'unlinkStory', "story=$story->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"storyList\",confirmUnlinkStory)", '<i class="icon-remove"></i>', '', "class='link-icon' title='{$lang->productplan->unlinkStory}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan='9'>
|
||||
<div class='f-left'>
|
||||
<?php
|
||||
if(count($planStories) and $canBatchUnlink)
|
||||
{
|
||||
echo html::selectAll() . html::selectReverse();
|
||||
echo html::submitButton($lang->productplan->batchUnlink);
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div class='f-right'><?php echo $summary;?> </div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
<form method='post' target='hiddenwin' action="<?php echo inLink('batchUnlinkBug');?>">
|
||||
<table class='table-1 tablesorter a-center fixed' id='bugList'>
|
||||
<caption class='caption-tl'><?php echo $plan->title .$lang->colon . $lang->productplan->linkedBugs;?></caption>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-id {sorter:"currency"}'><?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->assignedToAB;?></th>
|
||||
<th class='w-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='w-50px {sorter:false}'><?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $canBatchUnlink = common::hasPriv('productPlan', 'batchUnlinkBug');?>
|
||||
<?php foreach($planBugs as $bug):?>
|
||||
<tr>
|
||||
<td class='a-center'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<input class='ml-10px' type='checkbox' name='unlinkBugs[]' value='<?php echo $bug->id;?>'/>
|
||||
<?php endif;?>
|
||||
<?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), sprintf("%03d", $bug->id));?>
|
||||
</td>
|
||||
<td><span class='<?php echo 'pri' . $bug->pri?>'><?php echo $bug->pri;?></span></td>
|
||||
<td class='a-left nobr'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td><?php echo $users[$bug->assignedTo];?></td>
|
||||
<td><?php echo $lang->bug->statusList[$bug->status];?></td>
|
||||
<td>
|
||||
<?php
|
||||
if(common::hasPriv('productplan', 'unlinkBug'))
|
||||
{
|
||||
$unlinkURL = $this->createLink('productplan', 'unlinkBug', "story=$bug->id&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\",\"bugList\",confirmUnlinkBug)", ' ', '', "class='icon-green-productplan-unlinkBug' title='{$lang->productplan->unlinkBug}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan='7'>
|
||||
<div class='f-left'>
|
||||
<?php
|
||||
echo html::selectAll('linkedBugsForm') . html::selectReverse('linkedBugsForm');
|
||||
echo html::submitButton($lang->productplan->batchUnlink);
|
||||
?>
|
||||
</div>
|
||||
<div class='f-right'><?php echo sprintf($lang->productplan->bugSummary, count($planBugs));?> </div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-sm-4 col-lg-3'>
|
||||
<div class='main main-side'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->productplan->basicInfo?></legend>
|
||||
<table class='table table-data table-condensed table-borderless'>
|
||||
<tr>
|
||||
<th class='w-80px strong'><?php echo $lang->productplan->title;?></th>
|
||||
<td><?php echo $plan->title;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->begin;?></th>
|
||||
<td><?php echo $plan->begin;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->productplan->end;?></th>
|
||||
<td><?php echo $plan->end;?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/tablesorter.html.php';?>
|
||||
<?php js::set('confirmDelete', $lang->release->confirmDelete)?>
|
||||
<div class='container w-900px'>
|
||||
<div class='container mw-900px'>
|
||||
<div id='featurebar'>
|
||||
<div class='heading'><i class='icon-tags'></i> <?php echo $lang->release->browse;?> </div>
|
||||
<div class='btn-group pull-right'>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<div class='container w-900px'>
|
||||
<div class='container mw-900px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['release']);?></span>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
select.select-3,#module,#mailto {width:230px}
|
||||
.text-1 {width:220px}
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
<?php include './header.html.php';?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['story']) . ' #' . $product->id;?></span>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['story']) . ' #' . $story->id;?></span>
|
||||
<strong><?php echo html::a($this->createLink('story', 'view', "storyID=$story->id"), $story->title);?></strong>
|
||||
<small><i class='icon-random'></i> <?php echo $lang->story->change;?></small>
|
||||
<small><?php echo html::icon($lang->icons['change']) . ' ' . $lang->story->change;?></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class='row'>
|
||||
|
||||
@@ -11,32 +11,52 @@
|
||||
*/
|
||||
?>
|
||||
<?php include './header.html.php';?>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $story->title;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->story->closedReason;?></th>
|
||||
<td><?php echo html::select('closedReason', $lang->story->reasonList, '', 'class=select-3 onchange="setStory(this.value)"');?></td>
|
||||
</tr>
|
||||
<tr id='duplicateStoryBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->story->duplicateStory;?></th>
|
||||
<td><?php echo html::input('duplicateStory', '', 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr id='childStoriesBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->story->childStories;?></th>
|
||||
<td><?php echo html::input('childStories', '', 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->story->comment;?></th>
|
||||
<td><?php echo html::textarea('comment', '', "rows='8' class='w-p98'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
<?php echo html::linkButton($lang->goback, $app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"));?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</form>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['story']) . ' #' . $story->id;?></span>
|
||||
<strong><?php echo html::a($this->createLink('story', 'view', "storyID=$story->id"), $story->title);?></strong>
|
||||
<small><?php echo html::icon($lang->icons['close']) . ' ' . $lang->story->close;?></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class='row'>
|
||||
<div class='col-md-8'>
|
||||
<div class='main'>
|
||||
<form method='post' target='hiddenwin' class='form-condensed'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->story->closedReason;?></th>
|
||||
<td class='w-p45'><?php echo html::select('closedReason', $lang->story->reasonList, '', 'class=form-control onchange="setStory(this.value)"');?></td><td></td>
|
||||
</tr>
|
||||
<tr id='duplicateStoryBox' class='hidden1'>
|
||||
<th><?php echo $lang->story->duplicateStory;?></th>
|
||||
<td><?php echo html::input('duplicateStory', '', 'class=form-control');?></td><td></td>
|
||||
</tr>
|
||||
<tr id='childStoriesBox' class='hidden1'>
|
||||
<th><?php echo $lang->story->childStories;?></th>
|
||||
<td><?php echo html::input('childStories', '', 'class=form-control');?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->comment;?></th>
|
||||
<td colspan='2'><?php echo html::textarea('comment', '', "rows='8' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan='2'>
|
||||
<?php echo html::submitButton();?>
|
||||
<?php echo html::linkButton($lang->goback, $app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"));?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-md-4'>
|
||||
<div class='main main-side'>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -11,130 +11,138 @@
|
||||
*/
|
||||
?>
|
||||
<?php include './header.html.php';?>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin' id='dataform'>
|
||||
<form class='form-condensed' method='post' enctype='multipart/form-data' target='hiddenwin' id='dataform'>
|
||||
<div id='titlebar'>
|
||||
<div id='main'>STORY #<?php echo $story->id . $lang->colon . $story->title;?></div>
|
||||
<div><?php echo html::submitButton()?></div>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['story']) . ' #' . $story->id;?></span>
|
||||
<strong><?php echo html::a($this->createLink('story', 'view', "storyID=$story->id"), $story->title);?></strong>
|
||||
<small><?php echo html::icon($lang->icons['edit']) . ' ' . $lang->story->edit;?></small>
|
||||
</div>
|
||||
<div class='actions'>
|
||||
<?php echo html::submitButton(html::icon('save') . ' ' . $lang->save)?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class='cont-rt5'>
|
||||
<tr valign='top'>
|
||||
<td>
|
||||
<div class='row'>
|
||||
<div class='col-md-8'>
|
||||
<div class='main'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->story->legendSpec;?></legend>
|
||||
<div class='content'><?php echo $story->spec;?></div>
|
||||
<div class='article-content'><?php echo $story->spec;?></div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->story->verify;?></legend>
|
||||
<div><?php echo $story->verify;?></div>
|
||||
<div class='article-content'><?php echo $story->verify;?></div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<fieldset class='fieldset-pure'>
|
||||
<legend><?php echo $lang->story->comment;?></legend>
|
||||
<?php echo html::textarea('comment', '', "rows='5' class='area-1'");?>
|
||||
<div class='form-group'>
|
||||
<?php echo html::textarea('comment', '', "rows='5' class='form-control'");?>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class='a-center'>
|
||||
<div class='actions'>
|
||||
<?php
|
||||
echo html::submitButton();
|
||||
echo html::submitButton(html::icon('save') . ' ' . $lang->save);
|
||||
echo html::linkButton($lang->goback, $app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"));
|
||||
?>
|
||||
</div>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</td>
|
||||
<td class='divider'></td>
|
||||
<td class='side'>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-md-4'>
|
||||
<div class='main main-side'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->story->legendBasicInfo;?></legend>
|
||||
<table class='table-1'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->story->product;?></td>
|
||||
<td><?php echo html::select('product', $products, $story->product, 'class="select-3" onchange="loadProduct(this.value)";');?></td>
|
||||
<th class='w-70px'><?php echo $lang->story->product;?></th>
|
||||
<td><?php echo html::select('product', $products, $story->product, 'class="form-control" onchange="loadProduct(this.value)";');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->module;?></td>
|
||||
<td>
|
||||
<span id='moduleIdBox'>
|
||||
<?php
|
||||
echo html::select('module', $moduleOptionMenu, $story->module, 'class="select-3"');
|
||||
if(count($moduleOptionMenu) == 1)
|
||||
{
|
||||
echo html::a($this->createLink('tree', 'browse', "rootID=$story->product&view=story"), $lang->tree->manage, '_blank');
|
||||
echo html::a("javascript:loadProductModules($story->product)", $lang->refresh);
|
||||
}
|
||||
?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->plan;?></td>
|
||||
<td>
|
||||
<span id='planIdBox'>
|
||||
<?php echo html::select('plan', $plans, $story->plan, 'class=select-3');
|
||||
if(count($plans) == 1)
|
||||
<th><?php echo $lang->story->module;?></th>
|
||||
<td id='moduleIdBox'>
|
||||
<?php
|
||||
echo html::select('module', $moduleOptionMenu, $story->module, 'class="form-control"');
|
||||
if(count($moduleOptionMenu) == 1)
|
||||
{
|
||||
echo html::a($this->createLink('productplan', 'create', "productID=$story->product"), $lang->productplan->create, '_blank');
|
||||
echo html::a("javascript:loadProductPlans($story->product)", $lang->refresh);
|
||||
echo "<span class='help-block'>";
|
||||
echo html::a($this->createLink('tree', 'browse', "rootID=$story->product&view=story"), $lang->tree->manage, '_blank');
|
||||
echo html::a("javascript:loadProductModules($story->product)", $lang->refresh);
|
||||
echo '</span>';
|
||||
}
|
||||
?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->story->source;?></th>
|
||||
<td><?php echo html::select('source', $lang->story->sourceList, $story->source, 'class=select-3');?></td>
|
||||
<th><?php echo $lang->story->plan;?></th>
|
||||
<td id='planIdBox'>
|
||||
<?php echo html::select('plan', $plans, $story->plan, 'class=form-control');
|
||||
if(count($plans) == 1)
|
||||
{
|
||||
echo "<span class='help-block'>";
|
||||
echo html::a($this->createLink('productplan', 'create', "productID=$story->product"), $lang->productplan->create, '_blank');
|
||||
echo html::a("javascript:loadProductPlans($story->product)", $lang->refresh);
|
||||
echo '</span>';
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->status;?></td>
|
||||
<td><?php echo $lang->story->statusList[$story->status];?></td>
|
||||
<th><?php echo $lang->story->source;?></th>
|
||||
<td><?php echo html::select('source', $lang->story->sourceList, $story->source, 'class=form-control');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->status;?></th>
|
||||
<td><span class='story-<?php echo $story->status;?>'><?php echo $lang->story->statusList[$story->status];?></span></td>
|
||||
</tr>
|
||||
<?php if($story->status != 'draft'):?>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->stage;?></td>
|
||||
<td><?php echo html::select('stage', $lang->story->stageList, $story->stage, 'class=select-3');?></td>
|
||||
<th><?php echo $lang->story->stage;?></th>
|
||||
<td><?php echo html::select('stage', $lang->story->stageList, $story->stage, 'class=form-control');?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->pri;?></td>
|
||||
<td><?php echo html::select('pri', $lang->story->priList, $story->pri, 'class=select-3');?></td>
|
||||
<th><?php echo $lang->story->pri;?></th>
|
||||
<td><?php echo html::select('pri', $lang->story->priList, $story->pri, 'class=form-control');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->estimate;?></td>
|
||||
<td><?php echo html::input('estimate', $story->estimate, "class='text-1'");?></td>
|
||||
<th><?php echo $lang->story->estimate;?></th>
|
||||
<td><?php echo html::input('estimate', $story->estimate, "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->keywords;?></td>
|
||||
<td><?php echo html::input('keywords', $story->keywords, 'class=text-1');?></td>
|
||||
<th><?php echo $lang->story->keywords;?></th>
|
||||
<td><?php echo html::input('keywords', $story->keywords, 'class=form-control');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->mailto;?></td>
|
||||
<td><?php echo html::select('mailto[]', $users, str_replace(' ' , '', $story->mailto), "class='select-3' multiple");?></td>
|
||||
<th><?php echo $lang->story->mailto;?></th>
|
||||
<td><?php echo html::select('mailto[]', $users, str_replace(' ' , '', $story->mailto), "class='form-control' multiple");?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->story->legendLifeTime;?></legend>
|
||||
<table class='table-1'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->story->openedBy;?></td>
|
||||
<th class='w-70px'><?php echo $lang->story->openedBy;?></th>
|
||||
<td><?php echo $users[$story->openedBy];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->assignedTo;?></td>
|
||||
<td><?php echo html::select('assignedTo', $users, $story->assignedTo, 'class="select-3 chosen"');?></td>
|
||||
<th><?php echo $lang->story->assignedTo;?></th>
|
||||
<td><?php echo html::select('assignedTo', $users, $story->assignedTo, 'class="form-control chosen"');?></td>
|
||||
</tr>
|
||||
<?php if($story->reviewedBy):?>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->reviewedBy;?></td>
|
||||
<th><?php echo $lang->story->reviewedBy;?></th>
|
||||
<td><?php echo html::select('reviewedBy[]', $users, str_replace(' ', '', $story->reviewedBy), 'class="area-1" multiple');?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if($story->status == 'closed'):?>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->closedBy;?></td>
|
||||
<td><?php echo html::select('closedBy', $users, $story->closedBy, 'class="select-3"');?></td>
|
||||
<th><?php echo $lang->story->closedBy;?></th>
|
||||
<td><?php echo html::select('closedBy', $users, $story->closedBy, 'class="form-control"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->closedReason;?></td>
|
||||
<td><?php echo html::select('closedReason', $lang->story->reasonList, $story->closedReason, 'class="select-3"');?></td>
|
||||
<th><?php echo $lang->story->closedReason;?></th>
|
||||
<td><?php echo html::select('closedReason', $lang->story->reasonList, $story->closedReason, 'class="form-control"');?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
</table>
|
||||
@@ -142,23 +150,23 @@
|
||||
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->story->legendMisc;?></legend>
|
||||
<table class='table-1'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->story->duplicateStory;?></td>
|
||||
<td><?php echo html::input('duplicateStory', $story->duplicateStory, "class='text-1'");?></td>
|
||||
<th class='w-70px'><?php echo $lang->story->duplicateStory;?></th>
|
||||
<td><?php echo html::input('duplicateStory', $story->duplicateStory, "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->story->linkStories;?></td>
|
||||
<td><?php echo html::input('linkStories', $story->linkStories, "class='text-1'");?></td>
|
||||
<th><?php echo $lang->story->linkStories;?></th>
|
||||
<td><?php echo html::input('linkStories', $story->linkStories, "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->story->childStories;?></td>
|
||||
<td><?php echo html::input('childStories', $story->childStories, "class='text-1'");?></td>
|
||||
<th><?php echo $lang->story->childStories;?></th>
|
||||
<td><?php echo html::input('childStories', $story->childStories, "class='form-control'");?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -14,55 +14,73 @@
|
||||
<script language='Javascript'>
|
||||
var assignedTo = '<?php $story->lastEditedBy ? print($story->lastEditedBy) : print($story->openedBy);?>';
|
||||
</script>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $story->title;?></caption>
|
||||
<tr>
|
||||
<th class='w-100px rowhead'><?php echo $lang->story->reviewedDate;?></th>
|
||||
<td><?php echo html::input('reviewedDate', helper::today(), 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->story->reviewResult;?></th>
|
||||
<td><?php echo html::select('result', $lang->story->reviewResultList, '', 'class=select-3 onchange="switchShow(this.value)"');?></td>
|
||||
</tr>
|
||||
<tr id='rejectedReasonBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->story->rejectedReason;?></th>
|
||||
<td><?php echo html::select('closedReason', $lang->story->reasonList, '', 'class=select-3 onchange="setStory(this.value)"');?></td>
|
||||
</tr>
|
||||
<tr id='duplicateStoryBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->story->duplicateStory;?></th>
|
||||
<td><?php echo html::input('duplicateStory', '', 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr id='childStoriesBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->story->childStories;?></th>
|
||||
<td><?php echo html::input('childStories', '', 'class=text-3');?></td>
|
||||
</tr>
|
||||
<?php if($story->status == 'changed' or ($story->status == 'draft' and $story->version > 1)):?>
|
||||
<tr id='preVersionBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->story->preVersion;?></th>
|
||||
<td><?php echo html::radio('preVersion', array_combine(range($story->version - 1, 1), range($story->version - 1, 1)), $story->version - 1);?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->story->assignedTo;?></th>
|
||||
<td><?php echo html::select('assignedTo', $users, $story->lastEditedBy ? $story->lastEditedBy : $story->openedBy, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->story->reviewedBy;?></th>
|
||||
<td><?php echo html::select('reviewedBy[]', $users, $app->user->account, "class='text-1' multiple data-placeholder='{$lang->story->chosen->reviewedBy}'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->story->comment;?></th>
|
||||
<td><?php echo html::textarea('comment', '', "rows='8' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
<?php echo html::linkButton($lang->goback, $app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"));?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<?php include './affected.html.php';?>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['story']) . ' #' . $story->id;?></span>
|
||||
<strong><?php echo html::a($this->createLink('story', 'view', "storyID=$story->id"), $story->title);?></strong>
|
||||
<small><?php echo html::icon($lang->icons['review']) . ' ' . $lang->story->review;?></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class='row'>
|
||||
<div class='col-md-8'>
|
||||
<div class='main'>
|
||||
<form method='post' target='hiddenwin' class='form-condensed'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->story->reviewedDate;?></th>
|
||||
<td class='w-p45'><?php echo html::input('reviewedDate', helper::today(), 'class=form-control');?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->reviewResult;?></th>
|
||||
<td><?php echo html::select('result', $lang->story->reviewResultList, '', 'class=form-control onchange="switchShow(this.value)"');?></td><td></td>
|
||||
</tr>
|
||||
<tr id='rejectedReasonBox' class='hidden'>
|
||||
<th><?php echo $lang->story->rejectedReason;?></th>
|
||||
<td><?php echo html::select('closedReason', $lang->story->reasonList, '', 'class=form-control onchange="setStory(this.value)"');?></td><td></td>
|
||||
</tr>
|
||||
<tr id='duplicateStoryBox' class='hidden'>
|
||||
<th><?php echo $lang->story->duplicateStory;?></th>
|
||||
<td><?php echo html::input('duplicateStory', '', 'class=form-control');?></td><td></td>
|
||||
</tr>
|
||||
<tr id='childStoriesBox' class='hidden'>
|
||||
<th><?php echo $lang->story->childStories;?></th>
|
||||
<td><?php echo html::input('childStories', '', 'class=form-control');?></td><td></td>
|
||||
</tr>
|
||||
<?php if($story->status == 'changed' or ($story->status == 'draft' and $story->version > 1)):?>
|
||||
<tr id='preVersionBox' class='hidden'>
|
||||
<th><?php echo $lang->story->preVersion;?></th>
|
||||
<td colspan='2'><?php echo html::radio('preVersion', array_combine(range($story->version - 1, 1), range($story->version - 1, 1)), $story->version - 1);?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->assignedTo;?></th>
|
||||
<td><?php echo html::select('assignedTo', $users, $story->lastEditedBy ? $story->lastEditedBy : $story->openedBy, 'class=form-control');?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->reviewedBy;?></th>
|
||||
<td><?php echo html::select('reviewedBy[]', $users, $app->user->account, "class='form-control' multiple data-placeholder='{$lang->story->chosen->reviewedBy}'");?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->comment;?></th>
|
||||
<td colspan='2'><?php echo html::textarea('comment', '', "rows='8' class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->checkAffection;?></th>
|
||||
<td colspan='2'><?php include './affected.html.php';?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan='2'>
|
||||
<?php echo html::submitButton();?>
|
||||
<?php echo html::linkButton($lang->goback, $app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"));?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-md-4'>
|
||||
<div class='main main-side'><?php include '../../common/view/action.html.php';?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -13,8 +13,9 @@
|
||||
.w-p5 {width: 5%} .w-p10 {width: 10%} .w-p15 {width: 15%} .w-p20 {width: 20%} .w-p25 {width: 25%} .w-p30 {width: 30%} .w-p35 {width: 35%} .w-p40 {width: 40%} .w-p45 {width: 45%} .w-p50 {width: 50%} .w-p55 {width: 55%} .w-p60 {width: 60%} .w-p65 {width: 65%} .w-p70 {width: 70%} .w-p75 {width: 75%} .w-p80 {width: 80%} .w-p85 {width: 85%} .w-p90 {width: 90%} .w-p94 {width: 94%} .w-p95 {width: 95%} .w-p98 {width: 98%} .w-p99 {width: 99%} .w-p100{width: 100%}
|
||||
|
||||
.w-20px {width:20px} .w-30px {width:30px} .w-35px {width:35px} .w-40px {width:40px} .w-45px {width:45px} .w-50px {width:50px} .w-60px {width:60px} .w-70px {width:70px} .w-80px {width:80px} .w-90px {width:90px} .w-100px {width:100px} .w-110px {width:110px} .w-120px {width:120px} .w-130px {width:130px} .w-140px {width:140px} .w-150px {width:150px} .w-160px {width:160px} .w-180px {width:180px} .w-200px {width:200px} .w-400px {width:400px} .w-500px {width:500px} .w-600px {width:600px} .w-700px {width:700px} .w-800px {width:800px} .w-900px {width:900px}
|
||||
.mw-200px {max-width:200px} .mw-400px {max-width:400px} .mw-500px {max-width:500px} .mw-600px {max-width:600px} .mw-700px {max-width:700px} .mw-800px {max-width:800px} .mw-900px {max-width:900px}
|
||||
|
||||
.w-id {width:60px;} .w-pri {width:30px;} .w-severity {width:50px;} .w-hour {width:48px;} .w-date {width:80px;} .w-user {width:60px;} .w-status {width:55px} .w-type {width:80px} .w-resolution {width:60px}
|
||||
.w-id {width:60px;} .w-pri {width:40px;} .w-severity {width:50px;} .w-hour {width:48px;} .w-date {width:80px;} .w-user {width:65px;} .w-status {width:55px} .w-type {width:80px} .w-resolution {width:60px}
|
||||
|
||||
/* Height definitions */
|
||||
.h-5px {height:5px} .h-10px {height:10px} .h-20px {height:20px} .h-30px {height:30px} .h-35px {height:35px} .h-40px {height:40px} .h-45px {height:45px} .h-50px {height:50px} .h-60px {height:60px} .h-70px {height:70px} .h-80px {height:80px} .h-100px {height:100px} .h-120px {height:120px} .h-130px {height:130px} .h-140px {height:140px} .h-150px {height:150px} .h-200px {height:200px}
|
||||
@@ -215,9 +216,10 @@ i[class^="icon-"].disabled,i[class*=" icon-"].disabled,i[class^="icon-"].disable
|
||||
.form-condensed fieldset {background-color: #eee; padding: 2px 15px 2px 5px; margin-bottom: 10px; margin-top: 35px; border-radius: 2px; position: relative;}
|
||||
.form-condensed fieldset.fieldset-primary {background-color: transparent; padding: 0; margin-top: 0;}
|
||||
.form-condensed fieldset .table-form {margin-bottom: 0;}
|
||||
.form-condensed fieldset.collapsed {padding: 1px;}
|
||||
.form-condensed fieldset.collapsed .table-form {display: none}
|
||||
.form-condensed fieldset.collapsed, .form-condensed fieldset.fieldset-pure.collapsed {padding: 1px!important; background: #eee!important}
|
||||
.form-condensed fieldset.collapsed .table-form, .form-condensed fieldset.collapsed .article-content, .form-condensed fieldset.collapsed .form-group {display: none}
|
||||
.form-condensed legend {font-size: 12px; font-weight: bold; border:0px solid red; padding: 5px; position: absolute; top: -25px; left: 0; cursor: pointer; line-height: 14px; vertical-align: top; color: #666}
|
||||
.form-condensed .fieldset-pure legend{top: -20px}
|
||||
.form-condensed legend:before {font-family: ZenIcon; content: '\e6b8'; font-size: 14px; color: #999; display: inline-block; margin-right: 4px; -webkit-font-smoothing: antialiased;}
|
||||
.form-condensed legend:hover {color: #333;}
|
||||
.form-condensed fieldset.collapsed legend:before {content: '\e6bb'}
|
||||
@@ -387,7 +389,7 @@ body {font-size: 12px; color:#141414;padding-bottom: 40px;}
|
||||
.outer .table tfoot .dropdown-menu {min-width: 100px}
|
||||
.outer .table tfoot .form-control {padding: 1px 8px; height: 30px}
|
||||
.outer .table tfoot .btn {padding: 4px 12px;}
|
||||
.outer .table tfoot .btn > i {display: inline-block; margin-right: 1px; color: #666}
|
||||
.outer .table tfoot .btn > i {display: inline-block; margin-right: 1px; opacity: 0.8}
|
||||
.outer .table tfoot .datepicker-wrapper:before {top: 5px}
|
||||
.outer .table tfoot .form-control.form-date {width: 110px}
|
||||
.outer .table tfoot .input-wrapper {display: inline-block;}
|
||||
@@ -407,7 +409,10 @@ body {font-size: 12px; color:#141414;padding-bottom: 40px;}
|
||||
|
||||
/* Main content in outer */
|
||||
.outer .row {padding: 15px 20px;}
|
||||
.outer .main {margin-bottom: 20px;}
|
||||
.outer .main fieldset {margin-bottom: 15px; border: 1px solid #e5e5e5; padding: 10px 15px 15px;}
|
||||
.outer .main fieldset.fieldset-pure {background: none; padding: 0; border: none}
|
||||
.outer .main fieldset.collapsed {border: none}
|
||||
.outer .main fieldset > legend {width: auto; margin: 0 0 0 -5px; font-size: 13px; font-weight: bold; border-bottom: none; padding: 0 5px}
|
||||
.outer .main .article-content {font-size: 14px; padding: 0}
|
||||
.outer .main .actions {text-align: center;}
|
||||
@@ -420,7 +425,9 @@ body {font-size: 12px; color:#141414;padding-bottom: 40px;}
|
||||
.outer .main-side > fieldset {padding: 5px 15px 10px;}
|
||||
|
||||
.outer .main .tabs {margin-bottom: 15px;}
|
||||
.outer .main .table-form td > .tabs {margin-bottom: 0;}
|
||||
.outer .main .nav-tabs > li > a {padding: 5px 10px; color: #333}
|
||||
.outer .main .nav-tabs > li {margin-bottom: -2px;}
|
||||
.outer .main .nav-tabs > li.active > a, .outer .main .nav-tabs > li.active > a:hover, .outer .main .nav-tabs > li.active > a:focus {color: #333; font-weight: bold;}
|
||||
.outer .main .tab-content {border: 1px solid #ddd; border-top: 0; padding: 10px 15px}
|
||||
/*.outer .main .tab-pane > .table {margin: -10px -15px}*/
|
||||
|
||||
Reference in New Issue
Block a user