diff --git a/module/action/lang/en.php b/module/action/lang/en.php index 697ce47740..ae158bc1f2 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -266,6 +266,7 @@ $lang->action->label->tostory = 'converted to Story '; $lang->action->label->frombug = 'converted from Bug '; $lang->action->label->fromlib = 'imported from Library '; $lang->action->label->totask = 'converted to Task '; +$lang->action->label->converttotask = 'converted to Task '; $lang->action->label->svncommited = 'committed SVN '; $lang->action->label->gitcommited = 'committed Git '; $lang->action->label->linked2plan = 'linked to Plan '; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 25c14d73ec..be06e0aedc 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -266,6 +266,7 @@ $lang->action->label->tostory = "转{$lang->SRCommon}"; $lang->action->label->frombug = "转{$lang->SRCommon}"; $lang->action->label->fromlib = '从用例库导入'; $lang->action->label->totask = '转任务'; +$lang->action->label->converttotask = '转任务'; $lang->action->label->svncommited = '提交代码'; $lang->action->label->gitcommited = '提交代码'; $lang->action->label->linked2plan = "关联计划"; diff --git a/module/bug/control.php b/module/bug/control.php index 3251ad07f6..3c23616300 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -880,6 +880,8 @@ class bug extends control $product = $this->loadModel('product')->getByID($productID); $branches = $product->type == 'normal' ? array() : $this->loadModel('branch')->getPairs($bug->product); + $projects = $this->loadModel('product')->getProjectPairsByProduct($productID, $bug->branch); + $this->executeHooks($bugID); /* Header and positon. */ @@ -902,6 +904,8 @@ class bug extends control $this->view->preAndNext = $this->loadModel('common')->getPreAndNextObject('bug', $bugID); $this->view->product = $product; + $this->view->projects = array('' => '') + $projects; + $this->display(); } diff --git a/module/bug/js/view.js b/module/bug/js/view.js index a5038e130c..5226a3e3e4 100644 --- a/module/bug/js/view.js +++ b/module/bug/js/view.js @@ -7,3 +7,49 @@ $('#tostory').click(function() { if(!confirm(confrimToStory)) return false; }); + +/** + * Load Product executions in html. + * + * @param int productID + * @param int projectID + * @access public + * @return void + */ +function loadProductExecutions(productID, projectID) +{ + link = createLink('product', 'ajaxGetExecutions', 'productID=' + productID + '&projectID=' + projectID +'&branch=' + branchID + '&number=&executionID=0&from=bugToTask'); + + $('#executionBox').load(link, function() + { + $(this).find('select').chosen(); + }); +} + +$('#toTaskButton').on('click', function() +{ + var projectID = $('#taskProjects').val(); + var executionID = $('#execution').val(); + var executionID = executionID ? executionID : 0; + + if(systemMode == 'new' && projectID && executionID != 0) + { + $('#cancelButton').click(); + link = createLink('task', 'create', 'executionID=' + executionID + '&storyID=0&moduleID=0&taskID=0&todoID=0&extra=projectID=' + projectID + '&bugID=' + bugID); + window.parent.$.apps.open(link, 'execution'); + } + else if(systemMode == 'classic' && executionID) + { + $('#cancelButton').click(); + link = createLink('task', 'create', 'executionID=' + executionID + '&storyID=0&moduleID=0&taskID=0&todoID=0&extra=projectID=0&bugID=' + bugID); + window.parent.$.apps.open(link, 'execution'); + } + else if(executionID == 0) + { + alert(errorNoExecution); + } + else + { + alert(errorNoProject); + } +}); diff --git a/module/bug/lang/en.php b/module/bug/lang/en.php index 8c1957c244..9bb908524a 100644 --- a/module/bug/lang/en.php +++ b/module/bug/lang/en.php @@ -95,6 +95,10 @@ $lang->bug->toCase = 'To Case'; $lang->bug->colorTag = 'Color'; $lang->bug->fixedRate = 'Fixed Rate'; $lang->bug->noticefeedbackBy = 'NoticeFeedbackBy'; +$lang->bug->selectProjects = 'Select Projects'; +$lang->bug->nextStep = 'Next Step'; +$lang->bug->noProject = 'Haven’t chosen a project yet'; +$lang->bug->noExecution = 'Haven’t chosen a execution yet'; /* Method list. */ $lang->bug->index = 'Bug Home'; @@ -405,6 +409,7 @@ $lang->bug->action = new stdclass(); $lang->bug->action->resolved = array('main' => '$date, resolved by $actor and the resolution is $extra $appendLink.', 'extra' => 'resolutionList'); $lang->bug->action->tostory = array('main' => '$date, converted by $actor to Story with ID $extra.'); $lang->bug->action->totask = array('main' => '$date, imported by $actor as Task with ID $extra.'); +$lang->bug->action->converttotask = array('main' => '$date, imported by $actor as Task,with ID $extra。'); $lang->bug->action->linked2plan = array('main' => '$date, linked by $actor to Plan $extra.'); $lang->bug->action->unlinkedfromplan = array('main' => '$date, deleted by $actor from Plan $extra.'); $lang->bug->action->linked2build = array('main' => '$date, linked by $actor to Build $extra.'); diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index 52d5277a7c..1887709510 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -95,6 +95,10 @@ $lang->bug->toCase = '生成用例'; $lang->bug->colorTag = '颜色标签'; $lang->bug->fixedRate = '修复率'; $lang->bug->noticefeedbackBy = '通知反馈者'; +$lang->bug->selectProjects = '选择项目'; +$lang->bug->nextStep = '下一步'; +$lang->bug->noProject = '还没有选择项目!'; +$lang->bug->noExecution = '还没有选择执行!'; /* 方法列表。*/ $lang->bug->index = '首页'; @@ -405,6 +409,7 @@ $lang->bug->action = new stdclass(); $lang->bug->action->resolved = array('main' => '$date, 由 $actor 解决,方案为 $extra $appendLink。', 'extra' => 'resolutionList'); $lang->bug->action->tostory = array('main' => '$date, 由 $actor 转为 ' . $lang->SRCommon . ',编号为 $extra。'); $lang->bug->action->totask = array('main' => '$date, 由 $actor 导入为任务,编号为 $extra。'); +$lang->bug->action->converttotask = array('main' => '$date, 由 $actor 转为任务,编号为 $extra。'); $lang->bug->action->linked2plan = array('main' => '$date, 由 $actor 关联到计划 $extra。'); $lang->bug->action->unlinkedfromplan = array('main' => '$date, 由 $actor 从计划 $extra 移除。'); $lang->bug->action->linked2build = array('main' => '$date, 由 $actor 关联到版本 $extra。'); diff --git a/module/bug/model.php b/module/bug/model.php index 5e4d93c7cc..3a4f64f6ee 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -3385,6 +3385,7 @@ class bugModel extends model if($type == 'view' && $this->app->tab != 'product') { $menu .= $this->buildMenu('bug', 'toStory', $toStoryParams, $bug, $type, $this->lang->icons['story'], '', '', '', "data-app='product' id='tostory'", $this->lang->bug->toStory); + if(common::hasPriv('task', 'create')) $menu .= html::a('#toTask', "{$this->lang->bug->toTask}", '', "data-app='qa' data-toggle='modal' class='btn btn-link'"); $menu .= $this->buildMenu('bug', 'createCase', $convertParams, $bug, $type, 'sitemap'); } if($type == 'view') diff --git a/module/bug/view/view.html.php b/module/bug/view/view.html.php index d76011e701..5e954c876d 100644 --- a/module/bug/view/view.html.php +++ b/module/bug/view/view.html.php @@ -14,6 +14,12 @@ bug->confirmToStory);?> +systemMode);?> +tab);?> +id);?> +branch);?> +bug->noExecution);?> +bug->noProject);?> session->bugList ? $app->session->bugList : inlink('browse', "productID=$bug->product");?>