* finish task #4897.
This commit is contained in:
@@ -396,7 +396,7 @@ class product extends control
|
||||
$this->view->lines = array('') + $this->loadModel('tree')->getLinePairs();
|
||||
$this->view->branches = $this->loadModel('branch')->getPairs($productID);
|
||||
$this->view->dynamics = $this->loadModel('action')->getDynamic('all', 'all', 'date_desc', $pager, $productID);
|
||||
$this->view->plans = $this->loadModel('productplan')->getList($productID, 0, 'unexpired', null, 'begin');
|
||||
$this->view->roadmap = $this->product->getRoadmap($productID, 0, 6);
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.branch-list {padding-left: 0; margin: 0;}
|
||||
.branch-list > li {float: left; list-style: none; width: 50%; margin: 5px 0;}
|
||||
.data-basic.table-data tbody > tr > th {width: 80px;}
|
||||
.block-release .panel-body, .block-dynamic .panel-body {height: 240px; overflow: auto; position: relative;}
|
||||
.block-release .panel-body, .block-dynamic .panel-body {height: 240px; overflow-x: hidden; overflow-y: auto; position: relative;}
|
||||
.block-release .panel-body {padding-bottom: 50px;}
|
||||
.block-release .panel-body > .btn.pull-right {position: absolute; right: 20px; bottom: 20px;}
|
||||
.block-release .panel-body > .btn.pull-right {position: absolute; right: 20px; bottom: 20px;}
|
||||
|
||||
@@ -607,29 +607,44 @@ class productModel extends model
|
||||
* Get roadmap of a proejct
|
||||
*
|
||||
* @param int $productID
|
||||
* @param int $branch
|
||||
* @param int $num
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getRoadmap($productID, $branch = 0)
|
||||
public function getRoadmap($productID, $branch = 0, $num = 0)
|
||||
{
|
||||
$plans = $this->loadModel('productplan')->getList($productID, $branch);
|
||||
$releases = $this->loadModel('release')->getList($productID, $branch);
|
||||
$roadmap = array();
|
||||
$total = 0;
|
||||
|
||||
foreach($plans as $plan)
|
||||
{
|
||||
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;
|
||||
|
||||
$total++;
|
||||
}
|
||||
|
||||
if($num > 0 and $total >= $num)
|
||||
{
|
||||
krsort($roadmap);
|
||||
return $this->limitRoadmap($roadmap, $num);
|
||||
}
|
||||
|
||||
foreach($releases as $release)
|
||||
{
|
||||
$year = substr($release->date, 0, 4);
|
||||
$roadmap[$year][$release->branch][] = $release;
|
||||
|
||||
$total++;
|
||||
if($num > 0 and $total >= $num) break;
|
||||
}
|
||||
|
||||
krsort($roadmap);
|
||||
if($num > 0) return $this->limitRoadmap($roadmap, $num);
|
||||
|
||||
$groupRoadmap = array();
|
||||
foreach($roadmap as $year => $branchRoadmaps)
|
||||
@@ -666,6 +681,34 @@ class productModel extends model
|
||||
return $lastRoadmap;
|
||||
}
|
||||
|
||||
/**
|
||||
* Limit roadmap.
|
||||
*
|
||||
* @param string $roadmap
|
||||
* @param int $num
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function limitRoadmap($roadmap, $num)
|
||||
{
|
||||
$i = 0;
|
||||
$newRoadmap = array();
|
||||
foreach($roadmap as $year => $branches)
|
||||
{
|
||||
foreach($branches as $branch => $plans)
|
||||
{
|
||||
krsort($plans);
|
||||
foreach($plans as $plan)
|
||||
{
|
||||
$newRoadmap[$year][$branch][] = $plan;
|
||||
$i++;
|
||||
if($i >= $num) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $newRoadmap;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get team members of a product from projects.
|
||||
*
|
||||
|
||||
@@ -17,22 +17,30 @@
|
||||
<div class="col-sm-6">
|
||||
<div class="panel block-release">
|
||||
<div class="panel-heading">
|
||||
<div class="panel-title"><?php echo $lang->productplan->unexpired;?> <span class="label label-badge label-light"><?php printf($lang->product->iterationInfo, count($plans));?></span></div>
|
||||
<div class="panel-title"><?php echo $lang->product->roadmap;?></div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="release-path">
|
||||
<ul class="release-line">
|
||||
<?php $i = 0;?>
|
||||
<?php foreach($roadmap as $year => $branches):?>
|
||||
<?php $plans = $branches[0];?>
|
||||
<?php foreach($plans as $plan):?>
|
||||
<?php $i++;?>
|
||||
<?php if($i > 6) break;?>
|
||||
<?php if(isset($plan->begin)):?>
|
||||
<li <?php if(date('Y-m-d') < $plan->begin) echo "class='active'";?>>
|
||||
<a href="<?php echo $this->createLink('plan', 'view', "planID={$plan->id}");?>">
|
||||
<span class="title"><?php echo $plan->title;?></span>
|
||||
<span class="date"><?php echo $plan->begin;?></span>
|
||||
<span class="info text-ellipsis" title="<?php echo strip_tags($plan->desc);?>"><?php echo $plan->desc;?></span>
|
||||
</a>
|
||||
</li>
|
||||
<?php else:?>
|
||||
<li>
|
||||
<a href="<?php echo $this->createLink('release', 'view', "releaseID={$plan->id}");?>">
|
||||
<span class="title"><?php echo $plan->name;?></span>
|
||||
<span class="date"><?php echo $plan->date;?></span>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif;?>
|
||||
<?php endforeach;?>
|
||||
<?php endforeach;?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user