From 2ea55f54f50145983dce71d8d7118e12840e37f6 Mon Sep 17 00:00:00 2001 From: chenfeiCF Date: Mon, 2 May 2016 21:04:51 +0800 Subject: [PATCH] * adjust code for task #2543. --- module/dept/model.php | 3 +- module/project/control.php | 13 ++++---- module/project/js/managemembers.js | 7 +++++ module/project/lang/en.php | 2 ++ module/project/lang/zh-cn.php | 2 ++ module/project/view/managemembers.html.php | 35 ++++++++++++++-------- 6 files changed, 43 insertions(+), 19 deletions(-) diff --git a/module/dept/model.php b/module/dept/model.php index ed963403db..edeb03d2dd 100644 --- a/module/dept/model.php +++ b/module/dept/model.php @@ -343,9 +343,10 @@ class deptModel extends model */ public function getDeptUserPairs($deptID = 0) { + $childDepts = $this->getAllChildID($deptID); return $this->dao->select('account, realname')->from(TABLE_USER) ->where('deleted')->eq(0) - ->beginIF($deptID)->andWhere('dept')->in($this->getAllChildID($deptID))->fi() + ->beginIF($deptID)->andWhere('dept')->in($childDepts)->fi() ->orderBy('account') ->fetchPairs(); } diff --git a/module/project/control.php b/module/project/control.php index 426e7e7a08..8a927440db 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -1555,7 +1555,7 @@ class project extends control * @access public * @return void */ - public function manageMembers($projectID = 0, $team2Import = 0, $deptID = 0) + public function manageMembers($projectID = 0, $team2Import = 0, $dept = '') { if(!empty($_POST)) { @@ -1569,11 +1569,11 @@ class project extends control $this->loadModel('dept'); $project = $this->project->getById($projectID); - $allUsers = $this->user->getPairs('noclosed, nodeleted, devfirst'); - $roles = $this->user->getUserRoles(array_keys($allUsers)); + $users = $this->user->getPairs('noclosed, nodeleted, devfirst'); + $roles = $this->user->getUserRoles(array_keys($users)); + $deptUsers = $dept === '' ? array() : $this->dept->getDeptUserPairs($dept); $currentMembers = $this->project->getTeamMembers($projectID); $members2Import = $this->project->getMembers2Import($team2Import, array_keys($currentMembers)); - $users = $this->dept->getDeptUserPairs($deptID, 'devfirst'); $teams2Import = $this->project->getTeams2Import($this->app->user->account, $projectID); $teams2Import = array($this->lang->project->copyTeam) + $teams2Import; @@ -1588,9 +1588,10 @@ class project extends control $this->view->position = $position; $this->view->project = $project; $this->view->users = $users; - $this->view->allUsers = $allUsers; + $this->view->deptUsers = $deptUsers; $this->view->roles = $roles; - $this->view->deptTree = $this->dept->getTreeMenu($rooteDeptID = 0, array('deptModel', 'createPrjManageMemberLink'), array('projectID' => $projectID, 'team2Import' => $team2Import)); + $this->view->dept = $dept; + $this->view->depts = array('' => '') + $this->loadModel('dept')->getOptionMenu(); $this->view->currentMembers = $currentMembers; $this->view->members2Import = $members2Import; $this->view->teams2Import = $teams2Import; diff --git a/module/project/js/managemembers.js b/module/project/js/managemembers.js index cd49cf502c..b92b2e2144 100644 --- a/module/project/js/managemembers.js +++ b/module/project/js/managemembers.js @@ -45,3 +45,10 @@ function deleteItem(obj) { $(obj).closest('.addedItem').remove(); } + +function setDeptUsers(obj) +{ + dept = $(obj).val();//Get dept ID. + link = createLink('project', 'manageMembers', 'projectID=' + projectID + '&team2Import=' + team2Import + '&dept=' + dept);//Create manageMembers link. + location.href=link; +} diff --git a/module/project/lang/en.php b/module/project/lang/en.php index c9d940f71c..8454bcbc85 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -171,6 +171,7 @@ $lang->project->aboveAllProject = "Above all {$lang->projectCommon}s"; $lang->project->selectProject = "Select {$lang->projectCommon}"; $lang->project->beginAndEnd = 'Begin and end'; $lang->project->lblStats = 'Stats'; +$lang->project->workHours = '7.0'; $lang->project->stats = 'Total work hours is 『%s』hours,
Total estimate is『%s』hours,
Total confused is『%s』hours
Total left is『%s』hours'; $lang->project->taskSummary = "%s tasks in this page. Pending: %s. doing: %s. Est: %s h. Consumed: %s h. Left: %s."; $lang->project->memberHours = "%s has %s workhours, "; @@ -181,6 +182,7 @@ $lang->project->batchWBS = "Batch WBS"; $lang->project->howToUpdateBurn = "Help"; $lang->project->whyNoStories = "There no active stories to added to this {$lang->projectCommon}. Please check the linked {$lang->productCommon}."; $lang->project->doneProjects = 'Done'; +$lang->project->selectDept = 'Please select a dept'; $lang->project->copyTeam = 'Copy a team'; $lang->project->copyFromTeam = 'Copy form team: %s'; $lang->project->noMatched = "No matched {$lang->projectCommon} including '%s'"; diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index ab4ac46c59..60be85d1a4 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -171,6 +171,7 @@ $lang->project->aboveAllProject = "以上所有{$lang->projectCommon}"; $lang->project->selectProject = "请选择{$lang->projectCommon}"; $lang->project->beginAndEnd = '起止时间'; $lang->project->lblStats = '工时统计'; +$lang->project->workHours = '7.0'; $lang->project->stats = '可用工时%s工时
总共预计%s工时
已经消耗%s工时
预计剩余%s工时'; $lang->project->taskSummary = "本页共 %s 个任务,未开始 %s,进行中 %s,总预计%s工时,已消耗%s工时,剩余%s工时。"; $lang->project->memberHours = "%s共有 %s 个可用工时,"; @@ -181,6 +182,7 @@ $lang->project->batchWBS = "批量分解"; $lang->project->howToUpdateBurn = "帮助"; $lang->project->whyNoStories = "看起来没有需求可以关联。请检查下{$lang->projectCommon}关联的{$lang->productCommon}中有没有需求,而且要确保它们已经审核通过。"; $lang->project->doneProjects = '已结束'; +$lang->project->selectDept = '请选择部门'; $lang->project->copyTeam = '复制团队'; $lang->project->copyFromTeam = "复制自{$lang->projectCommon}团队: %s"; $lang->project->noMatched = "找不到包含'%s'的$lang->projectCommon"; diff --git a/module/project/view/managemembers.html.php b/module/project/view/managemembers.html.php index 34135f751f..a8da0de2cd 100644 --- a/module/project/view/managemembers.html.php +++ b/module/project/view/managemembers.html.php @@ -12,6 +12,7 @@ ?> id);?> +
@@ -19,18 +20,11 @@ project->manageMembers;?>
+
project->selectDept}'");?>
-
-
-
-
icons['company']);?> dept->common;?>
-
-
-
-
@@ -46,7 +40,7 @@ - account])) continue;?> + account])) continue;?> account]);?> @@ -65,7 +59,7 @@ - + + + + + + + + + + + + @@ -110,7 +121,7 @@
account, "class='select-2 chosen' onchange='setRole(this.value, $i)'");?>account, "class='select-2 chosen' onchange='setRole(this.value, $i)'");?> @@ -78,13 +72,30 @@ + $userName):?> + +
+ + +
- + - +