From 5467991e677fad97a96d35e99b271b91559d3095 Mon Sep 17 00:00:00 2001 From: wangyuting2 <851424971@qq.com> Date: Thu, 27 Oct 2022 06:10:54 +0000 Subject: [PATCH] * Finish task #73814. --- framework/router.class.php | 6 ++++-- module/common/lang/menu.php | 29 +++++++++++------------------ module/group/lang/resource.php | 13 ++++++++----- 3 files changed, 23 insertions(+), 25 deletions(-) diff --git a/framework/router.class.php b/framework/router.class.php index 810d4d103a..a67798c536 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -171,7 +171,7 @@ class router extends baseRouter try { - $commonSettings = $this->dbh->query('SELECT section, `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND (`module`='custom' or `module`='common') and `key` in ('sprintConcept', 'hourPoint', 'URSR', 'mode', 'URAndSR', 'scoreStatus', 'disabledFeatures')")->fetchAll(); + $commonSettings = $this->dbh->query('SELECT section, `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`='system' AND (`module`='custom' or `module`='common') and `key` in ('sprintConcept', 'hourPoint', 'URSR', 'mode', 'URAndSR', 'scoreStatus', 'disabledFeatures', 'closedFeatures')")->fetchAll(); } catch (PDOException $exception) { @@ -185,6 +185,7 @@ class router extends baseRouter $score = '0'; $projectKey = ITERATION_KEY; $disabledFeatures = ''; + $closedFeatures = ''; foreach($commonSettings as $setting) { @@ -195,6 +196,7 @@ class router extends baseRouter if($setting->key == 'mode' and $setting->section == 'global') $mode = $setting->value; if($setting->key == 'scoreStatus' and $setting->section == 'global') $score = $setting->value; if($setting->key == 'disabledFeatures') $disabledFeatures = $setting->value; + if($setting->key == 'closedFeatures') $closedFeatures = $setting->value; } /* Lite Version is compatible with classic modes */ @@ -203,7 +205,7 @@ class router extends baseRouter /* Record system mode. */ $config->systemMode = $mode; - $config->disabledFeatures = $disabledFeatures; + $config->disabledFeatures = $disabledFeatures . $closedFeatures; /* Record system score.*/ $config->systemScore = $score; diff --git a/module/common/lang/menu.php b/module/common/lang/menu.php index b6f4b1e4c7..3723044c2a 100644 --- a/module/common/lang/menu.php +++ b/module/common/lang/menu.php @@ -19,6 +19,12 @@ list($productModule, $productMethod) = explode('-', $config->productLink); list($projectModule, $projectMethod) = explode('-', $config->projectLink); list($executionModule, $executionMethod) = explode('-', $config->executionLink); +$hasWaterfall = strpos(",$config->disabledFeatures,", ',waterfall,') === false; +$hasProductTrack = strpos(",$config->disabledFeatures,", ',productTrack,') === false; +$hasProductRoadmap = strpos(",$config->disabledFeatures,", ',productRoadmap,') === false; +$hasScrumAuditplan = strpos(",$config->disabledFeatures,", ',scrumAuditplan,') === false; +$hasScrumProcess = strpos(",$config->disabledFeatures,", ',scrumProcess,') === false; + if(defined('TUTORIAL')) { $programModule = 'program'; @@ -164,16 +170,12 @@ $lang->product->menu->story = array('link' => "$lang->SRCommon|product|bro $lang->product->menu->plan = array('link' => "{$lang->productplan->shortCommon}|productplan|browse|productID=%s", 'subModule' => 'productplan,bug'); $lang->product->menu->project = array('link' => "{$lang->project->common}|product|project|status=all&productID=%s"); $lang->product->menu->release = array('link' => "{$lang->release->common}|release|browse|productID=%s", 'subModule' => 'release'); -$lang->product->menu->roadmap = array('link' => "{$lang->roadmap}|product|roadmap|productID=%s"); $lang->product->menu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story'); $lang->product->menu->doc = array('link' => "{$lang->doc->common}|doc|tableContents|type=product&objectID=%s", 'subModule' => 'doc'); $lang->product->menu->dynamic = array('link' => "{$lang->dynamic}|product|dynamic|productID=%s"); $lang->product->menu->settings = array('link' => "{$lang->settings}|product|view|productID=%s", 'subModule' => 'tree,branch', 'alias' => 'edit,whitelist,addwhitelist'); - -if(strpos(",$config->disabledFeatures,", ',productTrack,') === false) -{ - $lang->product->menu->track = array('link' => "{$lang->track}|product|track|productID=%s"); -} +if($hasProductRoadmap) $lang->product->menu->roadmap = array('link' => "{$lang->roadmap}|product|roadmap|productID=%s"); +if($hasProductTrack) $lang->product->menu->track = array('link' => "{$lang->track}|product|track|productID=%s"); /* Product menu order. */ $lang->product->menuOrder[5] = 'dashboard'; @@ -584,19 +586,10 @@ $lang->admin->menu->model['dropMenu']->allModel = array('link' => "{$lang->globa if($config->edition == 'max') { - if(strpos(",$config->disabledFeatures,", ',scrumAuditplan,') === false || strpos(",$config->disabledFeatures,", ',waterfall,') === false) - { - $lang->admin->menu->model['dropMenu']->scrum = array('link' => "{$lang->scrumModel}|auditcl|scrumbrowse|processID=0&browseType=scrum", 'subModule' => 'auditcl,process,activity,zoutput,classify,'); - } - else if(strpos(",$config->disabledFeatures,", ',scrumProcess,') === false || strpos(",$config->disabledFeatures,", ',waterfall,') === false) - { - $lang->admin->menu->model['dropMenu']->scrum = array('link' => "{$lang->scrumModel}|process|scrumbrowse|processID=0&browseType=scrum", 'subModule' => 'auditcl,process,activity,zoutput,classify,'); - } -} -if(strpos(",$config->disabledFeatures,", ',waterfall,') === false) -{ - $lang->admin->menu->model['dropMenu']->waterfall = array('link' => "{$lang->waterfallModel}|stage|setType|", 'subModule' => 'stage,auditcl,cmcl,process,activity,zoutput,classify,reviewcl,reviewsetting,design'); + if($hasScrumAuditplan) $lang->admin->menu->model['dropMenu']->scrum = array('link' => "{$lang->scrumModel}|auditcl|scrumbrowse|processID=0&browseType=scrum", 'subModule' => 'auditcl,process,activity,zoutput,classify,'); + if($hasScrumProcess) $lang->admin->menu->model['dropMenu']->scrum = array('link' => "{$lang->scrumModel}|process|scrumbrowse|processID=0&browseType=scrum", 'subModule' => 'auditcl,process,activity,zoutput,classify,'); } +if($hasWaterfall) $lang->admin->menu->model['dropMenu']->waterfall = array('link' => "{$lang->waterfallModel}|stage|setType|", 'subModule' => 'stage,auditcl,cmcl,process,activity,zoutput,classify,reviewcl,reviewsetting,design'); $lang->admin->menu->allModel['subMenu'] = new stdclass(); $lang->admin->menu->allModel['subMenu']->storyConcept = array('link' => "{$lang->storyConcept}|custom|browsestoryconcept|"); diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index 0e22f5821f..5e18f12c2f 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -1888,10 +1888,12 @@ $lang->dev->methodOrder[15] = 'editor'; $lang->dev->methodOrder[20] = 'translate'; global $config; -$hasWaterfall = strpos(",$config->disabledFeatures,", ',waterfall,') === false || (defined('IN_UPGRADE') && IN_UPGRADE); -$hasTrack = strpos(",$config->disabledFeatures,", ',productTrack,') === false || (defined('IN_UPGRADE') && IN_UPGRADE); -$isURSR = $config->URAndSR || (defined('IN_UPGRADE') && IN_UPGRADE); -$hasProgram = $config->systemMode == 'new' || (defined('IN_UPGRADE') && IN_UPGRADE); +$disabledFeatures = $config->disabledFeatures . $config->closedFeatures; +$hasWaterfall = (strpos(",$disabledFeatures,", ',waterfall,') === false or (defined('IN_UPGRADE') and IN_UPGRADE)); +$hasProductTrack = (strpos(",$disabledFeatures,", ',productTrack,') === false); +$hasProductRoadmap = (strpos(",$disabledFeatures,", ',productRoadmap,') === false); +$isURSR = ($config->URAndSR or (defined('IN_UPGRADE') and IN_UPGRADE)); +$hasProgram = ($config->systemMode == 'new' or (defined('IN_UPGRADE') and IN_UPGRADE)); if(!$hasWaterfall) { unset($lang->resource->design); @@ -1909,6 +1911,7 @@ if(!$isURSR) unset($lang->resource->story->linkStory); unset($lang->resource->requirement); } -if(!$hasTrack) unset($lang->resource->product->track); +if(!$hasProductTrack) unset($lang->resource->product->track); +if(!$hasProductRoadmap) unset($lang->resource->product->roadmap); include (dirname(__FILE__) . '/changelog.php');