* Finish task #7444,7441.
This commit is contained in:
@@ -400,10 +400,14 @@ class bug extends control
|
||||
$stories = $this->story->getProductStoryPairs($productID, $branch);
|
||||
}
|
||||
|
||||
|
||||
$moduleID = $moduleID ? $moduleID : (int)$this->cookie->lastBugModule;
|
||||
$moduleOwner = $this->bug->getModuleOwner($moduleID, $productID);
|
||||
|
||||
/* Set team members of the latest project as assignedTo list. */
|
||||
$latestProject = $this->product->getLatestProject($productID);
|
||||
$projectMembers = array();
|
||||
if(!empty($latestProject)) $projectMembers = $this->loadModel('project')->getTeamMemberPairs($latestProject->id, 'nodeleted');
|
||||
if(!empty($latestProject)) $projectMembers = $this->loadModel('project')->getTeamMemberPairs($latestProject->id, 'nodeleted', $moduleOwner);
|
||||
if(empty($projectMembers)) $projectMembers = $this->view->users;
|
||||
if($assignedTo and !isset($projectMembers[$assignedTo]))
|
||||
{
|
||||
@@ -1397,7 +1401,7 @@ class bug extends control
|
||||
*/
|
||||
public function ajaxLoadAssignedTo($projectID, $selectedUser = '')
|
||||
{
|
||||
$projectMembers = $this->loadModel('project')->getTeamMemberPairs($projectID);
|
||||
$projectMembers = $this->loadModel('project')->getTeamMemberPairs($projectID, '', $selectedUser);
|
||||
|
||||
die(html::select('assignedTo', $projectMembers, $selectedUser, 'class="form-control"'));
|
||||
}
|
||||
@@ -1416,7 +1420,7 @@ class bug extends control
|
||||
$latestProject = $this->product->getLatestProject($productID);
|
||||
if(!empty($latestProject))
|
||||
{
|
||||
$projectMembers = $this->loadModel('project')->getTeamMemberPairs($latestProject->id, 'nodeleted');
|
||||
$projectMembers = $this->loadModel('project')->getTeamMemberPairs($latestProject->id, 'nodeleted', $selectedUser);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -455,16 +455,17 @@ var oldAssignedTo = $("#assignedTo").find("option:selected").val();
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function loadAssignedTo(projectID)
|
||||
function loadAssignedTo(projectID, selectedUser = '')
|
||||
{
|
||||
link = createLink('bug', 'ajaxLoadAssignedTo', 'projectID=' + projectID + '&selectedUser=' + $('#assignedTo').val());
|
||||
selectedUser = selectedUser ? selectedUser : $('#assignedTo').val();
|
||||
link = createLink('bug', 'ajaxLoadAssignedTo', 'projectID=' + projectID + '&selectedUser=' + selectedUser);
|
||||
$.get(link, function(data)
|
||||
{
|
||||
var defaultOption = '<option title="' + oldAssignedToTitle + '" value="' + oldAssignedTo + '" selected="selected">' + oldAssignedToTitle + '</option>';
|
||||
$('#assignedTo_chosen').remove();
|
||||
$('#assignedTo').replaceWith(data);
|
||||
var defaultAssignedTo = $('#assignedTo').val();
|
||||
if(defaultAssignedTo !== oldAssignedTo) $('#assignedTo').append(defaultOption);
|
||||
if(defaultAssignedTo !== oldAssignedTo && selectedUser == '') $('#assignedTo').append(defaultOption);
|
||||
$('#assignedTo').chosen();
|
||||
});
|
||||
}
|
||||
|
||||
+19
-3
@@ -26,10 +26,16 @@ function loadAllUsers()
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function loadProjectTeamMembers(productID)
|
||||
function loadProjectTeamMembers(productID, selectedUser = '')
|
||||
{
|
||||
var link = createLink('bug', 'ajaxLoadProjectTeamMembers', 'productID=' + productID + '&selectedUser=' + $('#assignedTo').val());
|
||||
$('#assignedToBox').load(link, function(){$('#assignedTo').chosen();});
|
||||
selectedUser = selectedUser ? selectedUser : $('#assignedTo').val();
|
||||
var link = createLink('bug', 'ajaxLoadProjectTeamMembers', 'productID=' + productID + '&selectedUser=' + selectedUser);
|
||||
$.get(link, function(data)
|
||||
{
|
||||
$('#assignedTo_chosen').remove();
|
||||
$('#assignedTo').replaceWith(data);
|
||||
$('#assignedTo').chosen();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -56,9 +62,19 @@ function setAssignedTo(moduleID, productID)
|
||||
{
|
||||
if(typeof(productID) == 'undefined') productID = $('#product').val();
|
||||
if(typeof(moduleID) == 'undefined') moduleID = $('#module').val();
|
||||
|
||||
var link = createLink('bug', 'ajaxGetModuleOwner', 'moduleID=' + moduleID + '&productID=' + productID);
|
||||
$.get(link, function(owner)
|
||||
{
|
||||
var projectID = $('#project').val();
|
||||
if(!projectID)
|
||||
{
|
||||
loadProjectTeamMembers(productID, owner);
|
||||
}
|
||||
else
|
||||
{
|
||||
loadAssignedTo(projectID, owner);
|
||||
}
|
||||
$('#assignedTo').val(owner);
|
||||
$("#assignedTo").trigger("chosen:updated");
|
||||
});
|
||||
|
||||
@@ -1722,10 +1722,11 @@ class projectModel extends model
|
||||
*
|
||||
* @param int $projectID
|
||||
* @param string $params
|
||||
* @param string $usersToAppended
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getTeamMemberPairs($projectID, $params = '')
|
||||
public function getTeamMemberPairs($projectID, $params = '', $usersToAppended = '')
|
||||
{
|
||||
if(defined('TUTORIAL')) return $this->loadModel('tutorial')->getTeamMembersPairs();
|
||||
$this->app->loadConfig('user');
|
||||
@@ -1737,7 +1738,11 @@ class projectModel extends model
|
||||
->andWhere('t2.deleted')->eq(0)
|
||||
->fi()
|
||||
->fetchPairs();
|
||||
|
||||
if($usersToAppended) $users += $this->dao->select('account, realname')->from(TABLE_USER)->where('account')->in($usersToAppended)->fetchPairs();
|
||||
|
||||
if(!$users) return array('' => '');
|
||||
|
||||
foreach($users as $account => $realName)
|
||||
{
|
||||
$firstLetter = ucfirst(substr($account, 0, 1)) . ':';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
.side-col .cell{padding:0px;}
|
||||
.side-col #legendProjectAndTask .list-unstyled{padding:10px; border-top:0px; margin:0px;}
|
||||
.col-4 .cell .tab-content .text-top{padding-top: 1px}
|
||||
.main-actions .btn-toolbar .btn{padding-right: 6px; padding-left: 6px;}
|
||||
|
||||
Reference in New Issue
Block a user