diff --git a/module/project/control.php b/module/project/control.php index 2203613f92..c72a4f4fc9 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -1118,7 +1118,7 @@ class project extends control $project = $this->project->getById($projectID); $users = $this->user->getPairs('noclosed, nodeleted, devfirst'); - $users = array('' => '') + $users; + $roles = $this->user->getUserRoles(array_keys($users)); $currentMembers = $this->project->getTeamMembers($projectID); $members2Import = $this->project->getMembers2Import($team2Import, array_keys($currentMembers)); $teams2Import = $this->project->getTeams2Import($this->app->user->account, $projectID); @@ -1141,6 +1141,7 @@ class project extends control $this->view->project = $project; $this->view->users = $users; + $this->view->roles = $roles; $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 new file mode 100644 index 0000000000..e3659b4486 --- /dev/null +++ b/module/project/js/managemembers.js @@ -0,0 +1,25 @@ +/** + * Import a team. + * + * @access public + * @return void + */ +function importTeam() +{ + location.href = createLink('project', 'manageMembers', 'project=' + projectID + '&teamImport=' + $('#teams2Import').val()); +} + +/** + * Set role when select an account. + * + * @param string $account + * @param int $roleID + * @access public + * @return void + */ +function setRole(account, roleID) +{ + role = roles[account]; // get role according the account. + roleOBJ = $('#role' + roleID); // get role object. + roleOBJ.val(role) // set the role. +} diff --git a/module/project/model.php b/module/project/model.php index 01b2073515..f9a8d8c307 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -996,14 +996,19 @@ class projectModel extends model { if(empty($account)) continue; + $member = new stdclass(); $member->role = $roles[$key]; $member->days = $days[$key]; $member->hours = $hours[$key]; - $mode = $modes[$key]; + $mode = $modes[$key]; if($mode == 'update') { - $this->dao->update(TABLE_TEAM)->data($member)->where('project')->eq((int)$projectID)->andWhere('account')->eq($account)->exec(); + $this->dao->update(TABLE_TEAM) + ->data($member) + ->where('project')->eq((int)$projectID) + ->andWhere('account')->eq($account) + ->exec(); } else { diff --git a/module/project/view/managemembers.html.php b/module/project/view/managemembers.html.php index f8ed3fc6de..b68945a70a 100644 --- a/module/project/view/managemembers.html.php +++ b/module/project/view/managemembers.html.php @@ -11,14 +11,8 @@ */ ?> - - +id);?> +