diff --git a/db/zentao.sql b/db/zentao.sql index f59e8f4bb1..7f2058a21b 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -4266,6 +4266,16 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (1, 'report', 'saveReport'), (1, 'report', 'show'), (1, 'report', 'useReport'), +(1, 'reporttemplate', 'browse'), +(1, 'reporttemplate', 'create'), +(1, 'reporttemplate', 'edit'), +(1, 'reporttemplate', 'view'), +(1, 'reporttemplate', 'delete'), +(1, 'reporttemplate', 'pause'), +(1, 'reporttemplate', 'cron'), +(1, 'reporttemplate', 'addCategory'), +(1, 'reporttemplate', 'editCategory'), +(1, 'reporttemplate', 'deleteCategory'), (1, 'requirement', 'activate'), (1, 'requirement', 'assignTo'), (1, 'requirement', 'batchAssignTo'), @@ -4689,7 +4699,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (1, 'webhook', 'delete'), (1, 'webhook', 'edit'), (1, 'webhook', 'log'), -(1, 'weekly', 'index'), +(1, 'weekly', 'browse'), +(1, 'weekly', 'view'), +(1, 'weekly', 'create'), +(1, 'weekly', 'edit'), +(1, 'weekly', 'delete'), +(1, 'weekly', 'exportReport'), (1, 'workestimation', 'index'), (1, 'workflow', 'activate'), (1, 'workflow', 'backup'), @@ -5556,7 +5571,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (2, 'user', 'todo'), (2, 'user', 'todocalendar'), (2, 'user', 'view'), -(2, 'weekly', 'index'), +(2, 'weekly', 'browse'), +(2, 'weekly', 'view'), +(2, 'weekly', 'create'), +(2, 'weekly', 'edit'), +(2, 'weekly', 'delete'), +(2, 'weekly', 'exportReport'), (2, 'workestimation', 'index'), (2, 'workloadbudget', '27'), (2, 'workloadbudget', 'assign'), @@ -6179,7 +6199,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (3, 'user', 'todo'), (3, 'user', 'todocalendar'), (3, 'user', 'view'), -(3, 'weekly', 'index'), +(3, 'weekly', 'browse'), +(3, 'weekly', 'view'), +(3, 'weekly', 'create'), +(3, 'weekly', 'edit'), +(3, 'weekly', 'delete'), +(3, 'weekly', 'exportReport'), (3, 'workestimation', 'index'), (3, 'workloadbudget', '27'), (3, 'workloadbudget', 'assign'), @@ -7252,7 +7277,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (4, 'user', 'todo'), (4, 'user', 'todocalendar'), (4, 'user', 'view'), -(4, 'weekly', 'index'), +(4, 'weekly', 'browse'), +(4, 'weekly', 'view'), +(4, 'weekly', 'create'), +(4, 'weekly', 'edit'), +(4, 'weekly', 'delete'), +(4, 'weekly', 'exportReport'), (4, 'workestimation', 'index'), (4, 'workloadbudget', '27'), (4, 'workloadbudget', 'assign'), @@ -8185,7 +8215,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (5, 'user', 'todo'), (5, 'user', 'todocalendar'), (5, 'user', 'view'), -(5, 'weekly', 'index'), +(5, 'weekly', 'browse'), +(5, 'weekly', 'view'), +(5, 'weekly', 'create'), +(5, 'weekly', 'edit'), +(5, 'weekly', 'delete'), +(5, 'weekly', 'exportReport'), (5, 'workestimation', 'index'), (5, 'workloadbudget', '27'), (5, 'workloadbudget', 'assign'), @@ -8993,7 +9028,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (6, 'user', 'todo'), (6, 'user', 'todocalendar'), (6, 'user', 'view'), -(6, 'weekly', 'index'), +(6, 'weekly', 'browse'), +(6, 'weekly', 'view'), +(6, 'weekly', 'create'), +(6, 'weekly', 'edit'), +(6, 'weekly', 'delete'), +(6, 'weekly', 'exportReport'), (6, 'workestimation', 'index'), (6, 'workloadbudget', '27'), (6, 'workloadbudget', 'assign'), @@ -9833,7 +9873,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (7, 'user', 'todo'), (7, 'user', 'todocalendar'), (7, 'user', 'view'), -(7, 'weekly', 'index'), +(7, 'weekly', 'browse'), +(7, 'weekly', 'view'), +(7, 'weekly', 'create'), +(7, 'weekly', 'edit'), +(7, 'weekly', 'delete'), +(7, 'weekly', 'exportReport'), (7, 'workestimation', 'index'), (7, 'workloadbudget', '27'), (7, 'workloadbudget', 'assign'), @@ -10681,7 +10726,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (8, 'user', 'todo'), (8, 'user', 'todocalendar'), (8, 'user', 'view'), -(8, 'weekly', 'index'), +(8, 'weekly', 'browse'), +(8, 'weekly', 'view'), +(8, 'weekly', 'create'), +(8, 'weekly', 'edit'), +(8, 'weekly', 'delete'), +(8, 'weekly', 'exportReport'), (8, 'workestimation', 'index'), (8, 'workloadbudget', '27'), (8, 'workloadbudget', 'assign'), @@ -11421,7 +11471,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (9, 'user', 'unbind'), (9, 'user', 'unlock'), (9, 'user', 'view'), -(9, 'weekly', 'index'), +(9, 'weekly', 'browse'), +(9, 'weekly', 'view'), +(9, 'weekly', 'create'), +(9, 'weekly', 'edit'), +(9, 'weekly', 'delete'), +(9, 'weekly', 'exportReport'), (9, 'workestimation', 'index'), (9, 'workloadbudget', '27'), (9, 'workloadbudget', 'assign'), @@ -11936,7 +11991,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (10, 'user', 'todo'), (10, 'user', 'todocalendar'), (10, 'user', 'view'), -(10, 'weekly', 'index'), +(10, 'weekly', 'browse'), +(10, 'weekly', 'view'), +(10, 'weekly', 'create'), +(10, 'weekly', 'edit'), +(10, 'weekly', 'delete'), +(10, 'weekly', 'exportReport'), (10, 'workestimation', 'index'), (10, 'workloadbudget', '27'), (10, 'workloadbudget', 'assign'), @@ -12405,7 +12465,12 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES (11, 'user', 'todo'), (11, 'user', 'todocalendar'), (11, 'user', 'view'), -(11, 'weekly', 'index'), +(11, 'weekly', 'browse'), +(11, 'weekly', 'view'), +(11, 'weekly', 'create'), +(11, 'weekly', 'edit'), +(11, 'weekly', 'delete'), +(11, 'weekly', 'exportReport'), (11, 'workestimation', 'index'), (11, 'workloadbudget', '27'), (11, 'workloadbudget', 'assign'), diff --git a/module/upgrade/config/upgradeflow.php b/module/upgrade/config/upgradeflow.php index f8d455f718..1c3d3e8b3c 100644 --- a/module/upgrade/config/upgradeflow.php +++ b/module/upgrade/config/upgradeflow.php @@ -112,7 +112,7 @@ $config->upgrade->execFlow['21_6_beta'] = array('functions' => 'processCharter $config->upgrade->execFlow['21_6_1'] = array('xxsqls' => "$appRoot/db/upgradexuanxuan9.1.2.sql"); $config->upgrade->execFlow['21_7'] = array('functions' => 'fixWorkflowNameForExecution'); $config->upgrade->execFlow['21_7_1'] = array('functions' => 'convertCharset,processActionProduct'); -$config->upgrade->execFlow['21_7_5'] = array('functions' => 'weekly-addBuiltinWeeklyTemplate'); +$config->upgrade->execFlow['21_7_5'] = array('functions' => 'weekly-addBuiltinWeeklyTemplate,adjustPriv21_7_5'); if(!empty($config->isINT)) { diff --git a/module/upgrade/model.php b/module/upgrade/model.php index aaba6b94d6..6cd101fe11 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -11282,4 +11282,35 @@ class upgradeModel extends model return !dao::isError(); } + + /** + * 调整 21.7.5 版本的权限 + * Adjust priv 21.7.5. + * + * @access public + * @return bool + */ + public function adjustPriv21_7_5() + { + $weeklyMethods = array('browse', 'create', 'edit', 'delete', 'view', 'exportReport'); + $templateMethods = array('browse', 'create', 'edit', 'delete', 'view', 'pause', 'cron', 'addCategory', 'editCategory', 'deleteCategory'); + + $groups = $this->dao->select('`group`')->from(TABLE_GROUPPRIV)->where('module')->eq('weekly')->fetchPairs('group', 'group'); + $data = array(); + foreach($groups as $groupID) + { + foreach($weeklyMethods as $method) $data[] = "('{$groupID}', 'weekly', '{$method}')"; + $data[] = "('{$groupID}', 'milestone', 'index')"; + $data[] = "('{$groupID}', 'milestone', 'saveOtherProblem')"; + } + + foreach($templateMethods as $method) $data[] = "('1', 'reporttemplate', '{$method}')"; + foreach($weeklyMethods as $method) $data[] = "('1', 'weekly', '{$method}')"; + $data[] = "('1', 'milestone', 'index')"; + $data[] = "('1', 'milestone', 'saveOtherProblem')"; + + $sql = 'REPLACE INTO ' . TABLE_GROUPPRIV . '(`group`, `module`, `method`) VALUES ' . implode(',', $data); + $this->dao->exec($sql); + return true; + } }