From e285a7978383e161546a91bb68217f30a49ce4f1 Mon Sep 17 00:00:00 2001 From: wangchunsheng Date: Sun, 28 Nov 2010 14:55:33 +0000 Subject: [PATCH] * rewrite the task browse feature of project. --- module/project/control.php | 5 ++-- module/project/lang/en.php | 39 ++++++++++++++----------- module/project/lang/zh-cn.php | 25 +++++++++------- module/project/view/grouptask.html.php | 2 +- module/project/view/task.html.php | 2 +- module/project/view/taskheader.html.php | 29 +++++++++++------- module/task/model.php | 6 ++-- www/theme/default/style.css | 2 +- 8 files changed, 65 insertions(+), 45 deletions(-) diff --git a/module/project/control.php b/module/project/control.php index ccda5199d2..1aadc11854 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -130,7 +130,7 @@ class project extends control $this->view->recTotal = $pager->recTotal; $this->view->recPerPage = $pager->recPerPage; $this->view->orderBy = $orderBy; - $this->view->browseType = $status != 'needConfirm' ? 'list' : 'needconfirm'; + $this->view->browseType = strtolower($status); $this->display(); } @@ -192,7 +192,8 @@ class project extends control $this->view->tasks = $groupTasks; $this->view->tabID = 'task'; $this->view->groupByList = $groupByList; - $this->view->browseType = $groupBy; + $this->view->browseType = 'group'; + $this->view->groupBy = $groupBy; $this->display(); } diff --git a/module/project/lang/en.php b/module/project/lang/en.php index 3be71be1df..02b96d6e7d 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -9,7 +9,7 @@ * @version $Id$ * @link http://www.zentao.net */ -/* 字段列表.*/ +/* Fields. */ $lang->project->common = 'Project'; $lang->project->id = 'ID'; $lang->project->company = 'Company'; @@ -46,7 +46,7 @@ $lang->team->role = 'Role'; $lang->team->joinDate = 'Join date'; $lang->team->workingHour = 'Hour/Day'; -/* 字段取值列表.*/ +/* Lists. */ $lang->project->statusList[''] = ''; $lang->project->statusList['wait'] = 'Waitting'; $lang->project->statusList['doing'] = 'Doing'; @@ -56,7 +56,7 @@ $lang->project->aclList['open'] = 'Default(Having the priviledge of project m $lang->project->aclList['private'] = 'Private(Only team members can visit)'; $lang->project->aclList['custom'] = 'Whitelist(Team members and who belongs to the whitelist grups can visit)'; -/* 方法列表.*/ +/* Methods.*/ $lang->project->index = "Index"; $lang->project->task = 'Task'; $lang->project->groupTask = 'View task by group'; @@ -81,20 +81,25 @@ $lang->project->unlinkStory = 'Remove story'; $lang->project->importTask = 'Import undone'; $lang->project->ajaxGetProducts= "API: get project's products"; -/* 分组浏览.*/ -$lang->project->listTask = 'List'; -$lang->project->groupTaskByStory = 'By story'; -$lang->project->groupTaskByStatus = 'By status'; -$lang->project->groupTaskByPri = 'By priority'; -$lang->project->groupTaskByOwner = 'By owner'; -$lang->project->groupTaskByEstimate = 'By estimate'; -$lang->project->groupTaskByConsumed = 'By consumed'; -$lang->project->groupTaskByLeft = 'By left'; -$lang->project->groupTaskByType = 'By type'; -$lang->project->groupTaskByDeadline = 'BY deadline'; +/* Browse. */ +$lang->project->allTasks = 'All'; +$lang->project->assignedToMe = 'My'; +$lang->project->statusWait = 'Wait'; +$lang->project->statusDoing = 'Doing'; +$lang->project->statusDone = 'Done'; +$lang->project->delayed = 'Delayed'; +$lang->project->groups['story'] = 'Group by story'; +$lang->project->groups['status'] = 'Group by status'; +$lang->project->groups['pri'] = 'Group by priority'; +$lang->project->groups['assignedTo']= 'Group by assignedTo'; +$lang->project->groups['estimate'] = 'Group by estimate'; +$lang->project->groups['consumed'] = 'Group by consumed'; +$lang->project->groups['left'] = 'Group by left'; +$lang->project->groups['type'] = 'Group by type'; +$lang->project->groups['deadline'] = 'Group by deadline'; $lang->project->listTaskNeedConfrim = 'Story changed'; -/* 页面提示.*/ +/* Notcie. */ $lang->project->selectProject = "Select project"; $lang->project->beginAndEnd = 'Begin and end'; $lang->project->lblStats = 'Stats'; @@ -104,14 +109,14 @@ $lang->project->storySummary = "Total 『%s』stories, estimate『%s』hours." $lang->project->wbs = "WBS"; $lang->project->largeBurnChart = 'View large'; -/* 交互提示.*/ +/* Confirm. */ $lang->project->confirmDelete = 'Are you sure to delete project [%s]?'; $lang->project->confirmUnlinkMember = 'Are you sure to remove this user from this project?'; $lang->project->confirmUnlinkStory = 'Are you sure to remove the story from this project?'; $lang->project->errorNoLinkedProducts = 'There is no linked products, go to the link page.'; $lang->project->accessDenied = 'Access to this project denied.'; -/* 统计.*/ +/* Report. */ $lang->project->charts->burn->graph->caption = "Burndown chart"; $lang->project->charts->burn->graph->xAxisName = "Date"; $lang->project->charts->burn->graph->yAxisName = "HOUR"; diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index b8895d821d..77cbe518c3 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -82,16 +82,21 @@ $lang->project->importTask = '导入之前未完'; $lang->project->ajaxGetProducts= '接口:获得项目产品列表'; /* 分组浏览。*/ -$lang->project->listTask = '列表方式'; -$lang->project->groupTaskByStory = '需求分组'; -$lang->project->groupTaskByStatus = '状态分组'; -$lang->project->groupTaskByPri = '优先级分组'; -$lang->project->groupTaskByOwner = '指派给分组'; -$lang->project->groupTaskByEstimate = '预计分组'; -$lang->project->groupTaskByConsumed = '已消耗分组'; -$lang->project->groupTaskByLeft = '剩余分组'; -$lang->project->groupTaskByType = '类型分组'; -$lang->project->groupTaskByDeadline = '截止分组'; +$lang->project->allTasks = '所有任务'; +$lang->project->assignedToMe = '指派给我'; +$lang->project->statusWait = '未开始'; +$lang->project->statusDoing = '进行中'; +$lang->project->statusDone = '已完成'; +$lang->project->delayed = '已延期'; +$lang->project->groups['story'] = '需求分组'; +$lang->project->groups['status'] = '状态分组'; +$lang->project->groups['pri'] = '优先级分组'; +$lang->project->groups['assignedTo']= '指派给分组'; +$lang->project->groups['estimate'] = '预计分组'; +$lang->project->groups['consumed'] = '已消耗分组'; +$lang->project->groups['left'] = '剩余分组'; +$lang->project->groups['type'] = '类型分组'; +$lang->project->groups['deadline'] = '截止分组'; $lang->project->listTaskNeedConfrim = '需求变动'; /* 页面提示。*/ diff --git a/module/project/view/grouptask.html.php b/module/project/view/grouptask.html.php index 951fe10d74..44676144b1 100644 --- a/module/project/view/grouptask.html.php +++ b/module/project/view/grouptask.html.php @@ -56,5 +56,5 @@ - + diff --git a/module/project/view/task.html.php b/module/project/view/task.html.php index 6fc82a76c3..ee1a46d4b7 100644 --- a/module/project/view/task.html.php +++ b/module/project/view/task.html.php @@ -84,5 +84,5 @@
- + diff --git a/module/project/view/taskheader.html.php b/module/project/view/taskheader.html.php index a3e77ac8e1..7d3151a6b6 100644 --- a/module/project/view/taskheader.html.php +++ b/module/project/view/taskheader.html.php @@ -1,18 +1,25 @@ +
" ; common::printLink('project', 'task', "project=$project->id", $lang->project->listTask); echo '' ; - echo "" ; common::printLink('project', 'groupTask', "project=$project->id&groupby=story", $lang->project->groupTaskByStory); echo '' ; - echo "" ; common::printLink('project', 'groupTask', "project=$project->id&groupby=status", $lang->project->groupTaskByStatus); echo '' ; - echo "" ; common::printLink('project', 'groupTask', "project=$project->id&groupby=pri", $lang->project->groupTaskByPri); echo '' ; - echo ""; common::printLink('project', 'groupTask', "project=$project->id&groupby=assignedTo", $lang->project->groupTaskByOwner); echo '' ; - echo "" ; common::printLink('project', 'groupTask', "project=$project->id&groupby=estimate", $lang->project->groupTaskByEstimate); echo '' ; - echo "" ; common::printLink('project', 'groupTask', "project=$project->id&groupby=consumed", $lang->project->groupTaskByConsumed); echo '' ; - echo "" ; common::printLink('project', 'groupTask', "project=$project->id&groupby=left", $lang->project->groupTaskByLeft); echo '' ; - echo "" ; common::printLink('project', 'groupTask', "project=$project->id&groupby=type", $lang->project->groupTaskByType); echo '' ; - echo "" ; common::printLink('project', 'groupTask', "project=$project->id&groupby=deadline", $lang->project->groupTaskByDeadline); echo '' ; - echo ""; common::printLink('project', 'task', "project=$project->id&status=needConfirm",$lang->project->listTaskNeedConfrim); echo '' ; + echo "" ; common::printLink('project', 'task', "project=$project->id", $lang->project->allTasks); echo '' ; + echo ""; common::printLink('project', 'task', "project=$project->id&type=assignedtome", $lang->project->assignedToMe); echo '' ; + echo "" ; common::printLink('project', 'task', "project=$project->id&type=wait", $lang->project->statusWait); echo '' ; + echo "" ; common::printLink('project', 'task', "project=$project->id&type=doing", $lang->project->statusDoing); echo '' ; + echo "" ; common::printLink('project', 'task', "project=$project->id&type=done", $lang->project->statusDone); echo '' ; + echo "" ; common::printLink('project', 'task', "project=$project->id&type=delayed", $lang->project->delayed); echo '' ; + + echo ""; + echo html::select('groupBy', $lang->project->groups, isset($groupBy) ? $groupBy : '', "onchange='switchGroup({$project->id}, this.value)'"); + echo ""; + echo ""; common::printLink('project', 'task', "project=$project->id&status=needConfirm",$lang->project->listTaskNeedConfrim); echo '' ; ?>
diff --git a/module/task/model.php b/module/task/model.php index 274f499a4e..0501e4c449 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -291,7 +291,7 @@ class taskModel extends model * @param string $orderBy * @param object $pager * @access public - * @return array|bool + * @return array */ public function getProjectTasks($projectID, $status = 'all', $orderBy = 'status_asc, id_desc', $pager = null) { @@ -303,12 +303,14 @@ class taskModel extends model ->where('t1.project')->eq((int)$projectID) ->andWhere('t1.deleted')->eq(0) ->beginIF($status == 'needConfirm')->andWhere('t2.version > t1.storyVersion')->andWhere("t2.status = 'active'")->fi() + ->beginIF($status == 'assignedtome')->andWhere('t1.assignedTo')->eq($this->app->user->account)->fi() + ->beginIF($status == 'delayed')->andWhere('deadline')->lt(helper::now())->fi() ->beginIF($status != 'all' and $status != 'needConfirm')->andWhere('t1.status')->in($status)->fi() ->orderBy($orderBy) ->page($pager) ->fetchAll(); if($tasks) return $this->processTasks($tasks); - return false; + return array(); } /** diff --git a/www/theme/default/style.css b/www/theme/default/style.css index 4b69794096..c16d4e9240 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -255,7 +255,7 @@ table.tablesorter thead tr .headerSortDown {background-image: url(./images/table #featurebar select {font-size:12px; height:22px; margin-top:3px;} #featurebar .active a {color:#009900; font-weight:bold;} -#featurebar .active select {border:1px solid #0000ff;} +#featurebar .active select {border:3px solid #009900;} /* Tree menu. */ #tree li {list-style-type:none;}