diff --git a/module/group/lang/zh-cn.php b/module/group/lang/zh-cn.php
index 0e0f5ce9ec..32a69ede7d 100644
--- a/module/group/lang/zh-cn.php
+++ b/module/group/lang/zh-cn.php
@@ -124,6 +124,7 @@ $lang->resource->project->story = 'story';
$lang->resource->project->build = 'build';
$lang->resource->project->bug = 'bug';
$lang->resource->project->burn = 'burn';
+$lang->resource->project->computeBurn = 'computeBurn';
$lang->resource->project->burnData = 'burnData';
$lang->resource->project->team = 'team';
$lang->resource->project->manageProducts = 'manageProducts';
diff --git a/module/index/view/index.html.php b/module/index/view/index.html.php
index a63144ccb0..9339fbc6b2 100644
--- a/module/index/view/index.html.php
+++ b/module/index/view/index.html.php
@@ -46,7 +46,8 @@
id];
- echo html::linkButton($lang->project->largeBurnChart, $this->createLink('project', 'burn', "projectID=$project->id"));
+ common::printLink('project', 'burn', "projectID=$project->id", $lang->project->largeBurnChart);
+ common::printLink('project', 'computeBurn', 'reload=yes', $lang->project->computeBurn, 'hiddenwin');
?>
diff --git a/module/project/control.php b/module/project/control.php
index 67956deb33..332ff867a5 100644
--- a/module/project/control.php
+++ b/module/project/control.php
@@ -322,11 +322,11 @@ class project extends control
}
/* 计算燃烧图数据。*/
- public function computeBurn()
+ public function computeBurn($reload = 'no')
{
$this->view->burns = $this->project->computeBurn();
- $this->display();
- exit;
+ if($reload == 'yes') die(js::reload('parent'));
+ die($this->display());
}
/* 团队成员。*/
diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php
index f9ee5a4701..b6b777e43a 100644
--- a/module/project/lang/zh-cn.php
+++ b/module/project/lang/zh-cn.php
@@ -75,6 +75,7 @@ $lang->project->story = '需求列表';
$lang->project->bug = 'Bug列表';
$lang->project->build = 'Build列表';
$lang->project->burn = '燃尽图';
+$lang->project->computeBurn = '更新燃尽图';
$lang->project->burnData = '燃尽图数据';
$lang->project->team = '团队成员';
$lang->project->manageProducts = '关联产品';
diff --git a/module/project/model.php b/module/project/model.php
index 00a364253a..ff7d95e64b 100644
--- a/module/project/model.php
+++ b/module/project/model.php
@@ -422,7 +422,7 @@ class projectModel extends model
}
/* 燃烧图所需要的数据。*/
- public function getBurnData($projectID = 0, $itemCounts = 21)
+ public function getBurnData($projectID = 0, $itemCounts = 30)
{
/* 获得项目的信息,和已经计算过的燃烧图数量。*/
$project = $this->getById($projectID);
@@ -442,17 +442,22 @@ class projectModel extends model
$current = helper::today();
if($project->end != '0000-00-00')
{
- $period = helper::diffDate($project->end, $project->begin);
+ $period = helper::diffDate($project->end, $project->begin) + 1;
$counts = $period > $itemCounts ? $itemCounts : $period;
}
else
{
$counts = $itemCounts;
}
- for($i = 0; $i <= $counts - $burnCounts; $i ++)
+
+ for($i = 0; $i < $counts - $burnCounts; $i ++)
{
- $sets[$current]->name = $current;
- $sets[$current]->value = '';
+ if(helper::diffDate($current, $project->end) > 0) break;
+ if(!isset($sets[$current]))
+ {
+ $sets[$current]->name = $current;
+ $sets[$current]->value = '';
+ }
$nextDay = date(DT_DATE1, strtotime('next day', strtotime($current)));
$current = $nextDay;
}
diff --git a/module/project/view/burn.html.php b/module/project/view/burn.html.php
index 605ece9fa0..64dd89020e 100644
--- a/module/project/view/burn.html.php
+++ b/module/project/view/burn.html.php
@@ -23,6 +23,11 @@
*/
?>
-
+
+ project->computeBurn, 'hiddenwin');
+ ?>
+