From 675a5d3245806d6805d3fb305ebc331a1a605dce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E8=BE=B0=E8=BD=A9?= Date: Tue, 25 Apr 2023 16:24:29 +0800 Subject: [PATCH] * Update pivot group. --- module/install/control.php | 2 +- module/pivot/control.php | 2 +- module/upgrade/model.php | 23 ++++++++++++++++++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/module/install/control.php b/module/install/control.php index 3b980aaaef..26a2c03fda 100644 --- a/module/install/control.php +++ b/module/install/control.php @@ -270,7 +270,7 @@ class install extends control if(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) == 'https') $httpType = 'https'; if(isset($_SERVER['REQUEST_SCHEME']) and strtolower($_SERVER['REQUEST_SCHEME']) == 'https') $httpType = 'https'; if(strpos($this->app->getClientLang(), 'zh') === 0) $this->loadModel('api')->createDemoData($this->lang->api->zentaoAPI, "{$httpType}://{$_SERVER['HTTP_HOST']}" . $this->app->config->webRoot . 'api.php/v1', '16.0'); - $this->loadModel('upgrade')->createDefaultDimension(); + $this->loadModel('upgrade')->createDefaultDimension('install'); return print(js::locate(inlink('step6'), 'parent')); } diff --git a/module/pivot/control.php b/module/pivot/control.php index d06bd6b986..406c9d443b 100644 --- a/module/pivot/control.php +++ b/module/pivot/control.php @@ -68,7 +68,7 @@ class pivot extends control if($pivot) { list($sql, $filterFormat) = $this->pivot->getFilterFormat($pivot->sql, $pivot->filters); - + $pivot->sql = $sql; $processSqlData = $this->loadModel('chart')->getTables($sql); diff --git a/module/upgrade/model.php b/module/upgrade/model.php index f64c21a549..b9f9862a91 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -8167,10 +8167,11 @@ class upgradeModel extends model /** * Process report modules. * + * @param $runMode install|upgrade * @access public * @return bool */ - public function createDefaultDimension() + public function createDefaultDimension($runMode = 'upgrade') { /* Create default dimension. */ $this->loadModel('dimension'); @@ -8190,12 +8191,32 @@ class upgradeModel extends model $this->addSecondModule4BI($dimensionID, $dimensionName, 'chart', $chartModules); $pivotModules = $this->addDefaultModules4BI('pivot', $dimensionID); + if($runMode == 'install' and $dimensionID == 1) $this->updatePivotGroup($pivotModules); $this->addSecondModule4BI($dimensionID, $dimensionName, 'pivot', $pivotModules); } return !dao::isError(); } + /** + * Update zentao.sql or update18.3.sql file insert pivot data's group. + * + * @access public + * @return bool + */ + public function updatePivotGroup($pivotModules) + { + $pivots = $this->dao->select('*')->from(TABLE_PIVOT)->where('id')->notin('1000,1001,1002')->fetchAll('id'); + foreach($pivots as $pivotID => $pivot) + { + $insertGroup = array(); + $modules = explode(',', $pivot->group); + foreach($modules as $module) $insertGroup[] = $pivotModules[$module]; + + $this->dao->update(TABLE_PIVOT)->set('`group`')->eq(implode(',', $insertGroup))->where('id')->eq($pivotID)->exec(); + } + } + /** * Add second modules for bi, move buildin chart and pivot to second modules. *