From cfc823f9ceb0e53c68dddc23765ef48f08d9ab42 Mon Sep 17 00:00:00 2001 From: liyang Date: Fri, 22 Nov 2024 15:34:28 +0800 Subject: [PATCH] * [task#132856] adjust system list. --- module/common/lang/menu.php | 2 +- module/projectrelease/ui/browse.html.php | 12 ++++++++++++ module/system/control.php | 14 ++++++++++++-- module/system/ui/browse.html.php | 5 +++-- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/module/common/lang/menu.php b/module/common/lang/menu.php index 8ec26c3ced..26ae9595a3 100644 --- a/module/common/lang/menu.php +++ b/module/common/lang/menu.php @@ -237,7 +237,7 @@ $lang->scrum->menu->doc = array('link' => "{$lang->doc->common}|doc|proj $lang->scrum->menu->qa = array('link' => "{$lang->qa->common}|project|bug|projectID=%s", 'subModule' => 'testcase,testtask,bug,testreport', 'alias' => 'bug,testtask,testcase,testreport', 'exclude' => 'execution-create,execution-batchedit'); if(helper::hasFeature('devops')) $lang->scrum->menu->devops = array('link' => "{$lang->devops->common}|repo|browse|repoID=0&branchID=&objectID=%s", 'subModule' => 'repo,mr'); $lang->scrum->menu->build = array('link' => "{$lang->build->common}|projectbuild|browse|project=%s", 'subModule' => 'projectbuild'); -$lang->scrum->menu->release = array('link' => "{$lang->release->common}|projectrelease|browse|project=%s", 'subModule' => 'projectrelease'); +$lang->scrum->menu->release = array('link' => "{$lang->release->common}|projectrelease|browse|project=%s", 'subModule' => 'projectrelease,system'); $lang->scrum->menu->dynamic = array('link' => "$lang->dynamic|project|dynamic|project=%s"); $lang->scrum->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'tree,stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist,team', 'exclude' => 'tree-browsetask'); diff --git a/module/projectrelease/ui/browse.html.php b/module/projectrelease/ui/browse.html.php index 7f83be20bc..14c1654e1c 100644 --- a/module/projectrelease/ui/browse.html.php +++ b/module/projectrelease/ui/browse.html.php @@ -16,8 +16,20 @@ featureBar set::linkParams("projectID={$projectID}&executionID={$executionID}&type={key}&orderBy={$orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}") ); +$canManageSystem = hasPriv('system', 'browse') && common::canModify('project', $project); toolbar ( + !$project->hasProduct && $canManageSystem ? item(set + ( + array + ( + 'class' => 'ghost', + 'text' => $lang->release->manageSystem, + 'url' => $this->createLink('system', 'browse', "productID=0&projectID={$projectID}"), + 'data-app' => 'project' + ) + )) : null, + common::canModify('project', $project) && hasPriv('projectrelease', 'create') ? item(set ([ 'text' => $lang->release->create, diff --git a/module/system/control.php b/module/system/control.php index 36a9c7474a..c4e605a296 100644 --- a/module/system/control.php +++ b/module/system/control.php @@ -535,9 +535,17 @@ class system extends control * @access public * @return void */ - public function browse(int $productID, string $branch, string $orderBy = 'id_desc', int $recTotal = 0, int $recPerPage = 20, int $pageID = 1) + public function browse(int $productID, int $projectID = 0, string $orderBy = 'id_desc', int $recTotal = 0, int $recPerPage = 20, int $pageID = 1) { - $this->commonAction($productID, $branch); + if($projectID) + { + $this->loadModel('project')->setMenu($projectID); + $productID = $this->loadModel('product')->getProductIDByProject($projectID); + } + else + { + $this->commonAction($productID); + } $this->app->loadClass('pager', true); $pager = pager::init($recTotal, $recPerPage, $pageID); @@ -550,7 +558,9 @@ class system extends control $this->view->title = $this->lang->system->browse; $this->view->productID = $productID; + $this->view->projectID = $projectID; $this->view->appList = $systems; + $this->view->releases = $this->loadModel('release')->getPairs(); $this->view->appPairs = $this->system->getPairs(); $this->view->orderBy = $orderBy; $this->view->pager = $pager; diff --git a/module/system/ui/browse.html.php b/module/system/ui/browse.html.php index 91476d96ee..bbab40cbee 100644 --- a/module/system/ui/browse.html.php +++ b/module/system/ui/browse.html.php @@ -14,7 +14,8 @@ $canCreate = hasPriv('system', 'create'); $createLink = $this->createLink('system', 'create', 'productID=' . $productID); $createItem = array('text' => $lang->system->create, 'url' => $createLink, 'class' => 'primary', 'icon' => 'plus', 'data-toggle' => 'modal'); -$config->system->dtable->fieldList['children']['map'] = $appPairs; +$config->system->dtable->fieldList['children']['map'] = $appPairs; +$config->system->dtable->fieldList['latestRelease']['map'] = $releases; $tableData = initTableData($appList, $config->system->dtable->fieldList, $this->system); featureBar @@ -36,7 +37,7 @@ dtable ( set::cols($config->system->dtable->fieldList), set::data($tableData), - set::sortLink(createLink('system', 'browse', "productID={$productID}&branch={$branch}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}")), + set::sortLink(createLink('system', 'browse', "productID={$productID}&projectID={$projectID}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}")), set::orderBy($orderBy), set::footPager(usePager()) );