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'); + ?> +