* Finish task #7444,7441.

This commit is contained in:
holan20180123
2020-07-14 09:43:36 +08:00
parent 1a4c6217e8
commit ff7730f4bd
5 changed files with 37 additions and 10 deletions
+7 -3
View File
@@ -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
{
+4 -3
View File
@@ -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
View File
@@ -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");
});
+6 -1
View File
@@ -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
View File
@@ -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;}