$(function() { setModal4List('iframe', 'bugList'); if(typeof page == 'undefined') page = ''; if(page == 'create') { productID = $('#product').val(); moduleID = $('#module').val(); assignedto = $('#assignedTo').val(); changeProductConfirmed = true; oldStoryID = 0; oldProjectID = 0; oldOpenedBuild = ''; oldTaskID = 0; if(!assignedto) setAssignedTo(moduleID, productID); notice(); } if(page == 'create' || page == 'edit' || page == 'assignedto' || page == 'confirmbug') { oldProductID = $('#product').val(); $("#story, #task, #mailto").chosen(defaultChosenOptions); } }); /** * Load all fields. * * @param int $productID * @access public * @return void */ function loadAll(productID) { if(page == 'create') { loadProjectTeamMembers(productID); setAssignedTo(); } if(!changeProductConfirmed) { firstChoice = confirm(confirmChangeProduct); changeProductConfirmed = true; // Only notice the user one time. if(!firstChoice) { $('#product').val(oldProductID);//Revert old product id if confirm is no. $('#product').trigger("chosen:updated"); $('#product').chosen(defaultChosenOptions); return true; } loadAll(productID); } else { $('#taskIdBox').innerHTML = ''; // Reset the task. $('#task').chosen(defaultChosenOptions); loadProductBranches(productID) loadProductModules(productID); loadProductProjects(productID); loadProductBuilds(productID); loadProductplans(productID); loadProductStories(productID); } } /** * Load by branch. * * @access public * @return void */ function loadBranch() { $('#taskIdBox').innerHTML = ''; // Reset the task. $('#task').chosen(defaultChosenOptions); productID = $('#product').val(); loadProductModules(productID); loadProductProjects(productID); loadProductBuilds(productID); loadProductplans(productID); loadProductStories(productID); } /** *Load all builds of one project or product. * * @access public * @return void */ function loadAllBuilds(that) { if(page == 'resolve') { oldResolvedBuild = $('#resolvedBuild').val() ? $('#resolvedBuild').val() : 0; link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=0&index=0&type=all'); $('#resolvedBuildBox').load(link, function(){$(this).find('select').chosen(defaultChosenOptions)}); } else { productID = $('#product').val(); projectID = $('#project').val(); if(page == 'edit') buildBox = $(that).parent().prev().filter('span').attr('id'); if(projectID) { loadAllProjectBuilds(projectID, productID); } else { loadAllProductBuilds(productID); } } } /** * Load all builds of the project. * * @param int $projectID * @param int $productID * @access public * @return void */ function loadAllProjectBuilds(projectID, productID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; if(page == 'create') { oldOpenedBuild = $('#openedBuild').val() ? $('#openedBuild').val() : 0; link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&needCreate=true&type=all'); $('#buildBox').load(link, function(){ notice(); $('#openedBuild').chosen(defaultChosenOptions);}); } if(page == 'edit') { if(buildBox == 'openedBuildBox') { link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&needCreate=true&type=all'); $('#openedBuildBox').load(link, function(){$(this).find('select').chosen(defaultChosenOptions)}); } if(buildBox == 'resolvedBuildBox') { link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=0&index=0&needCreate=true&type=all'); $('#resolvedBuildBox').load(link, function(){$(this).find('select').chosen(defaultChosenOptions)}); } } } /** * 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') { link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch + '&index=0&type=all'); $('#buildBox').load(link, function(){ notice(); $('#openedBuild').chosen(defaultChosenOptions);}); } 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, function(){$(this).find('select').chosen(defaultChosenOptions)}); } if(buildBox == 'resolvedBuildBox') { link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=0&index=0&type=all'); $('#resolvedBuildBox').load(link, function(){$(this).find('select').chosen(defaultChosenOptions)}); } } } /** * Load product's modules. * * @param int $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=html&needManage=true'); $('#moduleIdBox').load(link, function() { $(this).find('select').chosen(defaultChosenOptions) if(typeof(bugModule) == 'string') $('#moduleIdBox').prepend("" + bugModule + "") }); } /** * Load product stories * * @param int $productID * @access public * @return void */ function loadProductStories(productID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&branch=' + branch + '&moduleId=0&storyID=' + oldStoryID); $('#storyIdBox').load(link, function(){$('#story').chosen(defaultChosenOptions);}); } /** * Load projects of product. * * @param int $productID * @access public * @return void */ function loadProductProjects(productID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; link = createLink('product', 'ajaxGetProjects', 'productID=' + productID + '&projectID=' + oldProjectID + '&branch=' + branch); $('#projectIdBox').load(link, function(){$(this).find('select').chosen(defaultChosenOptions)}); } /** * 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, function(){$(this).find('select').chosen(defaultChosenOptions)}); } /** * Load product builds. * * @param productID $productID * @access public * @return void */ function loadProductBuilds(productID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch); if(page == 'create') { $('#buildBox').load(link, function(){ notice(); $('#openedBuild').chosen(defaultChosenOptions);}); } else { $('#openedBuildBox').load(link, function(){$(this).find('select').chosen(defaultChosenOptions)}); link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=' + branch); $('#resolvedBuildBox').load(link, function(){$(this).find('select').chosen(defaultChosenOptions)}); } } /** * Load project related bugs and tasks. * * @param int $projectID * @access public * @return void */ function loadProjectRelated(projectID) { if(projectID) { loadProjectTasks(projectID); loadProjectStories(projectID); loadProjectBuilds(projectID); loadAssignedTo(projectID); } else { $('#taskIdBox').innerHTML = ''; // Reset the task. loadProductStories($('#product').val()); loadProductBuilds($('#product').val()); } } /** * Load project tasks. * * @param projectID $projectID * @access public * @return void */ function loadProjectTasks(projectID) { link = createLink('task', 'ajaxGetProjectTasks', 'projectID=' + projectID + '&taskID=' + oldTaskID); $('#taskIdBox').load(link, function(){$('#task').chosen(defaultChosenOptions);}); } /** * Load project stories. * * @param projectID $projectID * @access public * @return void */ function loadProjectStories(projectID) { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=' + $('#product').val() + '&branch=' + branch + '&moduleID=0&storyID=' + oldStoryID); $('#storyIdBox').load(link, function(){$('#story').chosen(defaultChosenOptions);}); } /** * Load builds of a project. * * @param int $projectID * @access public * @return void */ function loadProjectBuilds(projectID) { 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', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + "&branch=" + branch + "&index=0&needCreate=true"); $('#buildBox').load(link, function(){ notice(); $('#openedBuild').chosen(defaultChosenOptions);}); } else { link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild + '&branch=' + branch); $('#openedBuildBox').load(link, function(){$(this).find('select').chosen(defaultChosenOptions)}); link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild + '&branch=' + branch); $('#resolvedBuildBox').load(link, function(){$(this).find('select').chosen(defaultChosenOptions)}); } } /** * 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 = ''; $('#story').replaceWith(stories); $('#story_chosen').remove(); $("#story").chosen(defaultChosenOptions); }); } /** * Load product branches. * * @param int $productID * @access public * @return void */ function loadProductBranches(productID) { $('#branch').remove(); $.get(createLink('branch', 'ajaxGetBranches', "productID=" + productID), function(data) { if(data) { $('#product').closest('.input-group').append(data); $('#branch').css('width', page == 'create' ? '120px' : '65px'); } }) } /** * Load team members of the project as assignedTo list. * * @param int $projectID * @access public * @return void */ function loadAssignedTo(projectID) { link = createLink('bug', 'ajaxLoadAssignedTo', 'projectID=' + projectID + '&selectedUser=' + $('#assignedTo').val()); $('#assignedToBox').load(link, function(){$('#assignedTo').chosen(defaultChosenOptions);}); } /** * notice for create build. * * @access public * @return void */ function notice() { $('#buildBoxActions').empty().hide(); if($('#openedBuild').find('option').length <= 1) { var html = ''; if($('#project').val() == '') { branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; html += '' + createRelease + ' '; html += '' + refresh + ''; } else { html += '' + createBuild + ' '; html += '' + refresh + ''; } var $bba = $('#buildBoxActions'); if($bba.length) { $bba.html(html); $bba.show(); } else { if($('#buildBox').closest('tr').find('td').size() > 1) { $('#buildBox').closest('td').next().attr('id', 'buildBoxActions'); $('#buildBox').closest('td').next().html(html); } else { html = "