From 1f949f1b3f086db8dba7fd717e6c61e2f7647491 Mon Sep 17 00:00:00 2001
From: daitingting
Date: Thu, 10 Nov 2022 07:15:23 +0000
Subject: [PATCH 1/2] * Finish task #75242.
---
module/custom/control.php | 2 +-
module/release/css/browse.css | 1 +
module/release/model.php | 37 +++++++++++++++++++------
module/release/view/browse.html.php | 42 ++++++++++++++++-------------
4 files changed, 55 insertions(+), 27 deletions(-)
diff --git a/module/custom/control.php b/module/custom/control.php
index 56aba91414..f939abc1be 100644
--- a/module/custom/control.php
+++ b/module/custom/control.php
@@ -644,7 +644,7 @@ class custom extends control
return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'top'));
}
- $disabledFeatures = array('program', 'productLine', 'scrum' => array());
+ $disabledFeatures = array('program', 'productLine', 'scrum' => array('scrumMeasrecord'));
foreach($this->config->custom->features as $feature)
{
$function = 'has' . ucfirst($feature) . 'Data';
diff --git a/module/release/css/browse.css b/module/release/css/browse.css
index 252ff7eb52..8c33b9fd78 100644
--- a/module/release/css/browse.css
+++ b/module/release/css/browse.css
@@ -1,5 +1,6 @@
#releaseList {font-size: 13px;}
td {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
+.main-table tbody>tr>td:first-child{padding: 2px 8px!important;}
.c-id {width: 60px}
.c-branch {width: 100px}
diff --git a/module/release/model.php b/module/release/model.php
index 0a1bbebcbf..4ec48b56ea 100644
--- a/module/release/model.php
+++ b/module/release/model.php
@@ -53,19 +53,38 @@ class releaseModel extends model
*/
public function getList($productID, $branch = 'all', $type = 'all', $orderBy = 't1.date_desc', $pager = null)
{
- return $this->dao->select('t1.*, t2.name as productName, t3.id as buildID, t3.name as buildName, t3.project, t4.name as projectName')
+ $releases = $this->dao->select('t1.*, t2.name as productName')
->from(TABLE_RELEASE)->alias('t1')
->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product = t2.id')
- ->leftJoin(TABLE_BUILD)->alias('t3')->on('t1.build = t3.id')
- ->leftJoin(TABLE_PROJECT)->alias('t4')->on('t1.project = t4.id')
->where('t1.deleted')->eq(0)
->beginIF($productID)->andWhere('t1.product')->eq((int)$productID)->fi()
- ->beginIF($branch !== 'all')->andWhere('t1.branch')->eq($branch)->fi()
+ ->beginIF($branch !== 'all')->andWhere('t1.branch')->like(",{$branch},")->fi()
->beginIF($type != 'all' && $type != 'review')->andWhere('t1.status')->eq($type)->fi()
->beginIF($type == 'review')->andWhere("FIND_IN_SET('{$this->app->user->account}', t1.reviewers)")->fi()
->orderBy($orderBy)
->page($pager)
->fetchAll();
+
+ $builds = $this->dao->select("t1.id, t1.name, IF(t2.name IS NOT NULL, t2.name, '') AS projectName, IF(t3.name IS NOT NULL, t3.name, '{$this->lang->trunk}') AS branchName")
+ ->from(TABLE_BUILD)->alias('t1')
+ ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
+ ->leftJoin(TABLE_BRANCH)->alias('t3')->on('t1.branch = t3.id')
+ ->fetchAll('id');
+
+ foreach($releases as $release)
+ {
+ $releaseBuilds = array();
+ foreach(explode(',', $release->build) as $buildID)
+ {
+ if(!$buildID or !isset($builds[$buildID])) continue;
+
+ $releaseBuilds[] = $builds[$buildID];
+ }
+
+ $release->builds = $releaseBuilds;
+ }
+
+ return $releases;
}
/**
@@ -219,8 +238,9 @@ class releaseModel extends model
}
}
- $release->branch = implode(',', $branches);
- $release->project = implode(',', $projects);
+ $release->build = ',' . trim($release->build, ',') . ',';
+ $release->branch = ',' . trim(implode(',', $branches), ',') . ',';
+ $release->project = ',' . trim(implode(',', $projects), ',') . ',';
}
$release = $this->loadModel('file')->processImgURL($release, $this->config->release->editor->create['id'], $this->post->uid);
$this->dao->insert(TABLE_RELEASE)->data($release)
@@ -304,8 +324,9 @@ class releaseModel extends model
$branches[$build->branch] = $build->branch;
$projects[$build->project] = $build->project;
}
- $release->branch = implode(',', $branches);
- $release->project = implode(',', $projects);
+ $release->build = ',' . trim($release->build, ',') . ',';
+ $release->branch = ',' . trim(implode(',', $branches), ',') . ',';
+ $release->project = ',' . trim(implode(',', $projects), ',') . ',';
}
$this->dao->update(TABLE_RELEASE)->data($release, 'deleteFiles')
diff --git a/module/release/view/browse.html.php b/module/release/view/browse.html.php
index d8e18d56f6..5552c7eb28 100644
--- a/module/release/view/browse.html.php
+++ b/module/release/view/browse.html.php
@@ -46,16 +46,13 @@
-
+
| release->id;?> |
release->name;?> |
- release->build;?> |
- type != 'normal'):?>
- product->branch;?> |
-
- release->project;?> |
+ release->build;?> |
+ release->project;?> |
release->status;?> |
release->date;?> |
+ builds);?>
+
+ builds as $build):?>
- | id"), sprintf('%03d', $release->id));?> |
-
+
+ | id"), sprintf('%03d', $release->id));?> |
+
marker ? " " : '';
echo html::a(inlink('view', "release=$release->id"), $release->name, '', "title='$release->name'") . $flagIcon;
?>
|
- execution) ? $release->buildName : html::a($this->createLink('build', 'view', "buildID=$release->buildID"), $release->buildName);?> |
- type != 'normal'):?>
- '>branch];?> |
- projectName;?> |
+
+ type != 'normal'):?>
+ branchName;?>
+
+ createLink('build', 'view', "buildID=$build->id"), $build->name);?>
+ |
+ projectName;?> |
+
processStatus('release', $release);?>
-
+ |
|
- date;?> |
- " . $this->loadModel('flow')->getFieldValue($extendField, $release) . "";?>
-
- release->buildOperateMenu($release, 'browse');?>
- |
+ date;?> |
+ " . $this->loadModel('flow')->getFieldValue($extendField, $release) . "";?>
+ release->buildOperateMenu($release, 'browse');?> |
+
+
+
From 126d55f807f4284ebb2584bc6e205ab0a87ad0c5 Mon Sep 17 00:00:00 2001
From: wangyidong
Date: Thu, 10 Nov 2022 15:19:57 +0800
Subject: [PATCH 2/2] * code task #74929.
---
module/action/model.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/module/action/model.php b/module/action/model.php
index 784329a4f7..c055f3399c 100755
--- a/module/action/model.php
+++ b/module/action/model.php
@@ -384,7 +384,7 @@ class actionModel extends model
$name = $execution->name;
$method = $execution->type == 'kanban' ? 'kanban' : 'view';
- $action->extra = (!common::hasPriv('execution', $method) or ($method == 'kanban' and isonlybody())) ? $name : html::a(helper::createLink('execution', $method, "executionID=$action->execution"), $name);
+ $action->extra = (!common::hasPriv('execution', $method) or ($method == 'kanban' and isonlybody())) ? $name : html::a(helper::createLink('execution', $method, "executionID=$action->execution"), $name, '', "data-app='execution'");
}
}
elseif($actionName == 'linked2project')