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