From fd0b180d7128d03b8a58fd634829f68d93fb3485 Mon Sep 17 00:00:00 2001 From: Yagami Date: Thu, 8 Dec 2022 13:15:48 +0800 Subject: [PATCH] * Finish task #78676. --- module/product/model.php | 16 ++++++++++++++-- module/projectrelease/model.php | 17 +++-------------- module/projectrelease/view/view.html.php | 8 +++++++- module/release/model.php | 18 ++++-------------- module/release/view/view.html.php | 8 +++++++- 5 files changed, 35 insertions(+), 32 deletions(-) diff --git a/module/product/model.php b/module/product/model.php index 8523500b68..a541abf5b6 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -1578,7 +1578,13 @@ class productModel extends model if($plan->parent > 0 and isset($parents[$plan->parent])) $plan->title = $parents[$plan->parent] . ' / ' . $plan->title; $year = substr($plan->end, 0, 4); - $roadmap[$year][$plan->branch][] = $plan; + $branchIdList = explode(',', trim($plan->branch, ',')); + $branchIdList = array_unique($branchIdList); + foreach($branchIdList as $branchID) + { + if($branchID === '') continue; + $roadmap[$year][$branchID][] = $plan; + } $total++; if($count > 0 and $total >= $count) return $this->processRoadmap($roadmap); @@ -1595,7 +1601,13 @@ class productModel extends model foreach($releases as $release) { $year = substr($release->date, 0, 4); - $roadmap[$year][$release->branch][] = $release; + $branchIdList = explode(',', trim($release->branch, ',')); + $branchIdList = array_unique($branchIdList); + foreach($branchIdList as $branchID) + { + if($branchID === '') continue; + $roadmap[$year][$branchID][] = $release; + } $total++; if($count > 0 and $total >= $count) return $this->processRoadmap($roadmap); diff --git a/module/projectrelease/model.php b/module/projectrelease/model.php index 0b164aac46..259f1ad772 100644 --- a/module/projectrelease/model.php +++ b/module/projectrelease/model.php @@ -35,20 +35,9 @@ class projectreleaseModel extends model $release->branch = trim($release->branch, ','); $release->build = trim($release->build, ','); - $builds = $this->dao->select('id, branch, filePath, scmPath, name, execution, project')->from(TABLE_BUILD)->where('id')->in($release->build)->fetchAll(); - - /* Get release's branches by build. */ - $branches = array(); - if($release->productType != 'normal') - { - foreach($builds as $build) - { - $branchIdList = explode(',', $build->branch); - foreach($branchIdList as $branchID) $branches[$branchID] = $branchID; - } - } - - $release->branches = $branches; + $release->branches = array(); + $branchIdList = explode(',', $release->branch); + foreach($branchIdList as $branchID) $release->branches[$branchID] = $branchID; $this->loadModel('file'); $release = $this->file->replaceImgURL($release, 'desc'); diff --git a/module/projectrelease/view/view.html.php b/module/projectrelease/view/view.html.php index 12b816fe23..3704ad1e82 100644 --- a/module/projectrelease/view/view.html.php +++ b/module/projectrelease/view/view.html.php @@ -377,7 +377,13 @@ release->branch;?> - branches as $branchID) echo zget($branches, $branchID, '') . ' ';?> + branches as $branchID) + { + echo zget($branches, $branchID, ''); + if($branchID != end($release->branches)) echo ', '; + } + ?> diff --git a/module/release/model.php b/module/release/model.php index a9b075ac89..ea1e215de2 100644 --- a/module/release/model.php +++ b/module/release/model.php @@ -31,21 +31,11 @@ class releaseModel extends model ->fetch(); if(!$release) return false; - $builds = $this->dao->select('id, branch, filePath, scmPath, name, execution, project')->from(TABLE_BUILD)->where('id')->in($release->build)->fetchAll(); + $release->builds = $this->dao->select('id, branch, filePath, scmPath, name, execution, project')->from(TABLE_BUILD)->where('id')->in($release->build)->fetchAll(); - /* Get release's branches by build. */ - $branches = array(); - if($release->productType != 'normal') - { - foreach($builds as $build) - { - $branchIdList = explode(',', $build->branch); - foreach($branchIdList as $branchID) $branches[$branchID] = $branchID; - } - } - - $release->builds = $builds; - $release->branches = $branches; + $release->branches = array(); + $branchIdList = explode(',', trim($release->branch, ',')); + foreach($branchIdList as $branchID) $release->branches[$branchID] = $branchID; $this->loadModel('file'); $release = $this->file->replaceImgURL($release, 'desc'); diff --git a/module/release/view/view.html.php b/module/release/view/view.html.php index 59862c8d8d..d63b2db7d0 100644 --- a/module/release/view/view.html.php +++ b/module/release/view/view.html.php @@ -382,7 +382,13 @@ release->branch;?> - branches as $branchID) echo zget($branches, $branchID, '') . ' ';?> + branches as $branchID) + { + echo zget($branches, $branchID, ''); + if($branchID != end($release->branches)) echo ', '; + } + ?>