zentaopms/module/bug/js/m.common.js
2023-05-16 10:47:08 +08:00

444 lines
13 KiB
JavaScript

/**
* Load all users as assignedTo list.
*
* @access public
* @return void
*/
function loadAllUsers()
{
link = createLink('bug', 'ajaxLoadAllUsers', 'selectedUser=' + $('#assignedTo').val());
$('#assignedToBox').load(link, function()
{
moduleID = $('#module').val();
productID = $('#product').val();
setAssignedTo(moduleID, productID);
});
}
/**
* Load by branch.
*
* @access public
* @return void
*/
function loadBranch()
{
$('#taskIdBox').innerHTML = '<select id="task"></select>'; // Reset the task.
productID = $('#product').val();
loadProductModules(productID);
loadProductExecutions(productID);
loadProductBuilds(productID);
loadProductplans(productID);
loadProductStories(productID);
}
/**
* Load product modules.
*
* @param productID $productID
* @access public
* @return void
*/
function loadProductModules(productID)
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
link = createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=bug&branch=' + branch + '&rootModuleID=0&returnType=mhtml&needManage=true');
$('#moduleIdBox').load(link);
}
/**
* Load product plans.
*
* @param productID $productID
* @access public
* @return void
*/
function loadProductplans(productID)
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
link = createLink('productplan', 'ajaxGetProductplans', 'productID=' + productID + '&branch=' + branch);
$('#planIdBox').load(link);
}
/**
* Load executions of product.
*
* @param int $productID
* @access public
* @return void
*/
function loadProductExecutions(productID)
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
if(typeof(oldExecutionID) == 'undefined') oldExecutionID = 0;
link = createLink('product', 'ajaxGetExecutions', 'productID=' + productID + '&executionID=' + oldExecutionID + '&branch=' + branch);
$('#executionIdBox').load(link);
}
/**
* load assignedTo and stories of module.
*
* @access public
* @return void
*/
function loadModuleRelated()
{
moduleID = $('#module').val();
productID = $('#product').val();
setAssignedTo(moduleID, productID);
setStories(moduleID, productID);
}
/**
* Set the assignedTo field.
*
* @access public
* @return void
*/
function setAssignedTo(moduleID, productID)
{
if(typeof(productID) == 'undefined') productID = $('#product').val();
if(typeof(moduleID) == 'undefined') moduleID = $('#module').val();
link = createLink('bug', 'ajaxGetModuleOwner', 'moduleID=' + moduleID + '&productID=' + productID);
$.get(link, function(owner)
{
owner = JSON.parse(owner);
var account = owner[0];
var realName = owner[1];
var isExist = false;
var count = $('#assignedTo').find('option').length;
for(var i = 0; i < count; i++)
{
if($('#assignedTo').get(0).options[i].value == account)
{
isExist = true;
break;
}
}
if(!isExist && account)
{
option = "<option title='" + realName + "' value='" + account + "'>" + realName + "</option>";
$("#assignedTo").append(option);
}
$('#assignedTo').val(account);
});
}
/**
* Load execution related bugs and tasks.
*
* @param int $executionID
* @access public
* @return void
*/
function loadExecutionRelated(executionID)
{
if(executionID)
{
loadExecutionTasks(executionID);
loadExecutionStories(executionID);
loadExecutionBuilds(executionID);
loadAssignedTo(executionID);
}
else
{
$('#taskIdBox').innerHTML = '<select id="task"></select>'; // Reset the task.
loadProductStories($('#product').val());
loadProductBuilds($('#product').val());
}
}
/**
*Load all builds of one execution or product.
*
* @access public
* @return void
*/
function loadAllBuilds(that)
{
productID = $('#product').val();
executionID = $('#execution').val();
if(page == 'edit') buildBox = $(that).parent().prev().filter('span').attr('id');
if(executionID)
{
loadAllExecutionBuilds(executionID, productID);
}
else
{
loadAllProductBuilds(productID);
}
}
/**
* Load all builds of the execution.
*
* @param int $executionID
* @param int $productID
* @access public
* @return void
*/
function loadAllExecutionBuilds(executionID, productID)
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
if(page == 'create')
{
oldOpenedBuild = $('#openedBuild').val() ? $('#openedBuild').val() : 0;
link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&needCreate=true&type=all');
$('#buildBox').load(link, function(){ notice();});
}
if(page == 'edit')
{
if(buildBox == 'openedBuildBox')
{
link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&needCreate=true&type=all');
$('#openedBuildBox').load(link);
}
if(buildBox == 'resolvedBuildBox')
{
link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=0&index=0&needCreate=true&type=all');
$('#resolvedBuildBox').load(link);
}
}
}
/**
* Load all builds of the product.
*
* @param int $productID
* @access public
* @return void
*/
function loadAllProductBuilds(productID)
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
if(page == 'create')
{
oldOpenedBuild = $('#openedBuild').val() ? $('#openedBuild').val() : 0;
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&type=all');
$('#buildBox').load(link, function(){ notice();});
}
if(page == 'edit')
{
if(buildBox == 'openedBuildBox')
{
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&type=all');
$('#openedBuildBox').load(link);
}
if(buildBox == 'resolvedBuildBox')
{
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=0&index=0&type=all');
$('#resolvedBuildBox').load(link);
}
}
}
/**
* Load product stories
*
* @param int $productID
* @access public
* @return void
*/
function loadProductStories(productID)
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
if(typeof(oldStoryID) == 'undefined') oldStoryID = 0;
link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&branch=' + branch + '&moduleId=0&storyID=' + oldStoryID);
$('#storyIdBox').load(link);
}
/**
* Load product builds.
*
* @param productID $productID
* @access public
* @return void
*/
function loadProductBuilds(productID)
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
if(typeof(oldOpenedBuild) == 'undefined') oldOpenedBuild = 0;
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch);
if(page == 'create')
{
$('#buildBox').load(link, function(){ notice();});
}
else
{
$('#openedBuildBox').load(link);
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=' + branch);
$('#resolvedBuildBox').load(link);
}
}
/**
* Load execution tasks.
*
* @param executionID $executionID
* @access public
* @return void
*/
function loadExecutionTasks(executionID)
{
link = createLink('task', 'ajaxGetExecutionTasks', 'executionID=' + executionID + '&taskID=' + oldTaskID);
$('#taskIdBox').load(link);
}
/**
* Load execution stories.
*
* @param executionID $executionID
* @access public
* @return void
*/
function loadExecutionStories(executionID)
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
if(typeof(oldStoryID) == 'undefined') oldStoryID = 0;
link = createLink('story', 'ajaxGetExecutionStories', 'executionID=' + executionID + '&productID=' + $('#product').val() + '&branch=' + branch + '&moduleID=0&storyID=' + oldStoryID);
$('#storyIdBox').load(link);
}
/**
* Load builds of a execution.
*
* @param int $executionID
* @access public
* @return void
*/
function loadExecutionBuilds(executionID)
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
productID = $('#product').val();
if(page == 'create') oldOpenedBuild = $('#openedBuild').val() ? $('#openedBuild').val() : 0;
if(page == 'create')
{
link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + "&branch=" + branch + "&index=0&needCreate=true");
$('#buildBox').load(link, function(){ notice();});
}
else
{
link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch);
$('#openedBuildBox').load(link);
link = createLink('build', 'ajaxGetExecutionBuilds', 'executionID=' + executionID + '&productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=' + branch);
$('#resolvedBuildBox').load(link);
}
}
/**
* Set story field.
*
* @param moduleID $moduleID
* @param productID $productID
* @access public
* @return void
*/
function setStories(moduleID, productID)
{
var branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&branch=' + branch + '&moduleID=' + moduleID);
$.get(link, function(stories)
{
if(!stories) stories = '<select id="story" name="story" class="form-control"></select>';
$('#story').replaceWith(stories);
});
}
/**
* Load team members of the execution as assignedTo list.
*
* @param int $executionID
* @access public
* @return void
*/
function loadAssignedTo(executionID)
{
link = createLink('bug', 'ajaxLoadAssignedTo', 'executionID=' + executionID + '&selectedUser=' + $('#assignedTo').val());
$('#assignedToBox').load(link);
}
/**
* notice for create build.
*
* @access public
* @return void
*/
function notice()
{
$('#buildBoxActions').empty().hide();
if($('#openedBuild').find('option').length < 1)
{
var html = '';
if($('#execution').val() == '')
{
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
html += '<a href="' + createLink('release', 'create', 'productID=' + $('#product').val() + '&branch=' + branch) + '" target="_blank" style="padding-right:5px">' + createRelease + '</a> ';
html += '<a href="javascript:loadProductBuilds(' + $('#product').val() + ')">' + refresh + '</a>';
}
else
{
html += '<a href="' + createLink('build', 'create','executionID=' + $('#execution').val()) + '" target="_blank" style="padding-right:5px">' + createBuild + '</a> ';
html += '<a href="javascript:loadExecutionBuilds(' + $('#execution').val() + ')">' + refresh + '</a>';
}
var $bba = $('#buildBoxActions');
if($bba.length)
{
$bba.html(html);
$bba.show();
}
else
{
if($('#buildBox').closest('tr').find('td').length > 1)
{
$('#buildBox').closest('td').next().attr('id', 'buildBoxActions');
$('#buildBox').closest('td').next().html(html);
}
else
{
html = "<td id='buildBoxActions'>" + html + '</td>';
$('#buildBox').closest('td').after(html);
}
}
}
}
/**
* Set duplicate.
*
* @param string $resolution
* @access public
* @return void
*/
function setDuplicate(resolution)
{
if(resolution == 'duplicate')
{
$('#duplicateBugBox').removeClass('hidden');
}
else
{
$('#duplicateBugBox').addClass('hidden');
}
}
$(function()
{
if($('#execution').val()) loadExecutionRelated($('#execution').val());
});