* when manage team, set roles auto.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
}
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -11,14 +11,8 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<script>
|
||||
projectID = <?php echo $project->id;?>;
|
||||
function importTeam()
|
||||
{
|
||||
location.href = createLink('project', 'manageMembers', 'project=' + projectID + '&teamImport=' + $('#teams2Import').val());
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php js::set('projectID', $project->id);?>
|
||||
<?php js::set('roles', $roles, 'json');?>
|
||||
<form method='post'>
|
||||
<table align='center' class='table-4 a-center'>
|
||||
<caption>
|
||||
@@ -31,33 +25,34 @@ function importTeam()
|
||||
<th><?php echo $lang->team->days;?></th>
|
||||
<th><?php echo $lang->team->hours;?></th>
|
||||
</tr>
|
||||
<?php foreach($currentMembers as $key => $member):?>
|
||||
<?php $i = 1;?>
|
||||
<?php foreach($currentMembers as $member):?>
|
||||
<?php $realname = substr($users[$member->account], 2);?>
|
||||
<?php unset($users[$member->account]);?>
|
||||
<tr>
|
||||
<td><input type='text' name='realnames[]' id='account<?php echo $key;?>' value='<?php echo $realname;?>' readonly class='text-2' /></td>
|
||||
<td class='hidden'><input type='text' name='accounts[]' id='account<?php echo $key;?>' value='<?php echo $member->account;?>' readonly class='text-2' /></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo $key;?>' value='<?php echo $member->role;?>' class='text-2' /></td>
|
||||
<td><input type='text' name='days[] ' id='days<?php echo $key;?>' value='<?php echo $member->days;?>' class='text-2' /></td>
|
||||
<td><input type='text' name='realnames[]' id='account<?php echo $i;?>' value='<?php echo $realname;?>' readonly class='text-2' /></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo $i;?>' value='<?php echo $member->role;?>' class='text-2' /></td>
|
||||
<td><input type='text' name='days[] ' id='days<?php echo $i;?>' value='<?php echo $member->days;?>' class='text-2' /></td>
|
||||
<td>
|
||||
<input type='text' name='hours[]' id='hours<?php echo $key;?>' value='<?php echo $member->hours;?>' class='text-2' />
|
||||
<input type='text' name='hours[]' id='hours<?php echo $i;?>' value='<?php echo $member->hours;?>' class='text-2' />
|
||||
<input type='hidden' name='modes[]' value='update' />
|
||||
<input type='hidden' name='accounts[]' value='<?php echo $member->acount;?>' />
|
||||
</td>
|
||||
</tr>
|
||||
<?php $i ++;?>
|
||||
<?php endforeach;?>
|
||||
|
||||
<?php if(!$currentMembers) $key = 0;?>
|
||||
<?php foreach($members2Import as $member2Import):?>
|
||||
<?php $key ++;?>
|
||||
<tr>
|
||||
<td><?php echo html::select('accounts[]', $users, $member2Import->account, 'class=select-2');?></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo $key;?>' class='text-2' value='<?php echo $member2Import->role;?>' /></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo $key;?>' class='text-2' value='<?php echo $project->days?>'/></td>
|
||||
<td><?php echo html::select('accounts[]', $users, $member2Import->account, "class='select-2' onchange='setRole(this.value, $i)'");?></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo $i;?>' class='text-2' value='<?php echo $member2Import->role;?>' /></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo $i;?>' class='text-2' value='<?php echo $project->days?>'/></td>
|
||||
<td>
|
||||
<input type='text' name='hours[]' id='hours<?php echo $key;?>' class='text-2' value='<?php echo $member2Import->hours;?>' />
|
||||
<input type='text' name='hours[]' id='hours<?php echo $i;?>' class='text-2' value='<?php echo $member2Import->hours;?>' />
|
||||
<input type='hidden' name='modes[]' value='create' />
|
||||
</td>
|
||||
</tr>
|
||||
<?php $i ++;?>
|
||||
<?php endforeach;?>
|
||||
|
||||
<?php
|
||||
@@ -65,16 +60,17 @@ function importTeam()
|
||||
if($count > PROJECTMODEL::LINK_MEMBERS_ONE_TIME) $count = PROJECTMODEL::LINK_MEMBERS_ONE_TIME;
|
||||
?>
|
||||
|
||||
<?php for($i = 0; $i < $count; $i ++):?>
|
||||
<?php for($j = 0; $j < $count; $j ++):?>
|
||||
<tr>
|
||||
<td><?php echo html::select('accounts[]', $users, '', 'class=select-2');?></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo ($key + $i);?>' class='text-2' /></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo ($key + $i);?>' class='text-2' value='<?php echo $project->days?>'/></td>
|
||||
<td><?php echo html::select('accounts[]', $users, '', "class='select-2' onchange='setRole(this.value, $i)'");?></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo ($i);?>' class='text-2' /></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo ($i);?>' class='text-2' value='<?php echo $project->days?>'/></td>
|
||||
<td>
|
||||
<input type='text' name='hours[]' id='hours<?php echo ($key + $i);?>' class='text-2' value='7' />
|
||||
<input type='text' name='hours[]' id='hours<?php echo ($i);?>' class='text-2' value='7' />
|
||||
<input type='hidden' name='modes[]' value='create' />
|
||||
</td>
|
||||
</tr>
|
||||
<?php $i ++;?>
|
||||
<?php endfor;?>
|
||||
<tr>
|
||||
<td colspan='4'>
|
||||
|
||||
@@ -151,6 +151,22 @@ class userModel extends model
|
||||
return $users;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get roles for some users.
|
||||
*
|
||||
* @param string $users
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getUserRoles($users)
|
||||
{
|
||||
$users = $this->dao->select('account, role')->from(TABLE_USER)->where('account')->in($users)->fetchPairs();
|
||||
if(!$users) return array();
|
||||
|
||||
foreach($users as $account => $role) $users[$account] = zset($this->lang->user->roleList, $role, $role);
|
||||
return $users;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get user info by ID.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user