From 21faa0dc2a8a56427d9409aa8a5d1d3eb26287cd Mon Sep 17 00:00:00 2001 From: hufangzhou Date: Thu, 18 Nov 2021 11:30:28 +0800 Subject: [PATCH] * Finish task #44361. --- module/execution/control.php | 2 +- module/upgrade/css/mergeprogram.css | 3 +++ module/upgrade/model.php | 13 +++++++++++++ module/upgrade/view/mergebyline.html.php | 14 ++++++++++++-- module/upgrade/view/mergebysprint.html.php | 12 +++++++++++- 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/module/execution/control.php b/module/execution/control.php index 451b016275..fa7554afce 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -40,7 +40,7 @@ class execution extends control $this->loadModel('project'); - if(IN_UPGRADE) return false; + if(defined('IN_UPGRADE') and IN_UPGRADE) return false; $this->executions = $this->execution->getPairs(0, 'all', 'nocode'); $skipCreateStep = array('computeburn', 'ajaxgetdropmenu', 'executionkanban', 'ajaxgetteammembers'); if(!in_array($this->methodName, $skipCreateStep) and $this->app->tab == 'execution') diff --git a/module/upgrade/css/mergeprogram.css b/module/upgrade/css/mergeprogram.css index 0d5e054dc3..2d246364ce 100644 --- a/module/upgrade/css/mergeprogram.css +++ b/module/upgrade/css/mergeprogram.css @@ -35,7 +35,10 @@ div.divider {vertical-align: middle;} .programParams td > label:first-child {margin-right: 10px;} .programParams td > label:last-child {margin-left: 0px;} +.lineGroup .sprintRename input {max-width: 120px;} .projectList .scroll-handle .checkbox-primary {display: inline-block;} .sprintRename {margin-top: 5px;} .sprintRename input {display: inline-block; width: auto;} .sprintRename .btn-group {display: inline-block;} +.sprintGroup .sprintItem .checkbox-primary {display: inline-block;} + diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 4ebce95de7..7012c0f7aa 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -4416,7 +4416,20 @@ class upgradeModel extends model else { /* Use historical projects as project upgrades. */ + $projects = $this->dao->select('id,name,begin,end,status,PM,acl')->from(TABLE_PROJECT)->where('id')->in($projectIdList)->fetchAll('id'); + + $hasExistedProjects = $this->dao->select('name')->from(TABLE_PROJECT)->where('type')->eq('project')->fetchPairs('name'); + + $nameList = array(); + foreach($projectIdList as $projectID) + { + $projectName = $projects[$projectID]->name; + if(isset($hasExistedProjects[$projectName]) or isset($nameList[$projectName])) dao::$errors['name'][] = 'project#' . $projectID . sprintf($this->lang->error->unique, $this->lang->project->name, $projectName); + $nameList[$projectName] = $projectName; + } + if(dao::isError()) die(js::error(dao::getError())); + foreach($projectIdList as $projectID) { $data->projectName = $projects[$projectID]->name; diff --git a/module/upgrade/view/mergebyline.html.php b/module/upgrade/view/mergebyline.html.php index a623c75001..90c156aa0e 100644 --- a/module/upgrade/view/mergebyline.html.php +++ b/module/upgrade/view/mergebyline.html.php @@ -52,8 +52,18 @@
- id][$productID]", array($sprint->id => $sprint->name), '', "title='{$sprint->name}' data-product='{$product->id}' data-line='{$line->id}' data-begin='{$sprint->begin}' data-end='{$sprint->end}' data-status='{$sprint->status}' data-pm='{$sprint->PM}' class='tile'");?> - id][$productID][$sprint->id]", $sprint->id);?> +
+ id][$productID]", array($sprint->id => $sprint->name), '', "title='{$sprint->name}' data-product='{$product->id}' data-line='{$line->id}' data-begin='{$sprint->begin}' data-end='{$sprint->end}' data-status='{$sprint->status}' data-pm='{$sprint->PM}' class='tile'");?> + id][$productID][$sprint->id]", $sprint->id);?> + +
+
diff --git a/module/upgrade/view/mergebysprint.html.php b/module/upgrade/view/mergebysprint.html.php index 6ac1d2eb7a..7a67f7d3e4 100644 --- a/module/upgrade/view/mergebysprint.html.php +++ b/module/upgrade/view/mergebysprint.html.php @@ -14,7 +14,17 @@
$sprint):?> - id => $sprint->name), '', "data-begin='{$sprint->begin}' data-end='{$sprint->end}' data-status='{$sprint->status}' data-pm='{$sprint->PM}'");?> +
+ id => $sprint->name), '', "data-begin='{$sprint->begin}' data-end='{$sprint->end}' data-status='{$sprint->status}' data-pm='{$sprint->PM}'");?> + +
+