From 994015ade98320c8c9421c6cf781fa0d2a8a8d59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=80=A1=E6=A0=8B?= Date: Fri, 25 Nov 2022 08:24:28 +0800 Subject: [PATCH] * fix bug #30229. --- module/bug/js/view.js | 12 ++++++++++-- module/product/control.php | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/module/bug/js/view.js b/module/bug/js/view.js index 2e38b6e93f..8fa4d52270 100644 --- a/module/bug/js/view.js +++ b/module/bug/js/view.js @@ -23,7 +23,15 @@ function loadProductExecutions(productID, projectID) $('#executionBox').load(link, function() { - $(this).find('select').chosen(); + $select = $(this).find('select'); + $tr = $(this).closest('tr'); + $tr.removeClass('hidden'); + if($select.data('multiple') == 0) + { + $tr.addClass('hidden'); + $select.find('option:last').prop('selected', true); + } + $select.chosen(); }); } @@ -37,7 +45,7 @@ $('#toTaskButton').on('click', function() { $('#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'); + window.parent.$.apps.open(link, $('#execution').data('multiple') == 0 ? 'project' : 'execution'); } else if(projectID == 0) { diff --git a/module/product/control.php b/module/product/control.php index 4abee5a844..8e646cad4e 100755 --- a/module/product/control.php +++ b/module/product/control.php @@ -963,13 +963,14 @@ class product extends control $mode .= ($from == 'bugToTask' or empty($this->config->CRExecution)) ? 'noclosed' : ''; $mode .= !$projectID ? ',multiple' : ''; + $project = $this->loadModel('project')->getById($projectID); $executions = $from == 'showImport' ? $this->product->getAllExecutionPairsByProduct($productID, $branch, $projectID) : $this->product->getExecutionPairsByProduct($productID, $branch, 'id_desc', $projectID, $mode); if($this->app->getViewType() == 'json') return print(json_encode($executions)); if($number === '') { $event = $from == 'bugToTask' ? '' : " onchange='loadExecutionRelated(this.value)'"; - return print(html::select('execution', array('' => '') + $executions, $executionID, "class='form-control' $event")); + return print(html::select('execution', array('' => '') + $executions, $executionID, "class='form-control' data-multiple={$project->multiple} $event")); } else {