From 8cd6978375024801a41c6bae17c51b281eaaaccb Mon Sep 17 00:00:00 2001 From: chenfeiCF Date: Tue, 29 Mar 2016 10:34:34 +0800 Subject: [PATCH] * finish task #2567. --- module/block/view/projectblock.html.php | 4 ++++ module/my/view/project.html.php | 4 ++++ module/product/view/project.html.php | 4 ++++ module/project/lang/en.php | 1 + module/project/lang/zh-cn.php | 1 + module/project/model.php | 14 ++++++++++++++ module/project/view/index.html.php | 4 ++++ module/project/view/view.html.php | 4 ++++ module/user/model.php | 14 +++++++++++++- module/user/view/project.html.php | 4 ++++ www/theme/default/style.css | 1 + 11 files changed, 54 insertions(+), 1 deletion(-) diff --git a/module/block/view/projectblock.html.php b/module/block/view/projectblock.html.php index ef71559826..ced4690ed6 100644 --- a/module/block/view/projectblock.html.php +++ b/module/block/view/projectblock.html.php @@ -29,7 +29,11 @@ > name;?> end;?> + delay)):?> + project->delayed;?> + project->statusList[$project->status];?> + hours->totalEstimate;?> hours->totalConsumed;?> hours->totalLeft;?> diff --git a/module/my/view/project.html.php b/module/my/view/project.html.php index bb4488efb8..9e1e9b2abd 100644 --- a/module/my/view/project.html.php +++ b/module/my/view/project.html.php @@ -41,7 +41,11 @@ name);?> begin;?> end;?> + delay)):?> + project->delayed;?> + project->statusList[$project->status];?> + role;?> join;?> hours;?> diff --git a/module/product/view/project.html.php b/module/product/view/project.html.php index 5bec82595e..a62146d26d 100644 --- a/module/product/view/project.html.php +++ b/module/product/view/project.html.php @@ -33,7 +33,11 @@ createLink('project', 'task', 'project=' . $project->id), $project->name, '_parent');?> code;?> end;?> + delay)):?> + project->delayed;?> + project->statusList[$project->status];?> + hours->totalEstimate;?> hours->totalConsumed;?> hours->totalLeft;?> diff --git a/module/project/lang/en.php b/module/project/lang/en.php index 498614ff31..1b33de0949 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -48,6 +48,7 @@ $lang->project->typeDesc = 'No burndown and story in OPS'; $lang->project->mine = 'I charge : '; $lang->project->other = 'Other : '; $lang->project->deleted = 'Deleted'; +$lang->project->delayed = 'Delayed'; $lang->project->start = 'Start'; $lang->project->activate = 'Activate'; diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index 1114418fe5..bcd25b668f 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -48,6 +48,7 @@ $lang->project->typeDesc = "运维{$lang->projectCommon}禁用燃尽图和 $lang->project->mine = '我负责:'; $lang->project->other = '其他:'; $lang->project->deleted = '已删除'; +$lang->project->delayed = '已延期'; $lang->project->start = '开始'; $lang->project->activate = '激活'; diff --git a/module/project/model.php b/module/project/model.php index cda8159a5a..f0ff4dc2fe 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -713,6 +713,13 @@ class projectModel extends model // Process the end time. $project->end = date("Y-m-d", strtotime($project->end)); + /* Judge whether the project is delayed. */ + if($project->status != 'done') + { + $delay = helper::diffDate(helper::today(), $project->end); + if($delay > 0) $project->delay = $delay; + } + /* Process the burns. */ $project->burns = array(); $burnData = isset($burns[$project->id]) ? $burns[$project->id] : array(); @@ -818,6 +825,13 @@ class projectModel extends model $project = $this->dao->findById((int)$projectID)->from(TABLE_PROJECT)->fetch(); if(!$project) return false; + /* Judge whether the project is delayed. */ + if($project->status != 'done') + { + $delay = helper::diffDate(helper::today(), $project->end); + if($delay > 0) $project->delay = $delay; + } + $total = $this->dao->select(' SUM(estimate) AS totalEstimate, SUM(consumed) AS totalConsumed, diff --git a/module/project/view/index.html.php b/module/project/view/index.html.php index 0912053ba6..ded11b04fe 100644 --- a/module/project/view/index.html.php +++ b/module/project/view/index.html.php @@ -62,7 +62,11 @@ code;?> PM];?> end;?> + delay)):?> + project->delayed;?> + project->statusList[$project->status];?> + hours->totalEstimate;?> hours->totalConsumed;?> hours->totalLeft;?> diff --git a/module/project/view/view.html.php b/module/project/view/view.html.php index 3ebd3a972a..b06c9bc263 100644 --- a/module/project/view/view.html.php +++ b/module/project/view/view.html.php @@ -89,7 +89,11 @@ project->status;?> + delay)):?> + project->delayed;?> + show($lang->project->statusList, $project->status);?> + project->PM;?> diff --git a/module/user/model.php b/module/user/model.php index 0ce4a3f881..23e4026fc8 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -746,11 +746,23 @@ class userModel extends model */ public function getProjects($account) { - return $this->dao->select('t1.*,t2.*')->from(TABLE_TEAM)->alias('t1') + $projects = $this->dao->select('t1.*,t2.*')->from(TABLE_TEAM)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id') ->where('t1.account')->eq($account) ->andWhere('t2.deleted')->eq(0) ->fetchAll(); + + /* Judge whether the project is delayed. */ + foreach($projects as $project) + { + if($project->status != 'done') + { + $delay = helper::diffDate(helper::today(), $project->end); + if($delay > 0) $project->delay = $delay; + } + } + + return $projects; } /** diff --git a/module/user/view/project.html.php b/module/user/view/project.html.php index 4b0d305966..d7d3882904 100644 --- a/module/user/view/project.html.php +++ b/module/user/view/project.html.php @@ -36,7 +36,11 @@ name);?> begin;?> end;?> + delay)):?> + project->delayed;?> + project->statusList[$project->status];?> + role;?> join;?> hours;?> diff --git a/www/theme/default/style.css b/www/theme/default/style.css index d56c8eac92..7db209aef9 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -211,6 +211,7 @@ td.status-active, td[class$="-active"] {color:#229f24;} td.wait, td[class$="-wait"] {color:#808080;} td.pause, td[class$="-pause"], td.suspended, td[class$="-suspended"] {color:#E48600;} +td.delay, td[class$="-delay"] {color:#e84e0f;} td.closed, td[class$="-closed"], td.cancel, td[class$="-cancel"] {color:#888;} td.doing, td[class$="-doing"],