diff --git a/module/bug/control.php b/module/bug/control.php index 39eed6253e..4aa2a53718 100644 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -476,12 +476,20 @@ class bug extends control $moduleOptionMenu = $this->tree->getOptionMenu($productID, $viewType = 'bug', $startModuleID = 0, $branch); if(empty($moduleOptionMenu)) die(js::locate(helper::createLink('tree', 'browse', "productID=$productID&view=story"))); + /* Get products and projects. */ $products = $this->products; if($projectID) { $products = array(); $productList = $this->product->getOrderedProducts('all', 40, $projectID); foreach($productList as $product) $products[$product->id] = $product->name; + + $project = $this->loadModel('project')->getByID($projectID); + $projects = array($projectID => $project->name); + } + else + { + $projects = $this->product->getProjectPairsByProduct($productID, $branch); } /* Set custom. */ @@ -498,9 +506,11 @@ class bug extends control $this->view->productName = $this->products[$productID]; $this->view->moduleOptionMenu = $moduleOptionMenu; $this->view->stories = $stories; + $this->view->projects = $projects; $this->view->executions = $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID); $this->view->builds = $builds; $this->view->moduleID = (int)$moduleID; + $this->view->projectID = $projectID; $this->view->executionID = $executionID; $this->view->taskID = $taskID; $this->view->storyID = $storyID; diff --git a/module/bug/js/common.js b/module/bug/js/common.js index 6a303863be..78fcc13036 100644 --- a/module/bug/js/common.js +++ b/module/bug/js/common.js @@ -55,7 +55,7 @@ function loadAll(productID) $('#task').chosen(); loadProductBranches(productID) loadProductModules(productID); - loadProductExecutions(productID); + loadProductProjects(productID); loadProductBuilds(productID); loadProductplans(productID); loadProductStories(productID); @@ -75,7 +75,7 @@ function loadBranch() $('#task').chosen(); productID = $('#product').val(); loadProductModules(productID); - loadProductExecutions(productID); + loadProductProjects(productID); loadProductBuilds(productID); loadProductplans(productID); loadProductStories(productID); @@ -232,19 +232,42 @@ function loadProductStories(productID) } /** - * Load executions of product. + * Load projects of product. * * @param int $productID * @access public * @return void */ -function loadProductExecutions(productID) +function loadProductProjects(productID) { + branch = $('#branch').val(); + if(typeof(branch) == 'undefined') branch = 0; + + link = createLink('product', 'ajaxGetProjects', 'productID=' + productID + '&branch=' + branch + '&projectID=' + oldProjectID); + $('#projectBox').load(link, function() + { + $(this).find('select').chosen(); + var projectID = $('#project').find("option:selected").val(); + loadProductExecutions(productID, projectID); + }); +} + +/** + * Load executions of product. + * + * @param int $productID + * @param int $projectID + * @access public + * @return void + */ +function loadProductExecutions(productID, projectID = 0) +{ + if(!projectID) projectID = $('#project').find("option:selected").val(); required = $('#execution_chosen').hasClass('required'); branch = $('#branch').val(); if(typeof(branch) == 'undefined') branch = 0; - link = createLink('product', 'ajaxGetExecutions', 'productID=' + productID + '&executionID=' + oldExecutionID + '&branch=' + branch); + link = createLink('product', 'ajaxGetExecutions', 'productID=' + productID + '&projectID=' + projectID + '&branch=' + branch); $('#executionIdBox').load(link, function() { $(this).find('select').chosen(); diff --git a/module/bug/js/create.js b/module/bug/js/create.js index 61cb44b8d7..aa402fd61a 100644 --- a/module/bug/js/create.js +++ b/module/bug/js/create.js @@ -92,7 +92,7 @@ $(function() var assignedto = $('#assignedTo').val(); changeProductConfirmed = true; oldStoryID = $('#story').val() || 0; - oldExecutionID = 0; + oldExecutionID = 0; oldOpenedBuild = ''; oldTaskID = $('#oldTaskID').val() || 0; diff --git a/module/bug/lang/de.php b/module/bug/lang/de.php index 0744daaa44..b1db8e9c3b 100644 --- a/module/bug/lang/de.php +++ b/module/bug/lang/de.php @@ -17,6 +17,7 @@ $lang->bug->branch = 'Branch/Platform'; $lang->bug->productplan = 'Plan'; $lang->bug->module = 'Modul'; $lang->bug->moduleAB = 'Modul'; +$lang->bug->project = 'Project'; $lang->bug->execution = $lang->executionCommon; $lang->bug->story = 'Story'; $lang->bug->storyVersion = 'Story Version'; diff --git a/module/bug/lang/en.php b/module/bug/lang/en.php index b08abe34f3..402bcd49ed 100644 --- a/module/bug/lang/en.php +++ b/module/bug/lang/en.php @@ -17,6 +17,7 @@ $lang->bug->branch = 'Branch/Platform'; $lang->bug->productplan = 'Plan'; $lang->bug->module = 'Module'; $lang->bug->moduleAB = 'Module'; +$lang->bug->project = 'Project'; $lang->bug->execution = $lang->executionCommon; $lang->bug->story = 'Story'; $lang->bug->storyVersion = 'Story Version'; diff --git a/module/bug/lang/fr.php b/module/bug/lang/fr.php index 7df0054af5..25cb905ae5 100644 --- a/module/bug/lang/fr.php +++ b/module/bug/lang/fr.php @@ -17,6 +17,7 @@ $lang->bug->branch = 'Branche/Plateforme'; $lang->bug->productplan = 'Plan'; $lang->bug->module = 'Module'; $lang->bug->moduleAB = 'Module'; +$lang->bug->project = 'Project'; $lang->bug->execution = $lang->executionCommon; $lang->bug->story = 'Story'; $lang->bug->storyVersion = 'Version Story'; diff --git a/module/bug/lang/vi.php b/module/bug/lang/vi.php index 389b4f6cab..42862a33b5 100644 --- a/module/bug/lang/vi.php +++ b/module/bug/lang/vi.php @@ -17,6 +17,7 @@ $lang->bug->branch = 'Branch/Platform'; $lang->bug->productplan = 'Kế hoạch'; $lang->bug->module = 'Module'; $lang->bug->moduleAB = 'Module'; +$lang->bug->project = 'Project'; $lang->bug->execution = $lang->executionCommon; $lang->bug->story = 'Câu chuyện'; $lang->bug->storyVersion = 'Phiên bản câu chuyện'; diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index 5372b4d835..bc104b0318 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -17,6 +17,7 @@ $lang->bug->branch = '分支/平台'; $lang->bug->productplan = '所属' . '计划'; $lang->bug->module = '所属模块'; $lang->bug->moduleAB = '模块'; +$lang->bug->project = '所属项目'; $lang->bug->execution = '所属' . $lang->executionCommon; $lang->bug->story = "相关{$lang->SRCommon}"; $lang->bug->storyVersion = "{$lang->SRCommon}版本"; diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index b85d580372..ad8b139165 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -23,6 +23,7 @@ js::set('flow', $config->global->flow); js::set('stepsRequired', $stepsRequired); js::set('stepsNotEmpty', $lang->bug->stepsNotEmpty); js::set('isStepsTemplate', $isStepsTemplate); +js::set('oldProjectID', $projectID); ?>