diff --git a/db/update18.3.sql b/db/update18.3.sql index cf8ad6fb85..304c292bf4 100644 --- a/db/update18.3.sql +++ b/db/update18.3.sql @@ -28,17 +28,18 @@ ALTER TABLE `zt_screen` ADD `builtin` enum('0', '1') NOT NULL DEFAULT '0' AFTER UPDATE `zt_screen` SET `builtin` = '1', `status` = 'published'; -UPDATE `zt_grouppriv` SET `module` = 'dataview' WHERE `module` = 'dataset' AND `method` in ('create', 'browse', 'edit', 'delete'); +UPDATE `zt_grouppriv` SET `module` = 'dataview' WHERE `module` = 'dataset' AND `method` IN ('create', 'browse', 'edit', 'delete'); UPDATE `zt_grouppriv` SET `module` = 'screen' WHERE `module` = 'dashboard'; -UPDATE `zt_grouppriv` SET `module` = 'pivot', `method` = 'create') WHERE `module` = 'report' AND `method` = 'custom'; -UPDATE `zt_grouppriv` SET `module` = 'pivot', `method` = 'delete') WHERE `module` = 'report' AND `method` = 'deleteReport'; -UPDATE `zt_grouppriv` SET `module` = 'pivot', `method` = 'edit') WHERE `module` = 'report' AND `method` = 'editReport'; -UPDATE `zt_grouppriv` SET `module` = 'pivot', `method` = 'preview') WHERE `module` = 'report' AND `method` = 'show'; -UPDATE `zt_grouppriv` SET `module` = 'pivot', `method` = 'design') WHERE `module` = 'report' AND `method` = 'useReport'; -UPDATE `zt_grouppriv` SET `module` = 'pivot', `method` = 'export') WHERE `module` = 'report' AND `method` = 'crystalExport'; +UPDATE `zt_grouppriv` SET `module` = 'screen' WHERE `module` = 'report' AND `method` IN ('annualData','allAnnualData'); +UPDATE `zt_grouppriv` SET `module` = 'pivot' WHERE `module` = 'report' AND `method` IN ('projectDeviation','productSummary', 'bugCreate', 'bugAssign', 'workload', 'showProduct', 'showProject'); + +REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT `group`, 'pivot', 'create' FROM `zt_grouppriv` WHERE `module` = 'report' AND `method` IN ('custom', 'saveReport'); +REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT `group`, 'pivot', 'edit' FROM `zt_grouppriv` WHERE `module` = 'report' AND `method` = 'editReport'; +REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT `group`, 'pivot', 'delete' FROM `zt_grouppriv` WHERE `module` = 'report' AND `method` = 'deleteReport'; +REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT `group`, 'pivot', 'preview' FROM `zt_grouppriv` WHERE `module` = 'report' AND `method` = 'show'; +REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT `group`, 'pivot', 'design' FROM `zt_grouppriv` WHERE `module` = 'report' AND `method` = 'useReport'; +REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT `group`, 'pivot', 'export' FROM `zt_grouppriv` WHERE `module` = 'report' AND `method` = 'crystalExport'; -REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT `group`, 'pivot', 'create' FROM `zt_grouppriv` WHERE `module` = 'report' AND `method` = 'saveReport'; -DELETE FROM `zt_grouppriv` WHERE `module` = 'report' AND `method` = 'saveReport'; DELETE FROM `zt_grouppriv` WHERE `module` = 'dataset' AND `method` = 'view'; CREATE TABLE `zt_pivot` ( @@ -66,6 +67,3 @@ CREATE TABLE `zt_pivot` ( KEY(`dimension`), KEY(`group`) ) ENGINE = InnoDB DEFAULT CHARSET=utf8; - -update `zt_grouppriv` set module = 'pivot' where method in ('projectDeviation','productSummary', 'bugCreate', 'bugAssign', 'workload', 'showProduct', 'showProject') and module = 'report' -update `zt_grouppriv` set module = 'screen' where method in ('annualData','allAnnualData') and module = 'report' diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 12f7dd8ff3..8168a5b4be 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -8772,14 +8772,14 @@ class upgradeModel extends model $modulePairs = $this->dao->select('id, name')->from(TABLE_MODULE)->where('type')->eq('report')->fetchPairs(); $groupNames = $this->dao->select('name, id')->from(TABLE_MODULE)->where('type')->eq('pivot')->fetchPairs(); - $this->loadModel('report'); + $this->loadModel('pivot'); foreach($reports as $report) { $data = new stdclass(); $data->dimension = 1; $data->name = $report->name; - $data->sql = $this->report->replaceTableNames($report->sql); + $data->sql = $this->pivot->replaceTableNames($report->sql); $data->vars = $report->vars; $data->langs = $report->langs; $data->stage = 'published'; @@ -8840,21 +8840,20 @@ class upgradeModel extends model /* Process settings. */ $params = json_decode($report->params); $settings = new stdclass(); - $settings->group1 = $params->group1; - $settings->group2 = $params->group2; + $settings->group1 = $params->group1; + $settings->group2 = $params->group2; + $settings->columnTotal = 'sum'; $columns = array(); foreach($params->reportField as $index => $field) { $column = new stdclass(); - $column->field = $field; - $column->isUser = isset($params->isUser) ? zget($params->isUser, $index, '') : ''; - $column->stat = isset($params->reportType) ? zget($params->reportType, $index, '') : ''; - $column->sumAppend = isset($params->sumAppend) ? zget($params->sumAppend, $index, '') : ''; - $column->total = isset($params->reportTotal) ? zget($params->reportTotal, $index, '') : ''; - $column->percent = isset($params->percent) ? zget($params->percent, $index, '') : ''; - $column->contrast = isset($params->contrast) ? zget($params->contrast, $index, '') : ''; - $column->showAlone = isset($params->showAlone) ? zget($params->showAlone, $index, '') : ''; + $column->field = $field; + $column->stat = isset($params->reportType) ? zget($params->reportType, $index, '') : 'noStat'; + $column->slice = 'noSlice'; + $column->showTotal = (isset($params->reportTotal) && zget($params->reportTotal, $index, '') == '1') ? 'sum' : 'noShow'; + $column->showMode = (isset($params->percent) && zget($params->percent, $index, '') == '1' && isset($params->contrast) && zget($params->contrast, $index, '') == 'crystalTotal') ? 'total' : 'default'; + $column->monopolize = isset($params->showAlone) ? zget($params->showAlone, $index, '0') : '0'; $columns[] = $column; }