* Fix priv package error of devops module.

This commit is contained in:
zhaoke
2023-09-26 08:37:35 +08:00
parent 97306579d5
commit b628f07997
12 changed files with 76 additions and 42 deletions
+1
View File
@@ -681,6 +681,7 @@ $lang->navGroup->caselib = 'qa';
$lang->navGroup->devops = 'devops';
$lang->navGroup->repo = 'devops';
$lang->navGroup->repo_setRules = 'admin';
$lang->navGroup->job = 'devops';
$lang->navGroup->jenkins = 'devops';
$lang->navGroup->mr = 'devops';
+1 -1
View File
@@ -43,6 +43,6 @@ $config->group->priv->search['params']['recommendPrivs'] = array('operator' => '
$config->group->priv->search['params']['dependPrivs'] = array('operator' => 'include', 'control' => 'select', 'values' => '');
$config->group->priv->search['params']['desc'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
$config->group->hiddenPriv = array('system-dashboard', 'store-browse', 'store-appView', 'space-getStoreAppInfo', 'system-dblist', 'system-configdomain', 'system-ossview', 'instance-ajaxStart', 'instance-ajaxStop', 'instance-upgrade');
$config->group->hiddenPriv = array('system-dashboard', 'system-dblist', 'system-configdomain', 'system-ossview');
include 'packagemanager.php';
+2 -2
View File
@@ -580,8 +580,8 @@ $lang->group->package->artifactrepo = 'Artifact Repo';
$lang->group->package->browseArtifactrepo = 'Artifact Repo List';
$lang->group->package->manageArtifactrepo = 'Manage Artifact Repo';
$lang->group->package->deleteArtifactrepo = 'Delete Artifact Repo';
$lang->group->package->browseInstance = 'Application List';
$lang->group->package->browseInstance = 'Manage Application';
$lang->group->package->browseApplication = 'Application List';
$lang->group->package->mangeApplication = 'Manage Application';
$lang->group->package->trainPracticeLib = 'Practice Library';
$lang->group->package->other = 'Other';
+18 -7
View File
@@ -1311,7 +1311,6 @@ $lang->repo->methodOrder[45] = 'log';
$lang->repo->methodOrder[50] = 'revision';
$lang->repo->methodOrder[55] = 'blame';
$lang->repo->methodOrder[60] = 'download';
$lang->repo->methodOrder[65] = 'setRules';
$lang->repo->methodOrder[70] = 'apiGetRepoByUrl';
$lang->repo->methodOrder[75] = 'downloadCode';
$lang->repo->methodOrder[80] = 'linkStory';
@@ -1376,6 +1375,24 @@ $lang->serverroom->methodOrder[10] = 'edit';
$lang->serverroom->methodOrder[15] = 'delete';
$lang->serverroom->methodOrder[20] = 'view';
$lang->resource->instance = new stdclass();
$lang->resource->instance->manage = 'manage';
$lang->resource->space = new stdclass();
$lang->resource->space->browse = 'browse';
$lang->resource->system = new stdclass();
$lang->resource->system->dashboard = 'dashboard';
$lang->resource->system->dblist = 'dbList';
$lang->resource->system->configdomain = 'configDomain';
$lang->resource->system->ossview = 'ossView';
$lang->resource->ops = new stdclass();
$lang->resource->ops->provide = 'provider';
$lang->resource->ops->city = 'city';
$lang->resource->ops->cpubrand = 'cpuBrand';
$lang->resource->ops->os = 'os';
/* Doc. */
$lang->resource->doc = new stdclass();
$lang->resource->doc->index = 'index';
@@ -1542,9 +1559,6 @@ $lang->mr->methodOrder[95] = 'addReview';
/* App. */
$lang->resource->app = new stdclass();
$lang->resource->app->serverlink = 'serverLink';
$lang->app->methodOrder[10] = 'link';
/* Git. */
$lang->resource->git = new stdclass();
@@ -2019,9 +2033,6 @@ $lang->resource->codereview = new stdclass();
$lang->resource->repocode = new stdclass();
$lang->resource->artifactrepo = new stdclass();
$lang->resource->deploy = new stdclass();
$lang->resource->ops = new stdclass();
$lang->resource->instance = new stdclass();
$lang->resource->space = new stdclass();
global $config;
$inUpgrade = (defined('IN_UPGRADE') and IN_UPGRADE);
+2 -2
View File
@@ -580,8 +580,8 @@ $lang->group->package->artifactrepo = '制品库';
$lang->group->package->browseArtifactrepo = '浏览制品库';
$lang->group->package->manageArtifactrepo = '创建维护制品库';
$lang->group->package->deleteArtifactrepo = '删除制品库';
$lang->group->package->browseInstance = '浏览应用';
$lang->group->package->browseInstance = '管理应用';
$lang->group->package->browseApplication = '浏览应用';
$lang->group->package->mangeApplication = '管理应用';
$lang->group->package->trainPracticeLib = '实践库';
$lang->group->package->other = '其他';
+16 -5
View File
@@ -771,14 +771,24 @@ class groupModel extends model
* @param string $nav
* @param string $moduleName
* @access public
* @return void
* @return bool
*/
public function checkNavModule($nav, $moduleName)
public function checkNavModule($nav, $moduleName, $methodName = '')
{
if(empty($nav)) return true;
if($nav == 'general' and (isset($this->lang->navGroup->$moduleName) or isset($this->lang->mainNav->$moduleName))) return false;
if($nav != 'general' and !($moduleName == $nav or (isset($this->lang->navGroup->$moduleName) and $this->lang->navGroup->$moduleName == $nav))) return false;
if($nav != 'general')
{
if($moduleName === $nav) return true;
if(isset($this->lang->navGroup->{$moduleName . '_' . $methodName}))
{
if($this->lang->navGroup->{$moduleName . '_' . $methodName} === $nav) return true;
return false;
}
if(isset($this->lang->navGroup->$moduleName) and $this->lang->navGroup->$moduleName == $nav) return true;
return false;
}
if($nav == 'project' and strpos('caselib|testsuite|report', $moduleName) !== false) return false;
return true;
@@ -1742,18 +1752,19 @@ class groupModel extends model
list($moduleName, $methodName) = explode('-', $privCode);
$allPrivs[$privCode] = $privCode;
if(!$this->config->inQuickon && in_array("{$moduleName}-{$methodName}", $this->config->group->hiddenPriv)) continue;
if(strpos(',' . $priv['edition'] . ',', ',' . $this->config->edition . ',') === false) continue;
if(strpos(',' . $priv['vision'] . ',', ',' . $this->config->vision . ',') === false) continue;
if(!$this->checkNavModule($nav, $moduleName)) continue;
if(!$this->checkNavModule($nav, $moduleName, $methodName)) continue;
/* If version is selected, only show privs before the version. */
if(!empty($version) and strpos($versionPrivs, ",$privCode,") === false) continue;
/* Remove privs unused in the edition. */
if(!isset($this->lang->resource->$moduleName) || !isset($this->lang->resource->$moduleName->$methodName)) continue;
$methodLang = $this->lang->resource->$moduleName->$methodName;
if(!isset($this->lang->$moduleName->$methodLang)) $this->app->loadLang($moduleName);
$priv = (object)array('subset' => $packageData->subset, 'package' => $packageCode, 'module' => $moduleName, 'method' => $methodName, 'selected' => false, 'name' => $this->lang->$moduleName->$methodLang);
$privList[$privCode] = $priv;
+22 -23
View File
@@ -1627,6 +1627,12 @@ $config->group->package->manageTrainCourse->privs['traincourse-uploadCourse'] =
$config->group->package->manageTrainCourse->privs['traincourse-batchImport'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array());
$config->group->package->manageTrainCourse->privs['traincourse-cloudImport'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array());
$config->group->package->dashboard = new stdclass();
$config->group->package->dashboard->order = 2160;
$config->group->package->dashboard->subset = 'ops';
$config->group->package->dashboard->privs = array();
$config->group->package->dashboard->privs['system-dashboard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array());
$config->group->package->system = new stdclass();
$config->group->package->system->order = 2180;
$config->group->package->system->subset = 'ops';
@@ -2690,12 +2696,6 @@ $config->group->package->sonarqube = new stdclass();
$config->group->package->sonarqube->order = 30;
$config->group->package->sonarqube->subset = 'repo';
$config->group->package->repoRules = new stdclass();
$config->group->package->repoRules->order = 2380;
$config->group->package->repoRules->subset = 'ops';
$config->group->package->repoRules->privs = array();
$config->group->package->repoRules->privs['repo-setRules'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array());
$config->group->package->browseJob = new stdclass();
$config->group->package->browseJob->order = 5;
$config->group->package->browseJob->subset = 'pipeline';
@@ -3822,12 +3822,6 @@ $config->group->package->deletePrompt->subset = 'ai';
$config->group->package->deletePrompt->privs = array();
$config->group->package->deletePrompt->privs['ai-promptDelete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('ai-prompts', 'ai-promptView'), 'recommend' => array());
$config->group->package->dashboard = new stdclass();
$config->group->package->dashboard->order = 2160;
$config->group->package->dashboard->subset = 'ops';
$config->group->package->dashboard->privs = array();
$config->group->package->dashboard->privs['system-dashboard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array());
$config->group->package->resource = new stdclass();
$config->group->package->resource->order = 2200;
$config->group->package->resource->subset = 'ops';
@@ -3856,6 +3850,12 @@ $config->group->package->manageOS->subset = 'ops';
$config->group->package->manageOS->privs = array();
$config->group->package->manageOS->privs['ops-os'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array(), 'recommend' => array());
$config->group->package->repoRules = new stdclass();
$config->group->package->repoRules->order = 2380;
$config->group->package->repoRules->subset = 'ops';
$config->group->package->repoRules->privs = array();
$config->group->package->repoRules->privs['repo-setRules'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array());
$config->group->package->browseRepo = new stdclass();
$config->group->package->browseRepo->order = 2420;
$config->group->package->browseRepo->subset = 'repo';
@@ -3947,17 +3947,16 @@ $config->group->package->deleteArtifactrepo->subset = 'artifactrepo';
$config->group->package->deleteArtifactrepo->privs = array();
$config->group->package->deleteArtifactrepo->privs['artifactrepo-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array());
$config->group->package->application = new stdclass();
$config->group->package->application->order = 2840;
$config->group->package->application->subset = 'app';
$config->group->package->application->privs = array();
$config->group->package->application->privs['space-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array());
$config->group->package->application = new stdclass();
$config->group->package->application->order = 2860;
$config->group->package->application->subset = 'app';
$config->group->package->application->privs = array();
$config->group->package->application->privs['instance-manage'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array());
$config->group->package->browseApplication = new stdclass();
$config->group->package->browseApplication->order = 2840;
$config->group->package->browseApplication->subset = 'app';
$config->group->package->browseApplication->privs = array();
$config->group->package->browseApplication->privs['space-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array());
$config->group->package->mangeApplication = new stdclass();
$config->group->package->mangeApplication->order = 2840;
$config->group->package->mangeApplication->subset = 'app';
$config->group->package->mangeApplication->privs = array();
$config->group->package->mangeApplication->privs['instance-manage'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array());
$config->group->package->trainPracticeLib = new stdclass();
$config->group->package->trainPracticeLib->order = 8;
+3
View File
@@ -1,9 +1,12 @@
<?php
$lang->system->common = 'Dashboard';
$lang->system->dashboard = 'Dashboard';
$lang->system->systemInfo = 'System information';
$lang->system->dbManagement = 'Database management';
$lang->system->ldapManagement = 'LDAP';
$lang->system->dbList = 'Database list';
$lang->system->configDomain = 'Config Domain';
$lang->system->ossview = 'OSS';
$lang->system->dbName = 'Name';
$lang->system->dbStatus = 'Status';
$lang->system->dbType = 'Type';
+3
View File
@@ -1,9 +1,12 @@
<?php
$lang->system->common = 'Dashboard';
$lang->system->dashboard = 'Dashboard';
$lang->system->systemInfo = 'System information';
$lang->system->dbManagement = 'Database management';
$lang->system->ldapManagement = 'LDAP';
$lang->system->dbList = 'Database list';
$lang->system->configDomain = 'Config Domain';
$lang->system->ossview = 'OSS';
$lang->system->dbName = 'Name';
$lang->system->dbStatus = 'Status';
$lang->system->dbType = 'Type';
+3
View File
@@ -1,9 +1,12 @@
<?php
$lang->system->common = 'Dashboard';
$lang->system->dashboard = 'Dashboard';
$lang->system->systemInfo = 'System information';
$lang->system->dbManagement = 'Database management';
$lang->system->ldapManagement = 'LDAP';
$lang->system->dbList = 'Database list';
$lang->system->configDomain = 'Config Domain';
$lang->system->ossview = 'OSS';
$lang->system->dbName = 'Name';
$lang->system->dbStatus = 'Status';
$lang->system->dbType = 'Type';
+4 -1
View File
@@ -1,9 +1,12 @@
<?php
$lang->system->dashboard = '仪表盘';
$lang->system->common = '仪表盘';
$lang->system->dashboard = 'DevOps平台仪表盘';
$lang->system->systemInfo = '系统信息';
$lang->system->dbManagement = '数据库管理';
$lang->system->ldapManagement = 'LDAP';
$lang->system->dbList = '数据库列表';
$lang->system->configDomain = '域名管理';
$lang->system->ossView = '对象存储管理';
$lang->system->dbName = '名称';
$lang->system->dbStatus = '状态';
$lang->system->dbType = '类型';
+1 -1
View File
@@ -17,7 +17,7 @@
<div class='text-center col-xs-6 col-sm-3 col-md-2 col-lg-2'>
<a class='cell' href='<?php echo helper::createLink('system', 'dashboard');?>'>
<span class='logo'><i class='icon icon-info-dashboard'></i></span><br/>
<span class='plug-title text-center'><?php echo $lang->system->dashboard;?></span>
<span class='plug-title text-center'><?php echo $lang->system->common;?></span>
</a>
</div>
<div class='text-center col-xs-6 col-sm-3 col-md-2 col-lg-2'>