diff --git a/module/group/config.php b/module/group/config.php index 4c4c3f94d4..7e673df7fd 100644 --- a/module/group/config.php +++ b/module/group/config.php @@ -44,3 +44,5 @@ $config->group->priv->search['params']['dependPrivs'] = array('operator' => ' $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'); + +include 'packagemanager.php'; diff --git a/module/group/control.php b/module/group/control.php index 3d31382188..865f8934a1 100644 --- a/module/group/control.php +++ b/module/group/control.php @@ -191,28 +191,174 @@ class group extends control } /** - * Manage privleges of a group. + * Manage priv by package or group. * - * @param string $type byPackage|byGroup|byModule - * @param int $param - * @param string $menu + * @param int $groupID + * @param string $nav * @param string $version * @access public * @return void */ - public function managePriv($type = 'byPackage', $param = 0, $menu = '', $version = '') + protected function managePrivByGroup($groupID = 0, $nav = '', $version = '') + { + $this->lang->custom->common = $this->lang->group->config; + if(($this->config->edition == 'max' or $this->config->edition == 'ipd') and $this->config->vision == 'rnd' and isset($this->lang->baseline)) $this->lang->baseline->common = $this->lang->group->docTemplate; + + $this->group->sortResource(); + $group = $this->group->getById($groupID); + $groupPrivs = $this->group->getPrivs($groupID); + $versionPrivs = $this->group->getPrivsAfterVersion($version); + + /* Subsets . */ + $subsets = array(); + foreach($this->config->group->subset as $subsetName => $subset) + { + $subset->code = $subsetName; + $subset->allCount = 0; + $subset->selectCount = 0; + + $subsets[$subset->code] = $subset; + } + + $selectPrivs = $this->group->getPrivListByGroup($groupID); + $allPrivList = $this->group->getPrivListByNav($nav, $version); + + $selectedPrivList = array(); + $packages = array(); + + foreach($allPrivList as $privCode => $priv) + { + $subsetCode = $priv->subset; + $packageCode = $priv->package; + if(!isset($packages[$subsetCode])) $packages[$subsetCode] = array(); + + if(!isset($packages[$subsetCode][$packageCode])) + { + $package = new stdclass(); + $package->allCount = 0; + $package->selectCount = 0; + $package->subset = zget($packageData, 'subset', 'other'); + $package->privs = array(); + + $packages[$subsetCode][$packageCode] = $package; + } + + $packages[$subsetCode][$packageCode]->privs[$privCode] = $priv; + + $packages[$subsetCode][$packageCode]->allCount ++; + $subsets[$subsetCode]->allCount ++; + + if(isset($selectPrivs[$privCode])) + { + $packages[$subsetCode][$packageCode]->selectCount ++; + $subsets[$subsetCode]->selectCount ++; + $selectedPrivList[] = $privCode; + } + } + + $allPrivList = array_keys($allPrivList); + $relatedPrivData = $this->group->getRelatedPrivs($allPrivList, $selectedPrivList); + + $this->view->title = $this->lang->company->common . $this->lang->colon . $group->name . $this->lang->colon . $this->lang->group->managePriv; + $this->view->position[] = $group->name; + $this->view->position[] = $this->lang->group->managePriv; + + $this->view->allPrivList = $allPrivList; + $this->view->selectedPrivList = $selectedPrivList; + $this->view->relatedPrivData = $relatedPrivData; + + $this->view->group = $group; + $this->view->groupPrivs = $groupPrivs; + $this->view->groupID = $groupID; + $this->view->nav = $nav; + $this->view->version = $version; + $this->view->subsets = $subsets; + $this->view->packages = $packages; + } + + /** + * Manage priv by module. + * + * @access public + * @return void + */ + protected function managePrivByModule() + { + $subsets = array(); + $packages = array(); + $privs = array(); + + /* Subsets in package. */ + foreach($this->config->group->package as $packageCode => $packageData) + { + foreach($packageData->privs as $privCode => $priv) + { + list($moduleName, $methodName) = explode('-', $privCode); + + if(strpos(',' . $priv['edition'] . ',', ',' . $this->config->edition . ',') === false) continue; + if(strpos(',' . $priv['vision'] . ',', ',' . $this->config->vision . ',') === false) continue; + + /* Remove privs unused in the edition. */ + if(!isset($this->lang->resource->$moduleName) || !isset($this->lang->resource->$moduleName->$methodName)) continue; + + $subset = $packageData->subset; + if(!isset($subsets[$subset])) + { + $subsets[$subset] = $this->lang->$subset->common; + $packages[$subset] = array(); + } + + $packages[$subset][$packageCode] = isset($this->lang->group->package->$packageCode) ? $this->lang->group->package->$packageCode : $packageCode; + + $privs[$privCode] = $privCode; + } + } + + /* Subsets in resource but not in package. */ + $this->group->sortResource(); + foreach($this->lang->resource as $module => $methodList) + { + foreach($methodList as $method => $methodLang) + { + if(isset($privs["$module-$method"])) continue; + + if(!isset($subsets[$module])) $subsets[$module] = isset($this->lang->$module) && isset($this->lang->$module->common) ? $this->lang->$module->common : $module; + $packages[$subset]['other'] = $this->lang->group->other; + } + } + + $this->view->title = $this->lang->company->common . $this->lang->colon . $this->lang->group->managePriv; + $this->view->position[] = $this->lang->group->managePriv; + + $this->view->groups = $this->group->getPairs(); + $this->view->subsets = $subsets; + $this->view->packages = $packages; + $this->view->privs = $this->group->getPrivByParents(key($subsets)); + } + + /** + * Manage privleges of a group. + * + * @param string $type byPackage|byGroup|byModule + * @param int $param + * @param string $nav + * @param string $version + * @access public + * @return void + */ + public function managePriv($type = 'byPackage', $param = 0, $nav = '', $version = '') { if($type == 'byGroup' or $type == 'byPackage') $groupID = $param; $this->view->type = $type; foreach($this->lang->resource as $moduleName => $action) { - if($this->group->checkMenuModule($menu, $moduleName) or ($type != 'byGroup' and $type != 'byPackage')) $this->app->loadLang($moduleName); + if($this->group->checkNavModule($nav, $moduleName) || ($type != 'byGroup' && $type != 'byPackage')) $this->app->loadLang($moduleName); } if(!empty($_POST)) { - if($type == 'byGroup' or $type == 'byPackage') $result = $this->group->updatePrivByGroup($groupID, $menu, $version); + if($type == 'byGroup' || $type == 'byPackage') $result = $this->group->updatePrivByGroup($groupID, $nav, $version); if($type == 'byModule') $result = $this->group->updatePrivByModule(); if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError())); @@ -220,177 +366,9 @@ class group extends control if($type == 'byModule') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent')); } - if($type == 'byGroup' or $type == 'byPackage') - { - $this->group->sortResource(); - $group = $this->group->getById($groupID); - $groupPrivs = $this->group->getPrivs($groupID); + if($type == 'byGroup' || $type == 'byPackage') $this->managePrivByGroup($groupID, $nav, $version); + if($type == 'byModule') $this->managePrivByModule($groupID, $nav, $version); - $this->view->title = $this->lang->company->common . $this->lang->colon . $group->name . $this->lang->colon . $this->lang->group->managePriv; - $this->view->position[] = $group->name; - $this->view->position[] = $this->lang->group->managePriv; - - /* Join changelog when be equal or greater than this version.*/ - $realVersion = str_replace('_', '.', $version); - $changelog = array(); - foreach($this->lang->changelog as $currentVersion => $currentChangeLog) - { - if(version_compare($currentVersion, $realVersion, '>=')) $changelog[] = join(',', $currentChangeLog); - } - $changelogs = ',' . join(',', $changelog) . ','; - - $this->lang->custom->common = $this->lang->group->config; - if(($this->config->edition == 'max' or $this->config->edition == 'ipd') and $this->config->vision == 'rnd' and isset($this->lang->baseline)) $this->lang->baseline->common = $this->lang->group->docTemplate; - - $modules = $this->group->getPrivManagerPairs('module', $menu); - - $this->view->group = $group; - $this->view->groupPrivs = $groupPrivs; - $this->view->groupID = $groupID; - $this->view->menu = $menu; - $this->view->version = $version; - - $privs = $this->group->getPrivsListByView($menu); - $privs = $this->group->transformPrivLang($privs); - $privs = $this->group->getCustomPrivs($menu, $privs); - - $privList = $modules; - $privMethods = array(); - $selectPrivs = array(); - $selectedPrivList = array(); - $relatedList = array(); - $groupPrivList = $this->group->getPrivListByGroup($groupID); - foreach($privs as $priv) - { - if(!empty($version) and strpos($changelogs, ",{$priv->module}-{$priv->method},") === false) - { - unset($groupPrivList["{$priv->module}-{$priv->method}"]); - continue; - } - - if(!$this->config->inQuickon && in_array("{$priv->module}-{$priv->method}", $this->config->group->hiddenPriv)) continue; - - if(!isset($privList[$priv->parentCode])) $privList[$priv->parentCode] = array(); - if(!is_array($privList[$priv->parentCode])) $privList[$priv->parentCode] = array(); - if(!isset($privList[$priv->parentCode][$priv->parent])) $privList[$priv->parentCode][$priv->parent] = array(); - $privList[$priv->parentCode][$priv->parent][$priv->key] = $priv; - - if(!isset($privMethod[$priv->module])) $privMethod[$priv->module] = array(); - $privMethods[$priv->module][$priv->method] = $priv->method; - - if(!isset($selectPrivs[$priv->parentCode])) $selectPrivs[$priv->parentCode] = array(); - if(!isset($selectPrivs[$priv->parentCode][$priv->parent])) $selectPrivs[$priv->parentCode][$priv->parent] = 0; - if(!empty($groupPrivs[$priv->module][$priv->method])) - { - $selectPrivs[$priv->parentCode][$priv->parent] ++; - if(isset($priv->id)) - { - $selectedPrivList["{$priv->module}-{$priv->method}"] = "{$priv->module}-{$priv->method}"; - - /* New permissions for secondary development are excluded. */ - if(is_numeric($priv->id)) $relatedList["{$priv->module}-{$priv->method}"] = "{$priv->module}-{$priv->method}"; - } - } - } - foreach($privList as $module => $privs) - { - if(!is_array($privList[$module])) unset($privList[$module]); - } - - if(empty($menu) or $menu == 'general') - { - $unassignedModule = array_diff(array_keys(get_object_vars($this->lang->resource)), array_keys($modules)); - foreach($unassignedModule as $index => $module) - { - if(!$this->group->checkMenuModule($menu, $module) or isset($privList[$module])) continue; - - $selectPrivs[$module] = array(); - $selectPrivs[$module][0] = 0; - - foreach($this->lang->resource->{$module} as $method => $methodLabel) - { - if(isset($privMethods[$module][$method])) continue; - if(!$this->config->inQuickon && in_array("{$module}-{$method}", $this->config->group->hiddenPriv)) continue; - - $privMethods[$module][$method] = $method; - - $privList[$module][0]["{$module}-$method"] = new stdclass(); - $privList[$module][0]["{$module}-$method"]->module = $module; - $privList[$module][0]["{$module}-$method"]->method = $method; - $privList[$module][0]["{$module}-$method"]->name = $this->lang->{$module}->{$methodLabel}; - $privList[$module][0]["{$module}-$method"]->action = "{$module}-{$method}"; - if(!empty($groupPrivs[$module][$method])) $selectPrivs[$module][0] ++; - } - } - } - - $excludePrivList = array_diff(array_keys($groupPrivList), $selectedPrivList); - $relatedPrivData = $this->group->getRelatedPrivs($relatedList, '', $excludePrivList); - - unset($privList['index']); - - $this->view->privList = $privList; - $this->view->privMethods = $privMethods; - $this->view->selectPrivs = $selectPrivs; - $this->view->privPackages = $this->group->getPrivManagerPairs('package'); - $this->view->selectedPrivList = $selectedPrivList; - $this->view->relatedPrivData = $relatedPrivData; - $this->view->excludePrivList = $excludePrivList; - } - elseif($type == 'byModule') - { - $this->group->sortResource(); - $this->view->title = $this->lang->company->common . $this->lang->colon . $this->lang->group->managePriv; - $this->view->position[] = $this->lang->group->managePriv; - - $privs = $this->group->getPrivsListByView(''); - $privs = $this->group->getCustomPrivs('', $privs); - $modules = $this->dao->select('*')->from(TABLE_PRIVMANAGER)->where('type')->eq('module')->fetchAll('code'); - $modulePairs = $this->group->getPrivManagerPairs('module'); - - $privArray = get_object_vars($this->lang->resource); - $privArray = array_filter($privArray, function($modulePrivs){$modulePrivs = (array)$modulePrivs; return !empty($modulePrivs);}); - $unassignedModules = array_diff(array_keys($privArray), array_keys($modulePairs)); - - foreach($unassignedModules as $unassignedModule) - { - $this->app->loadLang($unassignedModule); - $modulePairs[$unassignedModule] = isset($this->lang->{$unassignedModule}->common) ? $this->lang->{$unassignedModule}->common : $unassignedModule; - } - - $packageGroup = array(); - foreach($modulePairs as $moduleCode => $moduleLang) - { - $modulePackages = $this->group->getPrivManagerPairs('package', $moduleCode); - $unassignedPrivs = $this->group->getUnassignedPrivsByModule($moduleCode); - $packageGroup[$moduleCode] = isset($modules[$moduleCode]) ? $modulePackages : array(); - $unassignedPrivPackages = isset($modules[$moduleCode]) ? $modules[$moduleCode]->id : 0; - $packageGroup[$moduleCode] = $packageGroup[$moduleCode] + array($unassignedPrivPackages => $this->lang->group->other); - } - - $hasPrivModule = array(); - foreach($privs as $privKey => $priv) - { - if(!isset($modulePairs[$priv->module])) $modulePairs[$priv->module] = isset($this->lang->{$priv->module}->common) ? $this->lang->{$priv->module}->common : $priv->module; - - $hasPrivModule[] = $priv->parentCode; - } - $emptyPrivModules = array_diff(array_keys($modulePairs), $hasPrivModule); - foreach($emptyPrivModules as $emptyPrivModule) unset($modulePairs[$emptyPrivModule]); - - $indexPrivs = $this->group->getPrivByParent(isset($packageGroup['index']) ? array_keys($packageGroup['index']) : $modules['index']->id); - $indexPrivs = $this->group->transformPrivLang($indexPrivs); - foreach($indexPrivs as $privID => $priv) - { - $indexPrivs["{$priv->module}-{$priv->method}"] = $priv->name; - unset($indexPrivs[$privID]); - } - - $this->view->groups = $this->group->getPairs(); - $this->view->modulePairs = $modulePairs; - $this->view->packageGroup = $packageGroup; - $this->view->indexPrivs = $indexPrivs; - } $this->display(); } @@ -1056,50 +1034,16 @@ class group extends control /** * AJAX: Get privs by parents. * - * @param string $module - * @param string $parentType - * @param string $parentList + * @param string $selectedSubset + * @param string $selectedPackages * @access public * @return bool */ - public function ajaxGetPrivByParents($module, $parentType, $parentList) + public function ajaxGetPrivByParents($selectedSubset, $selectedPackages) { - $menu = isset($this->lang->navGroup->$module) ? $this->lang->navGroup->$module : $module; - $privList = array(); - if($parentType == 'module') - { - $privs = $this->group->getPrivByModule($parentList); - foreach($privs as $moduleID => $packages) - { - foreach($packages as $packageID => $packagePrivs) - { - foreach($packagePrivs as $privID => $packagePriv) - { - $privList["{$packagePriv->module}-{$packagePriv->method}"] = $packagePriv; - } - } - } - } - elseif($parentType == 'package') - { - $privList = $this->group->getPrivByParent(trim($parentList, ',')); - foreach($privList as $privID => $priv) - { - $privList["{$priv->module}-{$priv->method}"] = $priv; - unset($privList[$privID]); - } - } + $privs = $this->group->getPrivByParents($selectedSubset, $selectedPackages); - $privList = $this->group->getCustomPrivs($menu, $privList); - foreach($privList as $privKey => $priv) - { - if((isset($priv->parentCode) and $priv->parentCode != $module) or (strpos($parentList, ",{$priv->parent},") === false and $parentType == 'package')) unset($privList[$privKey]); - - if(!$this->config->inQuickon && in_array($privKey, $this->config->group->hiddenPriv)) unset($privList[$privKey]); - } - $privList = $this->group->transformPrivLang($privList, true); - - return print(html::select('actions[]', $privList, '', "multiple='multiple' class='form-control'")); + return print(html::select('actions[]', $privs, '', "multiple='multiple' class='form-control'")); } /** @@ -1110,10 +1054,11 @@ class group extends control */ public function ajaxGetRelatedPrivs() { - $privList = zget($_POST, 'privList'); - $recommedSelect = zget($_POST, 'recommedSelect'); - $excludePrivList = zget($_POST, 'excludePrivList'); - $privList = $this->group->getRelatedPrivs($privList, '', $excludePrivList, $recommedSelect); - return print(json_encode($privList)); + $allPrivList = zget($_POST, 'allPrivList'); + $selectedPrivList = zget($_POST, 'selectPrivList'); + $recommendSelect = zget($_POST, 'recommendSelect'); + $result = $this->group->getRelatedPrivs(explode(',', $allPrivList), explode(',', $selectedPrivList), explode(',', $recommendSelect)); + + return print(json_encode($result)); } } diff --git a/module/group/js/managepriv.js b/module/group/js/managepriv.js index 71bba978fa..7b386b740e 100644 --- a/module/group/js/managepriv.js +++ b/module/group/js/managepriv.js @@ -16,7 +16,7 @@ function setModulePackages(module) $('#packageBox select').val(''); // Unselect all select. $("select[data-module='" + module + "']").removeClass('hidden'); // Show the action control for current module. - updatePrivList('module', module); + updatePrivList(module, ''); } /** @@ -29,9 +29,10 @@ function setActions() { $('#actionBox select').val(''); - var hasSelectedPackage = ',' + $('#packageBox select').not('.hidden').val().join(',') + ','; + var selectedModule = $('#module').val(); + var selectedPackages = ',' + $('#packageBox select').not('.hidden').val().join(',') + ','; - updatePrivList('package', hasSelectedPackage); + updatePrivList(selectedModule, selectedPackages); } @@ -48,15 +49,14 @@ function setNoChecked() /** * Update the action box when module or package selected. * - * @param string parentType module|package - * @param string parentList + * @param string selectedModule + * @param string selectedPackages * @access public * @return void */ -function updatePrivList(parentType, parentList) +function updatePrivList(selectedModule, selectedPackages) { - var selectedModule = $('#module').val(); - $.get(createLink('group', 'ajaxGetPrivByParents', 'module=' + selectedModule + '&parentType=' + parentType + '&parentList=' + parentList), function(data) + $.get(createLink('group', 'ajaxGetPrivByParents', 'module=' + selectedModule + '&packages=' + selectedPackages), function(data) { $('#actions').replaceWith(data); }) @@ -136,9 +136,9 @@ function initRecomendTree(data) initialState: 'expand', itemCreator: function($li, item) { - var index = item.relationPriv ? recommedSelect.indexOf(item.relationPriv.toString()) : -1; - if(item.relationPriv === undefined) item.relationPriv = ''; - $li.append('
= 0 ? 'checked="checked"' : '') + 'data-has-children="' + (item.children ? !!item.children.length : false) + '"' + (item.children ? '' : 'data-type="recommend" data-privid="' + item.privID + '" data-relationpriv="' + item.relationPriv + '"') + 'type="checkbox" name="recommendPrivs[]" value="' + item.relationPriv + '" title="' + item.title + '" id="recommendPrivs[' + item.module + ']' + item.method + '" data-module="' + item.module + '" data-method="' + item.method + '">
'); + var privID = item.module + '-' + item.method; + var index = recommendSelect.indexOf(privID); + $li.append('
= 0 ? 'checked="checked"' : '') + 'data-has-children="' + (item.children ? !!item.children.length : false) + '"' + (item.children ? '' : 'data-type="recommend" data-privid="' + privID + '" data-relationpriv="' + privID + '"') + 'type="checkbox" name="recommendPrivs[]" value="' + privID + '" title="' + item.title + '" id="recommendPrivs[' + item.module + ']' + item.method + '" data-module="' + item.module + '" data-method="' + item.method + '">
'); } }); $('.menuTree.recommend i.list-toggle').remove(); @@ -159,7 +159,8 @@ function initDependTree(data) initialState: 'expand', itemCreator: function($li, item) { - $li.append('
'); + var privID = item.module + '-' + item.method; + $li.append('
'); } }); $('.menuTree.depend i.list-toggle').remove(); @@ -190,7 +191,7 @@ function updatePrivTree(privList) url: createLink('group', 'ajaxGetRelatedPrivs'), dataType: 'json', method: 'post', - data: {"privList" : privList.toString(), "recommedSelect": recommedSelect.toString(), "excludePrivList": Object.values(excludePrivList).toString()}, + data: {"selectPrivList": privList.toString(), "recommendSelect": recommendSelect.toString(), "allPrivList": Object.values(allPrivList).toString()}, success: function(data) { if(data.depend == undefined || data.depend.length == 0) @@ -385,10 +386,10 @@ function recommendChange($item, checked) if(priv && index < 0 && checked) selectedPrivList.push(priv); if(priv && index > -1 && !checked) selectedPrivList.splice(index, 1); - index = recommedSelect.indexOf(priv); + index = recommendSelect.indexOf(priv); - if(priv && index < 0 && checked) recommedSelect.push(priv); - if(priv && index > -1 && !checked) recommedSelect.splice(index, 1); + if(priv && index < 0 && checked) recommendSelect.push(priv); + if(priv && index > -1 && !checked) recommendSelect.splice(index, 1); } } @@ -413,7 +414,7 @@ $(function() selectedPrivList = Object.values(selectedPrivList); - recommedSelect = new Array(); + recommendSelect = new Array(); relatedPrivData = $.parseJSON(relatedPrivData); initDependTree(relatedPrivData.depend); diff --git a/module/group/lang/en.php b/module/group/lang/en.php index 948cd6a68b..22ff42cf5c 100644 --- a/module/group/lang/en.php +++ b/module/group/lang/en.php @@ -203,4 +203,384 @@ $lang->group->versions['1_2'] = 'ZenTao1.2'; $lang->group->versions['1_1'] = 'ZenTao1.1'; $lang->group->versions['1_0_1'] = 'ZenTao1.0.1'; +$lang->group->package = new stdclass(); +$lang->group->package->browseTodo = 'Browse Todo'; +$lang->group->package->manageTodo = 'Manage Todo'; +$lang->group->package->deleteTodo = 'Delete Todo'; +$lang->group->package->importTodo = 'Import Todo'; +$lang->group->package->manageContact = 'Manage Contact'; +$lang->group->package->profile = 'Profile'; +$lang->group->package->preference = 'Preference'; +$lang->group->package->browseProgram = 'Browse Program'; +$lang->group->package->manageProgram = 'Manage Program'; +$lang->group->package->deleteProgram = 'Delete Program'; +$lang->group->package->invest = 'Invest'; +$lang->group->package->accessible = 'Accessible'; +$lang->group->package->whitelist = 'Whitelist'; +$lang->group->package->stakeholder = 'Stakeholder'; +$lang->group->package->my = 'My'; +$lang->group->package->browseProduct = 'Browse Product'; +$lang->group->package->manageProductLine = 'Manage Product Line'; +$lang->group->package->createProduct = 'Create Product'; +$lang->group->package->importProduct = 'Import Product'; +$lang->group->package->productWhitelist = 'Product Whitelist'; +$lang->group->package->branch = 'Branch'; +$lang->group->package->browseStory = 'Browse Story'; +$lang->group->package->manageStory = 'Manage Story'; +$lang->group->package->importStory = 'Import Story'; +$lang->group->package->deleteStory = 'Delete Story'; +$lang->group->package->reviewStory = 'Review Story'; +$lang->group->package->deleteProduct = 'Delete Product'; +$lang->group->package->browseRequirement = 'Browse Requirement'; +$lang->group->package->manageRequirement = 'Manage Requirement'; +$lang->group->package->importRequirement = 'Import Requirement'; +$lang->group->package->deleteRequirement = 'Delete Requirement'; +$lang->group->package->reviewRequirement = 'Review Requirement'; +$lang->group->package->browseProductPlan = 'Browse Product Plan'; +$lang->group->package->manageProductPlan = 'Manage Product Plan'; +$lang->group->package->deleteProductPlan = 'Delete Product Plan'; +$lang->group->package->browseRelease = 'Browse Release'; +$lang->group->package->manageRelease = 'Manage Release'; +$lang->group->package->importRelease = 'Import Release'; +$lang->group->package->deleteRelease = 'Delete Release'; +$lang->group->package->releaseNotify = 'Release Notify'; +$lang->group->package->projectPlan = 'Project Plan'; +$lang->group->package->manageProjectStory = 'Manage Project Story'; +$lang->group->package->browseProject = 'Browse Project'; +$lang->group->package->manageProject = 'Manage Project'; +$lang->group->package->importProject = 'Import Project'; +$lang->group->package->projectTeam = 'Project Team'; +$lang->group->package->deleteProject = 'Delete Project'; +$lang->group->package->projectWhitelist = 'Project Whitelist'; +$lang->group->package->browseExecution = 'Browse Execution'; +$lang->group->package->manageExecution = 'Manage Execution'; +$lang->group->package->deleteExecution = 'Delete Execution'; +$lang->group->package->importExecution = 'Import Execution'; +$lang->group->package->executionWhitelist = 'Execution Whitelist'; +$lang->group->package->gantt = 'Gantt'; +$lang->group->package->browseTask = 'Browse Task'; +$lang->group->package->manageTask = 'Manage Task'; +$lang->group->package->deleteTask = 'Delete Task'; +$lang->group->package->importTask = 'Import Task'; +$lang->group->package->executionTeam = 'Execution Team'; +$lang->group->package->kanban = 'Kanban'; +$lang->group->package->groupView = 'Group View'; +$lang->group->package->burndown = 'Burndown'; +$lang->group->package->cfd = 'Cfd'; +$lang->group->package->manageExecutionStory = 'Manage Execution Story'; +$lang->group->package->manageExecutionEffort = 'Manage Execution Effort'; +$lang->group->package->manageBuild = 'Manage Build'; +$lang->group->package->deleteBuild = 'Delete Build'; +$lang->group->package->browseStoryLib = 'Browse Story Lib'; +$lang->group->package->manageStoryLib = 'Manage Story Lib'; +$lang->group->package->deleteStoryLib = 'Delete Story Lib'; +$lang->group->package->reviewStoryLib = 'Review Story Lib'; +$lang->group->package->browseIssueLib = 'Browse Issue Lib'; +$lang->group->package->manageIssueLib = 'Manage Issue Lib'; +$lang->group->package->deleteIssueLib = 'Delete Issue Lib'; +$lang->group->package->reviewIssue = 'Review Issue'; +$lang->group->package->browseRiskLib = 'Browse Risk Lib'; +$lang->group->package->manageRiskLib = 'Manage Risk Lib'; +$lang->group->package->deleteRiskLib = 'Delete Risk Lib'; +$lang->group->package->reivewRisk = 'Reivew Risk'; +$lang->group->package->browseOpportunityLib = 'Browse Opportunity Lib'; +$lang->group->package->manageOpportunityLib = 'Manage Opportunity Lib'; +$lang->group->package->deleteOpportunityLib = 'Delete Opportunity Lib'; +$lang->group->package->reviewOpportunity = 'Review Opportunity'; +$lang->group->package->browsePracticeLib = 'Browse Practice Lib'; +$lang->group->package->managePracticeLib = 'Manage Practice Lib'; +$lang->group->package->deletePracticeLib = 'Delete Practice Lib'; +$lang->group->package->reviewPractice = 'Review Practice'; +$lang->group->package->browseComponentLib = 'Browse Component Lib'; +$lang->group->package->manageComponentLib = 'Manage Component Lib'; +$lang->group->package->deleteComponentLib = 'Delete Component Lib'; +$lang->group->package->reviewComponent = 'Review Component'; +$lang->group->package->browseCaseLib = 'Browse Case Lib'; +$lang->group->package->manageCaseLib = 'Manage Case Lib'; +$lang->group->package->deleteCaseLib = 'Delete Case Lib'; +$lang->group->package->importCaseLib = 'Import Case Lib'; +$lang->group->package->importToCaseLib = 'Import To Case Lib'; +$lang->group->package->officeApproval = 'Office Approval'; +$lang->group->package->attend = 'Attend'; +$lang->group->package->officeSetting = 'Office Setting'; +$lang->group->package->dataPermission = 'Data Permission'; +$lang->group->package->leave = 'Leave'; +$lang->group->package->makeup = 'Makeup'; +$lang->group->package->overtime = 'Overtime'; +$lang->group->package->lieu = 'Lieu'; +$lang->group->package->holiday = 'Holiday'; +$lang->group->package->exportOffice = 'Export Office'; +$lang->group->package->browseFeedback = 'Browse Feedback'; +$lang->group->package->manageFeedback = 'Manage Feedback'; +$lang->group->package->importFeedback = 'Import Feedback'; +$lang->group->package->manageFeedback = 'Manage Feedback'; +$lang->group->package->faq = 'Faq'; +$lang->group->package->browseTicket = 'Browse Ticket'; +$lang->group->package->manageTicket = 'Manage Ticket'; +$lang->group->package->importTicket = 'Import Ticket'; +$lang->group->package->deleteFeedback = 'Delete Feedback'; +$lang->group->package->deleteTIcket = 'Delete T Icket'; +$lang->group->package->feedbackPriv = 'Feedback Priv'; +$lang->group->package->browseCourse = 'Browse Course'; +$lang->group->package->manageTrainCourse = 'Manage Train Course'; +$lang->group->package->system = 'Platform'; +$lang->group->package->host = 'Host'; +$lang->group->package->serverRoom = 'Server Room'; +$lang->group->package->account = 'Account'; +$lang->group->package->domain = 'Domain'; +$lang->group->package->service = 'Service'; +$lang->group->package->deployPlan = 'Deploy Plan'; +$lang->group->package->deployScope = 'Deploy Scope'; +$lang->group->package->deployStep = 'Deploy Step'; +$lang->group->package->deployCase = 'Deploy Case'; +$lang->group->package->qaIndex = 'Qa Index'; +$lang->group->package->browseBug = 'Browse Bug'; +$lang->group->package->manageBug = 'Manage Bug'; +$lang->group->package->deleteBug = 'Delete Bug'; +$lang->group->package->importBug = 'Import Bug'; +$lang->group->package->browseCase = 'Browse Case'; +$lang->group->package->manageCase = 'Manage Case'; +$lang->group->package->importCase = 'Import Case'; +$lang->group->package->deleteCase = 'Delete Case'; +$lang->group->package->reviewCase = 'Review Case'; +$lang->group->package->browseTesttask = 'Browse Testtask'; +$lang->group->package->manageTesttask = 'Manage Testtask'; +$lang->group->package->deleteTesttask = 'Delete Testtask'; +$lang->group->package->unitTest = 'Unit Test'; +$lang->group->package->testsuite = 'Testsuite'; +$lang->group->package->manageTestsuite = 'Manage Testsuite'; +$lang->group->package->deleteTestsuite = 'Delete Testsuite'; +$lang->group->package->browseTestreport = 'Browse Testreport'; +$lang->group->package->manageTestreport = 'Manage Testreport'; +$lang->group->package->deleteTestreport = 'Delete Testreport'; +$lang->group->package->importTestreport = 'Import Testreport'; +$lang->group->package->browseZAHost = 'Browse Z A Host'; +$lang->group->package->manageZAHost = 'Manage Z A Host'; +$lang->group->package->deleteZAHost = 'Delete Z A Host'; +$lang->group->package->image = 'Image'; +$lang->group->package->browseZANode = 'Browse Z A Node'; +$lang->group->package->manageZANode = 'Manage Z A Node'; +$lang->group->package->importZANode = 'Import Z A Node'; +$lang->group->package->snapshot = 'Snapshot'; +$lang->group->package->companyTeam = 'Company Team'; +$lang->group->package->companyCalendar = 'Company Calendar'; +$lang->group->package->companyEffort = 'Company Effort'; +$lang->group->package->companyDynamic = 'Company Dynamic'; +$lang->group->package->companySetting = 'Company Setting'; +$lang->group->package->companyDataPermission = 'Company Data Permission'; +$lang->group->package->programPlan = 'Program Plan'; +$lang->group->package->browseDesign = 'Browse Design'; +$lang->group->package->manageDesign = 'Manage Design'; +$lang->group->package->deleteDesign = 'Delete Design'; +$lang->group->package->manageReview = 'Manage Review'; +$lang->group->package->manageIssue = 'Manage Issue'; +$lang->group->package->projectSetting = 'Project Setting'; +$lang->group->package->browseProjectRelease = 'Browse Project Release'; +$lang->group->package->projectWeekly = 'Project Weekly'; +$lang->group->package->projectMilestone = 'Project Milestone'; +$lang->group->package->researchPlan = 'Research Plan'; +$lang->group->package->researchReport = 'Research Report'; +$lang->group->package->budget = 'Budget'; +$lang->group->package->workEstimation = 'Work Estimation'; +$lang->group->package->durationEstimation = 'Duration Estimation'; +$lang->group->package->browseIssue = 'Browse Issue'; +$lang->group->package->manageIssue = 'Manage Issue'; +$lang->group->package->importIssue = 'Import Issue'; +$lang->group->package->deleteIssue = 'Delete Issue'; +$lang->group->package->importIssueLib = 'Import Issue Lib'; +$lang->group->package->browseRisk = 'Browse Risk'; +$lang->group->package->manageRisk = 'Manage Risk'; +$lang->group->package->importRisk = 'Import Risk'; +$lang->group->package->deleteRisk = 'Delete Risk'; +$lang->group->package->importRiskLib = 'Import Risk Lib'; +$lang->group->package->browseOpportunity = 'Browse Opportunity'; +$lang->group->package->manageOpportunity = 'Manage Opportunity'; +$lang->group->package->deleteOpportunity = 'Delete Opportunity'; +$lang->group->package->importOpportunityLib = 'Import Opportunity Lib'; +$lang->group->package->importOpportunity = 'Import Opportunity'; +$lang->group->package->pssp = 'Pssp'; +$lang->group->package->measrecord = 'Measrecord'; +$lang->group->package->manageAuditPlan = 'Manage Audit Plan'; +$lang->group->package->nc = 'Nc'; +$lang->group->package->meeting = 'Meeting'; +$lang->group->package->trainPlan = 'Train Plan'; +$lang->group->package->gapAnalysis = 'Gap Analysis'; +$lang->group->package->workflowField = 'Workflow Field'; +$lang->group->package->workflowAction = 'Workflow Action'; +$lang->group->package->workflowLayout = 'Workflow Layout'; +$lang->group->package->workflowCondition = 'Workflow Condition'; +$lang->group->package->workflowLinkage = 'Workflow Linkage'; +$lang->group->package->workflowHook = 'Workflow Hook'; +$lang->group->package->workflowLabel = 'Workflow Label'; +$lang->group->package->workflowReport = 'Workflow Report'; +$lang->group->package->workflowDatasource = 'Workflow Datasource'; +$lang->group->package->workflowRule = 'Workflow Rule'; +$lang->group->package->workflow = 'Workflow'; +$lang->group->package->downloadCode = 'Download Code'; +$lang->group->package->dev = 'Dev'; +$lang->group->package->browseCodeIssue = 'Review List'; +$lang->group->package->editor = 'Editor'; +$lang->group->package->serverLink = 'Server Link'; +$lang->group->package->browseMR = 'MR List'; +$lang->group->package->managePriv = 'Manage Priv'; +$lang->group->package->dept = 'Dept'; +$lang->group->package->group = 'Group'; +$lang->group->package->user = 'User'; +$lang->group->package->extension = 'Extension'; +$lang->group->package->message = 'Message'; +$lang->group->package->mail = 'Mail'; +$lang->group->package->webhook = 'Webhook'; +$lang->group->package->gitlab = 'Gitlab'; +$lang->group->package->sms = 'Sms'; +$lang->group->package->gogs = 'Gogs'; +$lang->group->package->gitea = 'Gitea'; +$lang->group->package->sonarqube = 'Sonarqube'; +$lang->group->package->repoRules = 'Repo Rules'; +$lang->group->package->browseJob = 'PipeLine List'; +$lang->group->package->manageJob = 'Manage PipeLine'; +$lang->group->package->manageMR = 'Manage MR'; +$lang->group->package->backup = 'Backup'; +$lang->group->package->trash = 'Trash'; +$lang->group->package->security = 'Security'; +$lang->group->package->cron = 'Cron'; +$lang->group->package->ldap = 'Ldap'; +$lang->group->package->chat = 'Chat'; +$lang->group->package->jenkins = 'Jenkins'; +$lang->group->package->systemSetting = 'System Setting'; +$lang->group->package->search = 'Search'; +$lang->group->package->comment = 'Comment'; +$lang->group->package->module = 'Module'; +$lang->group->package->file = 'File'; +$lang->group->package->commonEffort = 'Common Effort'; +$lang->group->package->docTemplate = 'Doc Template'; +$lang->group->package->importStoryLib = 'Import Story Lib'; +$lang->group->package->projectStakeholder = 'Project Stakeholder'; +$lang->group->package->projectBuild = 'Project Build'; +$lang->group->package->importCaseLib = 'Import Case Lib'; +$lang->group->package->commonSetting = 'Common Setting'; +$lang->group->package->stageSetting = 'Stage Setting'; +$lang->group->package->classify = 'Classify'; +$lang->group->package->cmcl = 'Cmcl'; +$lang->group->package->auditcl = 'Auditcl'; +$lang->group->package->reviewcl = 'Reviewcl'; +$lang->group->package->process = 'Process'; +$lang->group->package->activity = 'Activity'; +$lang->group->package->zoutput = 'Zoutput'; +$lang->group->package->custom = 'Custom'; +$lang->group->package->cmcl = 'Cmcl'; +$lang->group->package->measurement = 'Measurement'; +$lang->group->package->usercl = 'Usercl'; +$lang->group->package->meetingroom = 'Meetingroom'; +$lang->group->package->sqlBuilder = 'Sql Builder'; +$lang->group->package->designSetting = 'Design Setting'; +$lang->group->package->kanbanSpace = 'Kanban Space'; +$lang->group->package->deleteKanbanSpace = 'Delete Kanban Space'; +$lang->group->package->browseKanban = 'Browse Kanban'; +$lang->group->package->manageKanban = 'Manage Kanban'; +$lang->group->package->deleteKanban = 'Delete Kanban'; +$lang->group->package->deleteZANode = 'Delete Z A Node'; +$lang->group->package->autotesting = 'Autotesting'; +$lang->group->package->executionTesting = 'Execution Testing'; +$lang->group->package->manageEffort = 'Manage Effort'; +$lang->group->package->projectTesting = 'Project Testing'; +$lang->group->package->track = 'Track'; +$lang->group->package->workflowRelation = 'Workflow Relation'; +$lang->group->package->template = 'Template'; +$lang->group->package->table = 'Table'; +$lang->group->package->automation = 'Automation'; +$lang->group->package->git = 'Git'; +$lang->group->package->subversion = 'Subversion'; +$lang->group->package->ping = 'Ping'; +$lang->group->package->review = 'Review'; +$lang->group->package->manageProjectRelease = 'Manage Project Release'; +$lang->group->package->deleteProjectRelease = 'Delete Project Release'; +$lang->group->package->importProjectRelease = 'Import Project Release'; +$lang->group->package->projectReleaseNotify = 'Project Release Notify'; +$lang->group->package->gantt = 'Gantt'; +$lang->group->package->executionRelation = 'Execution Relation'; +$lang->group->package->browseBuild = 'Browse Build'; +$lang->group->package->browseExecutionStory = 'Browse Execution Story'; +$lang->group->package->manageCard = 'Manage Card'; +$lang->group->package->browseProjectStory = 'Browse Project Story'; +$lang->group->package->chckAuditPlan = 'Chck Audit Plan'; +$lang->group->package->reviewAssess = 'Review Assess'; +$lang->group->package->reviewAudit = 'Review Audit'; +$lang->group->package->dimension = 'Dimension'; +$lang->group->package->browseScreen = 'Browse Screen'; +$lang->group->package->manageScreen = 'Manage Screen'; +$lang->group->package->deleteScreen = 'Delete Screen'; +$lang->group->package->screenDataPermission = 'Screen Data Permission'; +$lang->group->package->browsePivot = 'Browse Pivot'; +$lang->group->package->designPivot = 'Design Pivot'; +$lang->group->package->exportPivot = 'Export Pivot'; +$lang->group->package->pivotDataPermission = 'Pivot Data Permission'; +$lang->group->package->browseChart = 'Browse Chart'; +$lang->group->package->designChart = 'Design Chart'; +$lang->group->package->exportChart = 'Export Chart'; +$lang->group->package->browseDataview = 'Browse Dataview'; +$lang->group->package->manageDataview = 'Manage Dataview'; +$lang->group->package->deleteDataview = 'Delete Dataview'; +$lang->group->package->browseDoc = 'Browse Doc'; +$lang->group->package->manageDoc = 'Manage Doc'; +$lang->group->package->deleteDoc = 'Delete Doc'; +$lang->group->package->exportDoc = 'Export Doc'; +$lang->group->package->browseAPI = 'Browse API'; +$lang->group->package->manageAPI = 'Manage API'; +$lang->group->package->exportAPI = 'Export API'; +$lang->group->package->deleteAPI = 'Delete API'; +$lang->group->package->callAPI = 'Call API'; +$lang->group->package->scene = 'Scene'; +$lang->group->package->executionTree = 'Execution Tree'; +$lang->group->package->taskEffort = 'Task Effort'; +$lang->group->package->taskCalendar = 'Task Calendar'; +$lang->group->package->code = 'Code'; +$lang->group->package->repo = 'Repository'; +$lang->group->package->browseDemandPool = 'Browse Demand Pool'; +$lang->group->package->browseCharter = 'Browse Charter'; +$lang->group->package->manageDemandPool = 'Manage Demand Pool'; +$lang->group->package->manageCharter = 'Manage Charter'; +$lang->group->package->reviewCharter = 'Review Charter'; +$lang->group->package->browseDemand = 'Browse Demand'; +$lang->group->package->manageDemand = 'Manage Demand'; +$lang->group->package->reviewDemand = 'Review Demand'; +$lang->group->package->importDemand = 'Import Demand'; +$lang->group->package->deleteDemand = 'Delete Demand'; +$lang->group->package->admin = 'Admin'; +$lang->group->package->browseRoadmap = 'Browse Roadmap'; +$lang->group->package->manageRoadmap = 'Manage Roadmap'; +$lang->group->package->deleteRoadmap = 'Delete Roadmap'; +$lang->group->package->deleteDemandPool = 'Delete Demand Pool'; +$lang->group->package->exportDatatable = 'Export Datatable'; +$lang->group->package->ai = 'AI'; +$lang->group->package->executePrompt = 'Execute Prompts'; +$lang->group->package->manageLLM = 'Manage Models'; +$lang->group->package->browsePrompt = 'Browse Prompts'; +$lang->group->package->managePrompt = 'Manage and Design Prompts'; +$lang->group->package->publishPrompt = 'Publish and Unpublish Prompts'; +$lang->group->package->deletePrompt = 'Delete Prompts'; +$lang->group->package->dashboard = 'Dashboard'; +$lang->group->package->resource = 'Resource'; +$lang->group->package->manageServiceProvider = 'Provider'; +$lang->group->package->manageCity = 'City'; +$lang->group->package->manageCPU = 'Cpu Brand'; +$lang->group->package->manageOS = 'OS Version'; +$lang->group->package->browseRepo = 'Repo List'; +$lang->group->package->manageRepo = 'Manage Repository'; +$lang->group->package->deleteRepo = 'Delete Repository'; +$lang->group->package->browseCode = 'Code View'; +$lang->group->package->manageCode = 'Manage Code'; +$lang->group->package->CodeIssule = 'Review'; +$lang->group->package->manageCodeIssue = 'Manage Review'; +$lang->group->package->deleteCodeIssue = 'Delete Review'; +$lang->group->package->deleteMR = 'Delete MR'; +$lang->group->package->deleteJob = 'Delete PipeLine'; +$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->trainPracticeLib = 'Practice Library'; +$lang->group->package->other = 'Other'; + include (dirname(__FILE__) . '/resource.php'); diff --git a/module/group/lang/zh-cn.php b/module/group/lang/zh-cn.php index f19cc75529..f3acb6a051 100644 --- a/module/group/lang/zh-cn.php +++ b/module/group/lang/zh-cn.php @@ -203,4 +203,384 @@ $lang->group->versions['1_2'] = '禅道1.2'; $lang->group->versions['1_1'] = '禅道1.1'; $lang->group->versions['1_0_1'] = '禅道1.0.1'; +$lang->group->package = new stdclass(); +$lang->group->package->browseTodo = '浏览待办'; +$lang->group->package->manageTodo = '创建维护待办'; +$lang->group->package->deleteTodo = '删除待办'; +$lang->group->package->importTodo = '导入导出待办'; +$lang->group->package->manageContact = '维护联系人'; +$lang->group->package->profile = '个人档案'; +$lang->group->package->preference = '个性化设置'; +$lang->group->package->browseProgram = '浏览项目集'; +$lang->group->package->manageProgram = '创建维护项目集'; +$lang->group->package->deleteProgram = '删除项目集'; +$lang->group->package->invest = '投入人员'; +$lang->group->package->accessible = '可访问人员'; +$lang->group->package->whitelist = '维护白名单'; +$lang->group->package->stakeholder = '维护干系人'; +$lang->group->package->my = '浏览地盘'; +$lang->group->package->browseProduct = '浏览产品'; +$lang->group->package->manageProductLine = '创建维护产品线'; +$lang->group->package->createProduct = '创建维护产品'; +$lang->group->package->importProduct = '导入导出产品'; +$lang->group->package->productWhitelist = '白名单管理'; +$lang->group->package->branch = '分支管理'; +$lang->group->package->browseStory = '浏览研发需求'; +$lang->group->package->manageStory = '创建维护研发需求'; +$lang->group->package->importStory = '导入导出研发需求'; +$lang->group->package->deleteStory = '删除研发需求'; +$lang->group->package->reviewStory = '评审研发需求'; +$lang->group->package->deleteProduct = '删除产品'; +$lang->group->package->browseRequirement = '浏览用户需求'; +$lang->group->package->manageRequirement = '创建维护用户需求'; +$lang->group->package->importRequirement = '导入导出用户需求'; +$lang->group->package->deleteRequirement = '删除用户需求'; +$lang->group->package->reviewRequirement = '评审用户需求'; +$lang->group->package->browseProductPlan = '浏览产品计划'; +$lang->group->package->manageProductPlan = '创建维护产品计划'; +$lang->group->package->deleteProductPlan = '删除产品计划'; +$lang->group->package->browseRelease = '浏览发布'; +$lang->group->package->manageRelease = '创建维护发布'; +$lang->group->package->importRelease = '导入导出发布'; +$lang->group->package->deleteRelease = '删除发布'; +$lang->group->package->releaseNotify = '发布通知'; +$lang->group->package->projectPlan = '项目计划'; +$lang->group->package->manageProjectStory = '维护项目研发需求'; +$lang->group->package->browseProject = '浏览项目'; +$lang->group->package->manageProject = '创建维护项目'; +$lang->group->package->importProject = '导入导出项目'; +$lang->group->package->projectTeam = '团队权限'; +$lang->group->package->deleteProject = '删除项目'; +$lang->group->package->projectWhitelist = '项目白名单'; +$lang->group->package->browseExecution = '浏览执行'; +$lang->group->package->manageExecution = '创建维护执行'; +$lang->group->package->deleteExecution = '删除执行'; +$lang->group->package->importExecution = '导入导出执行'; +$lang->group->package->executionWhitelist = '执行白名单'; +$lang->group->package->gantt = '执行甘特图'; +$lang->group->package->browseTask = '浏览任务'; +$lang->group->package->manageTask = '创建维护任务'; +$lang->group->package->deleteTask = '删除任务'; +$lang->group->package->importTask = '导入导出任务'; +$lang->group->package->executionTeam = '执行团队'; +$lang->group->package->kanban = '看板'; +$lang->group->package->groupView = '分组视图'; +$lang->group->package->burndown = '燃尽图'; +$lang->group->package->cfd = '累积流图'; +$lang->group->package->manageExecutionStory = '维护执行研发需求'; +$lang->group->package->manageExecutionEffort = '维护执行日志'; +$lang->group->package->manageBuild = '创建维护版本'; +$lang->group->package->deleteBuild = '删除版本'; +$lang->group->package->browseStoryLib = '浏览需求库'; +$lang->group->package->manageStoryLib = '创建维护需求库'; +$lang->group->package->deleteStoryLib = '删除需求库'; +$lang->group->package->reviewStoryLib = '评审需求库'; +$lang->group->package->browseIssueLib = '浏览问题库'; +$lang->group->package->manageIssueLib = '创建编辑问题库'; +$lang->group->package->deleteIssueLib = '删除问题库'; +$lang->group->package->reviewIssue = '审批问题'; +$lang->group->package->browseRiskLib = '浏览风险库'; +$lang->group->package->manageRiskLib = '创建维护风险库'; +$lang->group->package->deleteRiskLib = '删除风险库'; +$lang->group->package->reivewRisk = '审批风险'; +$lang->group->package->browseOpportunityLib = '浏览机会库'; +$lang->group->package->manageOpportunityLib = '创建维护机会库'; +$lang->group->package->deleteOpportunityLib = '删除机会库'; +$lang->group->package->reviewOpportunity = '审批机会'; +$lang->group->package->browsePracticeLib = '浏览最佳实践库'; +$lang->group->package->managePracticeLib = '创建维护最佳实践库'; +$lang->group->package->deletePracticeLib = '删除最佳实践库'; +$lang->group->package->reviewPractice = '审批最佳实践'; +$lang->group->package->browseComponentLib = '浏览组件库'; +$lang->group->package->manageComponentLib = '创建维护组件库'; +$lang->group->package->deleteComponentLib = '删除组件库'; +$lang->group->package->reviewComponent = '审批组件'; +$lang->group->package->browseCaseLib = '浏览用例库'; +$lang->group->package->manageCaseLib = '创建维护用例库'; +$lang->group->package->deleteCaseLib = '删除用例库'; +$lang->group->package->importCaseLib = '导入导出用例库'; +$lang->group->package->importToCaseLib = '导入到用例库'; +$lang->group->package->officeApproval = '办公审批'; +$lang->group->package->attend = '个人考勤'; +$lang->group->package->officeSetting = '办公设置'; +$lang->group->package->dataPermission = '数据权限'; +$lang->group->package->leave = '个人请假'; +$lang->group->package->makeup = '个人补班'; +$lang->group->package->overtime = '个人加班'; +$lang->group->package->lieu = '个人调休'; +$lang->group->package->holiday = '节假日'; +$lang->group->package->exportOffice = '办公导出'; +$lang->group->package->browseFeedback = '浏览反馈'; +$lang->group->package->manageFeedback = '创建维护反馈'; +$lang->group->package->importFeedback = '导入导出反馈'; +$lang->group->package->manageFeedback = '处理反馈'; +$lang->group->package->faq = 'FAQ'; +$lang->group->package->browseTicket = '浏览工单'; +$lang->group->package->manageTicket = '创建维护工单'; +$lang->group->package->importTicket = '导入导出工单'; +$lang->group->package->deleteFeedback = '删除反馈'; +$lang->group->package->deleteTIcket = '删除工单'; +$lang->group->package->feedbackPriv = '设置反馈权限'; +$lang->group->package->browseCourse = '课程'; +$lang->group->package->manageTrainCourse = '后台管理'; +$lang->group->package->system = '平台'; +$lang->group->package->host = '主机管理'; +$lang->group->package->serverRoom = '机房管理'; +$lang->group->package->account = '账号管理'; +$lang->group->package->domain = '域名管理'; +$lang->group->package->service = '服务管理'; +$lang->group->package->deployPlan = '运维计划'; +$lang->group->package->deployScope = '上线范围'; +$lang->group->package->deployStep = '上线步骤'; +$lang->group->package->deployCase = '上线用例'; +$lang->group->package->qaIndex = '测试仪表盘'; +$lang->group->package->browseBug = '浏览Bug'; +$lang->group->package->manageBug = '创建维护Bug'; +$lang->group->package->deleteBug = '删除Bug'; +$lang->group->package->importBug = '导入导出Bug'; +$lang->group->package->browseCase = '浏览用例'; +$lang->group->package->manageCase = '创建维护用例'; +$lang->group->package->importCase = '导入导出用例'; +$lang->group->package->deleteCase = '删除用例'; +$lang->group->package->reviewCase = '评审用例'; +$lang->group->package->browseTesttask = '浏览测试单'; +$lang->group->package->manageTesttask = '创建维护测试单'; +$lang->group->package->deleteTesttask = '删除测试单'; +$lang->group->package->unitTest = '单元测试'; +$lang->group->package->testsuite = '浏览套件'; +$lang->group->package->manageTestsuite = '创建维护套件'; +$lang->group->package->deleteTestsuite = '删除套件'; +$lang->group->package->browseTestreport = '浏览测试报告'; +$lang->group->package->manageTestreport = '创建维护测试报告'; +$lang->group->package->deleteTestreport = '删除测试报告'; +$lang->group->package->importTestreport = '导入导出测试报告'; +$lang->group->package->browseZAHost = '浏览宿主机'; +$lang->group->package->manageZAHost = '创建维护宿主机'; +$lang->group->package->deleteZAHost = '删除宿主机'; +$lang->group->package->image = '镜像'; +$lang->group->package->browseZANode = '浏览执行节点'; +$lang->group->package->manageZANode = '创建维护执行节点'; +$lang->group->package->importZANode = '导入导出执行节点'; +$lang->group->package->snapshot = '快照'; +$lang->group->package->companyTeam = '浏览组织团队'; +$lang->group->package->companyCalendar = '浏览组织日程'; +$lang->group->package->companyEffort = '浏览组织日志'; +$lang->group->package->companyDynamic = '浏览组织动态'; +$lang->group->package->companySetting = '维护公司信息'; +$lang->group->package->companyDataPermission = '部门数据权限'; +$lang->group->package->programPlan = '项目阶段'; +$lang->group->package->browseDesign = '浏览设计'; +$lang->group->package->manageDesign = '创建维护设计'; +$lang->group->package->deleteDesign = '删除设计'; +$lang->group->package->manageReview = '维护基线评审'; +$lang->group->package->manageIssue = '维护问题'; +$lang->group->package->projectSetting = '项目配置'; +$lang->group->package->browseProjectRelease = '浏览项目发布'; +$lang->group->package->projectWeekly = '项目周报'; +$lang->group->package->projectMilestone = '项目里程碑报告'; +$lang->group->package->researchPlan = '调研计划'; +$lang->group->package->researchReport = '调研报告'; +$lang->group->package->budget = '费用估算'; +$lang->group->package->workEstimation = '工作量估算'; +$lang->group->package->durationEstimation = '项目工期估算'; +$lang->group->package->browseIssue = '浏览问题'; +$lang->group->package->manageIssue = '创建维护问题'; +$lang->group->package->importIssue = '导入导出问题'; +$lang->group->package->deleteIssue = '删除问题'; +$lang->group->package->importIssueLib = '导入问题库'; +$lang->group->package->browseRisk = '浏览风险'; +$lang->group->package->manageRisk = '创建维护风险'; +$lang->group->package->importRisk = '导入导出风险'; +$lang->group->package->deleteRisk = '删除风险'; +$lang->group->package->importRiskLib = '导入风险库'; +$lang->group->package->browseOpportunity = '浏览机会'; +$lang->group->package->manageOpportunity = '创建维护机会'; +$lang->group->package->deleteOpportunity = '删除机会'; +$lang->group->package->importOpportunityLib = '导入机会库'; +$lang->group->package->importOpportunity = '导入导出机会'; +$lang->group->package->pssp = '项目过程'; +$lang->group->package->measrecord = '项目度量'; +$lang->group->package->manageAuditPlan = '维护质量保证计划'; +$lang->group->package->nc = '不符合项'; +$lang->group->package->meeting = '会议'; +$lang->group->package->trainPlan = '培训计划'; +$lang->group->package->gapAnalysis = '能力差距分析'; +$lang->group->package->workflowField = '工作流字段'; +$lang->group->package->workflowAction = '工作流动作'; +$lang->group->package->workflowLayout = '工作流界面'; +$lang->group->package->workflowCondition = '工作流触发条件'; +$lang->group->package->workflowLinkage = '工作流界面联动'; +$lang->group->package->workflowHook = '工作流扩展动作'; +$lang->group->package->workflowLabel = '工作流标签'; +$lang->group->package->workflowReport = '工作流报表'; +$lang->group->package->workflowDatasource = '工作流数据源'; +$lang->group->package->workflowRule = '工作流验证规则'; +$lang->group->package->workflow = '工作流'; +$lang->group->package->downloadCode = '下载代码'; +$lang->group->package->dev = '二次开发'; +$lang->group->package->browseCodeIssue = '浏览代码问题'; +$lang->group->package->editor = '编辑器'; +$lang->group->package->serverLink = '接入禅道'; +$lang->group->package->browseMR = '浏览合并请求'; +$lang->group->package->managePriv = '权限后台设置'; +$lang->group->package->dept = '部门结构'; +$lang->group->package->group = '权限分组'; +$lang->group->package->user = '维护用户'; +$lang->group->package->extension = '插件管理'; +$lang->group->package->message = '通知设置'; +$lang->group->package->mail = '邮件配置'; +$lang->group->package->webhook = 'Webhook'; +$lang->group->package->gitlab = 'GitLab'; +$lang->group->package->sms = '短信配置'; +$lang->group->package->gogs = 'Gogs'; +$lang->group->package->gitea = 'Gitea'; +$lang->group->package->sonarqube = 'SonarQube'; +$lang->group->package->repoRules = '指令'; +$lang->group->package->browseJob = '浏览流水线'; +$lang->group->package->manageJob = '创建维护流水线'; +$lang->group->package->manageMR = '创建维护合并请求'; +$lang->group->package->backup = '系统备份'; +$lang->group->package->trash = '回收站'; +$lang->group->package->security = '安全'; +$lang->group->package->cron = '定时'; +$lang->group->package->ldap = 'LDAP'; +$lang->group->package->chat = '聊天'; +$lang->group->package->jenkins = 'jenkins'; +$lang->group->package->systemSetting = '系统设置'; +$lang->group->package->search = '搜索'; +$lang->group->package->comment = '备注'; +$lang->group->package->module = '模块维护'; +$lang->group->package->file = '附件'; +$lang->group->package->commonEffort = '通用日志'; +$lang->group->package->docTemplate = '文档模板'; +$lang->group->package->importStoryLib = '导入需求库'; +$lang->group->package->projectStakeholder = '项目干系人'; +$lang->group->package->projectBuild = '项目版本'; +$lang->group->package->importCaseLib = '导入用例库'; +$lang->group->package->commonSetting = '通用配置'; +$lang->group->package->stageSetting = '阶段列表设置'; +$lang->group->package->classify = '分类项设置'; +$lang->group->package->cmcl = '审计设置'; +$lang->group->package->auditcl = 'QA检查项设置'; +$lang->group->package->reviewcl = '评审设置'; +$lang->group->package->process = '过程设置'; +$lang->group->package->activity = '活动设置'; +$lang->group->package->zoutput = '文档设置'; +$lang->group->package->custom = '自定义配置'; +$lang->group->package->cmcl = '审批设置'; +$lang->group->package->measurement = '度量设置'; +$lang->group->package->usercl = '用户设置'; +$lang->group->package->meetingroom = '会议室设置'; +$lang->group->package->sqlBuilder = 'sql构建器'; +$lang->group->package->designSetting = '设计设置'; +$lang->group->package->kanbanSpace = '维护空间'; +$lang->group->package->deleteKanbanSpace = '删除空间'; +$lang->group->package->browseKanban = '浏览看板'; +$lang->group->package->manageKanban = '创建维护看板'; +$lang->group->package->deleteKanban = '删除看板'; +$lang->group->package->deleteZANode = '删除执行节点'; +$lang->group->package->autotesting = '自动化测试'; +$lang->group->package->executionTesting = '执行测试'; +$lang->group->package->manageEffort = '维护日志'; +$lang->group->package->projectTesting = '项目测试'; +$lang->group->package->track = '矩阵'; +$lang->group->package->workflowRelation = '工作流跨流程设置'; +$lang->group->package->template = '模板'; +$lang->group->package->table = '数据表格'; +$lang->group->package->automation = '自动化'; +$lang->group->package->git = 'Git'; +$lang->group->package->subversion = 'Subversion'; +$lang->group->package->ping = '防超时'; +$lang->group->package->review = '审批'; +$lang->group->package->manageProjectRelease = '创建维护项目发布'; +$lang->group->package->deleteProjectRelease = '删除项目发布'; +$lang->group->package->importProjectRelease = '导入导出项目发布'; +$lang->group->package->projectReleaseNotify = '项目发布通知'; +$lang->group->package->gantt = '阶段甘特图'; +$lang->group->package->executionRelation = '维护任务关系'; +$lang->group->package->browseBuild = '浏览版本'; +$lang->group->package->browseExecutionStory = '浏览执行研发需求'; +$lang->group->package->manageCard = '维护卡片'; +$lang->group->package->browseProjectStory = '浏览项目研发需求'; +$lang->group->package->chckAuditPlan = '检查质量保证计划'; +$lang->group->package->reviewAssess = '评审基线评审'; +$lang->group->package->reviewAudit = '审计基线评审'; +$lang->group->package->dimension = '管理维度'; +$lang->group->package->browseScreen = '浏览大屏'; +$lang->group->package->manageScreen = '创建维护大屏'; +$lang->group->package->deleteScreen = '删除大屏'; +$lang->group->package->screenDataPermission = '大屏数据权限'; +$lang->group->package->browsePivot = '浏览透视表'; +$lang->group->package->designPivot = '设计透视表'; +$lang->group->package->exportPivot = '导出透视表'; +$lang->group->package->pivotDataPermission = '透视表数据权限'; +$lang->group->package->browseChart = '浏览图表'; +$lang->group->package->designChart = '设计图表'; +$lang->group->package->exportChart = '导出图表'; +$lang->group->package->browseDataview = '浏览数据表'; +$lang->group->package->manageDataview = '创建维护数据表'; +$lang->group->package->deleteDataview = '删除数据表'; +$lang->group->package->browseDoc = '浏览文档'; +$lang->group->package->manageDoc = '创建与维护文档'; +$lang->group->package->deleteDoc = '删除文档'; +$lang->group->package->exportDoc = '导出文档'; +$lang->group->package->browseAPI = '浏览接口空间'; +$lang->group->package->manageAPI = '创建维护接口'; +$lang->group->package->exportAPI = '导出接口'; +$lang->group->package->deleteAPI = '删除接口'; +$lang->group->package->callAPI = '接口调用'; +$lang->group->package->scene = '维护场景'; +$lang->group->package->executionTree = '树状图'; +$lang->group->package->taskEffort = '工时明细表'; +$lang->group->package->taskCalendar = '任务日历'; +$lang->group->package->code = '代码'; +$lang->group->package->repo = '代码库'; +$lang->group->package->browseDemandPool = '浏览需求池'; +$lang->group->package->browseCharter = '浏览立项'; +$lang->group->package->manageDemandPool = '创建维护需求池'; +$lang->group->package->manageCharter = '创建维护立项'; +$lang->group->package->reviewCharter = '立项审批'; +$lang->group->package->browseDemand = '浏览需求'; +$lang->group->package->manageDemand = '创建维护需求'; +$lang->group->package->reviewDemand = '评审需求'; +$lang->group->package->importDemand = '导入导出需求'; +$lang->group->package->deleteDemand = '删除需求'; +$lang->group->package->admin = '后台'; +$lang->group->package->browseRoadmap = '浏览产品路标'; +$lang->group->package->manageRoadmap = '创建维护产品路标'; +$lang->group->package->deleteRoadmap = '删除产品路标'; +$lang->group->package->deleteDemandPool = '删除需求池'; +$lang->group->package->exportDatatable = '导出数据表'; +$lang->group->package->ai = 'AI'; +$lang->group->package->executePrompt = '执行提词'; +$lang->group->package->manageLLM = '语言模型管理'; +$lang->group->package->browsePrompt = '浏览提词'; +$lang->group->package->managePrompt = '维护和设计提词'; +$lang->group->package->publishPrompt = '提词上下架'; +$lang->group->package->deletePrompt = '删除提词'; +$lang->group->package->dashboard = '仪表盘'; +$lang->group->package->resource = '资源'; +$lang->group->package->manageServiceProvider = '服务商管理'; +$lang->group->package->manageCity = '城市管理'; +$lang->group->package->manageCPU = 'CPU管理'; +$lang->group->package->manageOS = '系统版本管理'; +$lang->group->package->browseRepo = '浏览代码库'; +$lang->group->package->manageRepo = '创建维护代码库'; +$lang->group->package->deleteRepo = '删除代码库'; +$lang->group->package->browseCode = '浏览代码'; +$lang->group->package->manageCode = '维护代码'; +$lang->group->package->CodeIssule = '问题'; +$lang->group->package->manageCodeIssue = '创建维护代码问题'; +$lang->group->package->deleteCodeIssue = '删除代码问题'; +$lang->group->package->deleteMR = '删除合并请求'; +$lang->group->package->deleteJob = '删除流水线'; +$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->trainPracticeLib = '实践库'; +$lang->group->package->other = '其他'; + include (dirname(__FILE__) . '/resource.php'); diff --git a/module/group/model.php b/module/group/model.php index c656693f34..b62f2b0925 100644 --- a/module/group/model.php +++ b/module/group/model.php @@ -412,36 +412,15 @@ class groupModel extends model * @access public * @return bool */ - public function updatePrivByGroup($groupID, $menu, $version) + public function updatePrivByGroup($groupID, $nav, $version) { /* Delete old. */ - /* Set priv when have version. */ - if($version) - { - $noCheckeds = trim($this->post->noChecked, ','); - if($noCheckeds) - { - $noCheckeds = explode(',', $noCheckeds); - foreach($noCheckeds as $noChecked) - { - /* Delete no checked priv*/ - list($module, $method) = explode('-', $noChecked); - $this->dao->delete()->from(TABLE_GROUPPRIV)->where('`group`')->eq($groupID)->andWhere('module')->eq($module)->andWhere('method')->eq($method)->exec(); - } - } - } - else - { - $privs = !empty($menu) ? $this->getPrivsListByView($menu) : array(); - $privs = !empty($menu) ? $this->getCustomPrivs($menu, $privs) : array(); - if(!empty($privs) or empty($menu)) - { - $this->dao->delete()->from(TABLE_GROUPPRIV) - ->where('`group`')->eq($groupID) - ->beginIF(!empty($menu))->andWhere("CONCAT(module, '-', method)")->in(array_keys($privs))->fi() - ->exec(); - } - } + $privs = array_keys($this->getPrivListByNav($nav, $version)); + + $this->dao->delete()->from(TABLE_GROUPPRIV) + ->where('`group`')->eq($groupID) + ->beginIF(!empty($nav))->andWhere("CONCAT(module, '-', method)")->in($privs)->fi() + ->exec(); $data = new stdclass(); $data->group = $groupID; @@ -449,66 +428,59 @@ class groupModel extends model $data->method = 'index'; $this->dao->replace(TABLE_GROUPPRIV)->data($data)->exec(); + $hasDepend = false; + /* Insert new. */ if($this->post->actions) { - $depentedPrivs = array(); - $privs = array(); + $dependPrivs = array(); + foreach($this->config->group->package as $packageCode => $packageData) + { + foreach($packageData->privs as $privCode => $priv) + { + if(isset($priv['depend'])) $dependPrivs[$privCode] = $priv['depend']; + } + } + + $insertPrivs = array(); foreach($this->post->actions as $moduleName => $moduleActions) { if(empty($moduleName) or empty($moduleActions)) continue; - $privList = array(); - foreach($moduleActions as $actionName) $privList["{$moduleName}-{$actionName}"] = "{$moduleName}-{$actionName}"; - - $relationPrivs = $this->getPrivRelationsByIdList($privList, 'depend', 'idGroup'); - $depentedPrivs = array_merge($depentedPrivs, array_keys(zget($relationPrivs, 'depend', array()))); foreach($moduleActions as $actionName) { - $data = new stdclass(); + $data = new stdclass(); $data->group = $groupID; $data->module = $moduleName; $data->method = $actionName; - $privs[] = $data; + + $insertPrivs["{$moduleName}-{$actionName}"] = $data; } } - $this->insertPrivs($privs); - - foreach($depentedPrivs as $index => $priv) + foreach($insertPrivs as $key => $priv) { - list($module, $method) = explode('-', $priv); - - if(!empty($_POST['actions'][$module]) and in_array($method, $_POST['actions'][$module])) + foreach($dependPrivs[$key] as $depend) { - unset($depentedPrivs[$index]); - continue; + if(isset($insertPrivs[$depend])) continue; + + list($moduleName, $methodName) = explode('-', $depend); + + $data = new stdclass(); + $data->group = $groupID; + $data->module = $moduleName; + $data->method = $methodName; + + $insertPrivs[$depend] = $data; + + $hasDepend = true; } - $data = new stdclass(); - $data->group = $groupID; - $data->module = $module; - $data->method = $method; - $this->dao->replace(TABLE_GROUPPRIV)->data($data)->exec(); } - $recommendPrivs = zget($_POST, 'recommendPrivs', array()); - foreach($recommendPrivs as $moduleMethod => $priv) - { - list($module, $method) = explode('-', $moduleMethod); - - if(in_array($method, zget($_POST['actions'], $module, array()))) - { - unset($recommendPrivs[$moduleMethod]); - continue; - } - $data = new stdclass(); - $data->group = $groupID; - $data->module = $module; - $data->method = $method; - $this->dao->replace(TABLE_GROUPPRIV)->data($data)->exec(); - } + $this->insertPrivs($insertPrivs); } - return !empty($depentedPrivs) ? true : false; + + return $hasDepend; } /** @@ -794,19 +766,21 @@ class groupModel extends model } /** - * Check menu have module + * Check nav have module. * - * @param string $menu + * @param string $nav * @param string $moduleName * @access public * @return void */ - public function checkMenuModule($menu, $moduleName) + public function checkNavModule($nav, $moduleName) { - if(empty($menu)) return true; - if($menu == 'general' and (isset($this->lang->navGroup->$moduleName) or isset($this->lang->mainNav->$moduleName))) return false; - if($menu != 'general' and !($moduleName == $menu or (isset($this->lang->navGroup->$moduleName) and $this->lang->navGroup->$moduleName == $menu))) return false; - if($menu == 'project' and strpos('caselib|testsuite|report', $moduleName) !== false) return false; + 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 == 'project' and strpos('caselib|testsuite|report', $moduleName) !== false) return false; + return true; } @@ -823,7 +797,7 @@ class groupModel extends model $modules = array(); foreach($this->lang->resource as $moduleName => $action) { - if($this->checkMenuModule($menu, $moduleName)) + if($this->checkNavModule($menu, $moduleName)) { $modules[$moduleName] = $moduleName; if($translateLang) @@ -1745,62 +1719,63 @@ class groupModel extends model } /** - * Get priv group by package. + * Get priv list by nav. * - * @param array $parentList + * @param string $nav + * @param string $version * @access public * @return array */ - public function getPrivByParent($parentList) + public function getPrivListByNav($nav = '', $version = '') { - return $this->dao->select('t1.*,t2.`key`,t2.value')->from(TABLE_PRIV)->alias('t1') - ->leftJoin(TABLE_PRIVLANG)->alias('t2')->on('t1.id=t2.objectID') - ->where('t1.parent')->in($parentList) - ->andWhere('t1.edition')->like("%,{$this->config->edition},%") - ->andWhere('t1.vision')->like("%,{$this->config->vision},%") - ->andWhere('t2.`objectType`')->eq('priv') - ->andWhere('t2.lang')->eq($this->app->getClientLang()) - ->orderBy('order_asc') - ->fetchAll('id'); - } + $privList = array(); + $allPrivs = array(); - /** - * Get privs list by module. - * - * @param string $view - * @param object $pager - * @access public - * @return array - */ - public function getPrivsListByView($view = '', $pager = null) - { - $modules = $this->getPrivManagerPairs('module', $view); - $modules = array_keys($modules); + /* Filter privs equal or greater than this version.*/ + if($version) $versionPrivs = $this->getPrivsAfterVersion($version); - $privs = $this->dao->select("t1.id, t1.module, t1.method, CONCAT(t1.module, '-', t1.method) AS action, IF(t3.type = 'module', 0, t1.parent) as parent, t1.order, t2.`key`, t2.`value`, t2.desc, IF(t3.type = 'module', t3.code, t4.code) as parentCode")->from(TABLE_PRIV)->alias('t1') - ->leftJoin(TABLE_PRIVLANG)->alias('t2')->on('t1.id=t2.objectID') - ->leftJoin(TABLE_PRIVMANAGER)->alias('t3')->on('t1.parent=t3.id') - ->leftJoin(TABLE_PRIVMANAGER)->alias('t4')->on('t3.parent=t4.id') - ->where('1=1') - ->andWhere('t2.lang')->eq($this->app->getClientLang()) - ->andWhere('t2.objectType')->eq('priv') - ->andWhere('((t3.type')->eq('package') - ->andWhere('t4.type')->eq('module') - ->beginIF(!empty($view) and $view != 'general')->andWhere('t4.code')->in($modules)->fi() - ->beginIF(!empty($view) and $view == 'general')->andWhere('t4.parent')->eq('0')->fi() - ->markRight(1) - ->orWhere('(t3.type')->eq('module') - ->andWhere('t4.type')->eq('view') - ->beginIF(!empty($view) and $view != 'general')->andWhere('t3.code')->in($modules)->fi() - ->beginIF(!empty($view) and $view == 'general')->andWhere('t3.parent')->eq('0')->fi() - ->markRight(2) - ->andWhere('t1.edition')->like("%,{$this->config->edition},%") - ->andWhere('t1.vision')->like("%,{$this->config->vision},%") - ->orderBy("t3.order asc, `order` asc") - ->page($pager) - ->fetchGroup('parentCode', 'action'); + /* Privs in package. */ + foreach($this->config->group->package as $packageCode => $packageData) + { + foreach($packageData->privs as $privCode => $priv) + { + list($moduleName, $methodName) = explode('-', $privCode); + $allPrivs[$privCode] = $privCode; + + 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 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; + $priv = (object)array('subset' => $packageData->subset, 'package' => $packageCode, 'module' => $moduleName, 'method' => $methodName, 'selected' => false, 'name' => $this->lang->$moduleName->$methodLang); + + $privList[$privCode] = $priv; + } + } + + if($version || ($nav && $nav != 'general')) return $privList; + + /* Privs in resource but not in package. */ + foreach($this->lang->resource as $module => $methodList) + { + foreach($methodList as $method => $methodLang) + { + if(isset($allPrivs["$module-$method"])) continue; + + if(!isset($this->lang->$module->$methodLang)) $this->app->loadLang($module); + $priv = (object)array('subset' => $module, 'package' => 'other', 'module' => $module, 'method' => $method, 'selected' => false, 'name' => $this->lang->$moduleName->$methodLang); + + $privList["$module-$method"] = $priv; + } + } - $privList = array(); foreach($modules as $module) $privList = array_merge($privList, zget($privs, $module, array())); return $privList; } @@ -2235,45 +2210,6 @@ class groupModel extends model foreach($data->orders as $privID => $order) $this->dao->update(TABLE_PRIV)->set('order')->eq($order)->where('id')->eq($privID)->exec(); } - /** - * Get priv manager pairs. - * - * @param string $type - * @param string $parent - * @access public - * @return array - */ - public function getPrivManagerPairs($type, $parent = '') - { - $parentType = $type == 'package' ? 'module' : 'view'; - $parent = !empty($parent) ? $this->dao->select('id as parent')->from(TABLE_PRIVMANAGER)->where('type')->eq($parentType)->andWhere('code')->eq($parent)->fetch('parent') : 0; - - $moduleLang = $type == 'module' ? $this->getMenuModules('', true) : array(); - - $managers = $this->dao->select('t1.id,t1.code,t2.key,t2.value') - ->from(TABLE_PRIVMANAGER)->alias('t1') - ->leftJoin(TABLE_PRIVLANG)->alias('t2')->on('t1.id=t2.objectID') - ->where('t1.type')->eq($type) - ->andWhere('t2.objectType')->eq('manager') - ->beginIF($type == 'module')->andWhere('code')->in(array_keys($moduleLang))->fi() - ->beginIF(!empty($parent))->andWhere('t1.parent')->eq($parent)->fi() - ->andWhere('t1.edition')->like("%,{$this->config->edition},%") - ->andWhere('t1.vision')->like("%,{$this->config->vision},%") - ->andWhere('t2.lang')->eq($this->app->getClientLang()) - ->orderBy('order asc') - ->fetchAll('id'); - - $pairs = array(); - foreach($managers as $managerID => $manager) - { - $key = $type == 'package' ? $managerID : $manager->code; - if(!empty($manager->value)) $pairs[$key] = $manager->value; - if(empty($manager->value) and $type == 'view') $pairs[$key] = $this->lang->{$manager->key}->common; - if(empty($manager->value) and $type == 'module') $pairs[$key] = isset($moduleLang[$manager->key]) ? $moduleLang[$manager->key] : $this->lang->{$manager->key}->common; - } - return $pairs; - } - /** * Transform priv lang. * @@ -2350,7 +2286,7 @@ class groupModel extends model foreach($methods as $method => $methodLabel) { if(isset($allPrivs[$module][$method])) continue; - if(!$this->checkMenuModule($menu, $module)) continue; + if(!$this->checkNavModule($menu, $module)) continue; if(!isset($this->lang->{$module}->{$methodLabel})) $this->app->loadLang($module); if(isset($this->lang->$module->menus) and $method == 'browse') continue; @@ -2375,69 +2311,54 @@ class groupModel extends model /** * Get related privs. * - * @param array $privList - * @param string $type - * @param array $excludePrivs - * @param array $recommedSelect + * @param array $allPrivList + * @param array $selectedPrivList + * @param array $recommendSelect * @access public * @return array */ - public function getRelatedPrivs($privList, $type = '', $excludePrivs = array(), $recommedSelect = array()) + public function getRelatedPrivs($allPrivList, $selectedPrivList, $recommendSelect = array()) { - $modulePairs = $this->getPrivManagerPairs('module'); - $modules = array_keys($modulePairs); - $privs = $this->dao->select("t1.relationPriv,t1.type,t2.parent,t2.module,t2.method,t2.`order`,t3.`key`,t3.value, IF(t4.type = 'module', t4.code, t5.code) as parentCode,CONCAT(t2.module, '-', t2.method) as moduleMethod")->from(TABLE_PRIVRELATION)->alias('t1') - ->leftJoin(TABLE_PRIV)->alias('t2')->on("t1.relationPriv=CONCAT(t2.module, '-', t2.method)") - ->leftJoin(TABLE_PRIVLANG)->alias('t3')->on('t2.id=t3.objectID') - ->leftJoin(TABLE_PRIVMANAGER)->alias('t4')->on('t2.parent=t4.id') - ->leftJoin(TABLE_PRIVMANAGER)->alias('t5')->on('t4.parent=t5.id') - ->where('t1.priv')->in($privList) - ->andWhere('t5.code')->in(array_keys($modulePairs)) - ->andWhere('(t1.relationPriv')->notin($privList) - - ->beginIF(!empty($recommedSelect)) - ->orWhere('(t1.relationPriv')->in($recommedSelect) - ->andWhere('t1.type')->eq('recommend')->markRight(1) - ->fi() - - ->markRight(1) - ->beginIF(!empty($excludePrivs))->andWhere('t1.relationPriv')->notin($excludePrivs)->fi() - ->beginIF(!empty($type))->andWhere('t1.type')->eq($type)->fi() - ->andWhere('t3.objectType')->eq('priv') - ->andWhere('t2.edition')->like("%,{$this->config->edition},%") - ->andWhere('t2.vision')->like("%,{$this->config->vision},%") - ->andWhere('((t4.type')->eq('package') - ->andWhere('t5.type')->eq('module') - ->beginIF(!empty($view) and $view != 'general')->andWhere('t5.code')->in($modules)->fi() - ->markRight(1) - ->orWhere('(t4.type')->eq('module') - ->andWhere('t5.type')->eq('view') - ->beginIF(!empty($view) and $view != 'general')->andWhere('t1.module')->in($modules)->fi() - ->markRight(2) - ->orderBy('t2.`order`_asc, t1.`type` desc') - ->fetchGroup('parentCode', 'relationPriv'); - - $relatedPrivs = array(); - foreach($modules as $module) $relatedPrivs = array_merge($relatedPrivs, zget($privs, $module, array())); - - $privList = empty($type) ? array('depend' => array(), 'recommend' => array()) : array($type => array()); - if(empty($relatedPrivs)) return $privList; - - $managerList = $this->dao->select('*')->from(TABLE_PRIVMANAGER)->fetchAll('id'); - $relatedPrivs = $this->transformPrivLang($relatedPrivs); - - foreach($relatedPrivs as $relatedPriv) + $privSubsets = array(); + $relatedPrivs = array('depend' => array(), 'recommend' => array()); + foreach($this->config->group->package as $packagePage => $package) { - $module = $managerList[$relatedPriv->parent]->type == 'package' ? $managerList[$managerList[$relatedPriv->parent]->parent]->code : $managerList[$relatedPriv->parent]->code; - if(!isset($privList[$relatedPriv->type][$module])) $privList[$relatedPriv->type][$module] = array(); - $privList[$relatedPriv->type][$module]['title'] = $modulePairs[$module]; - $privList[$relatedPriv->type][$module]['id'] = $relatedPriv->parent; - $privList[$relatedPriv->type][$module]['children'][] = array('title' => $relatedPriv->name, 'relationPriv' => $relatedPriv->relationPriv, 'parent' => $relatedPriv->parent, 'module' => $relatedPriv->module, 'method' => $relatedPriv->method); + foreach($package->privs as $privCode => $priv) + { + $privSubsets[$privCode] = $package->subset; + + foreach(array('depend', 'recommend') as $type) + { + /* Show related pirvs when select. */ + if($type == 'recommend' && in_array($privCode, $recommendSelect)) $relatedPrivs[$type][$privCode] = $privCode; + + if(!in_array($privCode, $selectedPrivList) || !isset($priv[$type])) continue; + + foreach($priv[$type] as $relatedPriv) + { + if(!in_array($relatedPriv, $selectedPrivList) && in_array($relatedPriv, $allPrivList)) $relatedPrivs[$type][$relatedPriv] = $relatedPriv; + } + } + } } - if(empty($type) or $type == 'depend') $privList['depend'] = array_values($privList['depend']); - if(empty($type) or $type == 'recommend') $privList['recommend'] = array_values($privList['recommend']); - return $privList; + $subsetPrivs = array('depend' => array(), 'recommend' => array()); + foreach(array('depend', 'recommend') as $type) + { + foreach($relatedPrivs[$type] as $relatedPriv) + { + $subset = $privSubsets[$relatedPriv]; + if(!isset($subsetPrivs[$type][$subset])) $subsetPrivs[$type][$subset] = array('id' => $subset, 'title' => $this->lang->$subset->common, 'children' => array()); + + list($moduleName, $methodName) = explode('-', $relatedPriv); + $method = $this->lang->resource->$moduleName->$methodName; + + if(!isset($this->lang->$moduleName->$method)) $this->app->loadLang($moduleName); + $subsetPrivs[$type][$subset]['children'][] = array('id' => $relatedPriv, 'module' => $moduleName, 'method' => $methodName, 'subset' => $subset, 'title' => $this->lang->$moduleName->$method); + } + } + + return array('depend' => array_values($subsetPrivs['depend']), 'recommend' => array_values($subsetPrivs['recommend'])); } /** @@ -2468,9 +2389,7 @@ class groupModel extends model */ public function getPrivListByGroup($groupID) { - $modulePairs = $this->getPrivManagerPairs('module'); - $modules = array_keys($modulePairs); - $actions = $this->dao->select("CONCAT(module, '-', method) AS action")->from(TABLE_GROUPPRIV)->where('`group`')->eq($groupID)->andWhere('module')->in($modules)->fetchPairs(); + $actions = $this->dao->select("CONCAT(module, '-', method) AS action")->from(TABLE_GROUPPRIV)->where('`group`')->eq($groupID)->fetchPairs(); $actions = implode("','", $actions); $privIdList = $this->dao->select("*")->from(TABLE_PRIV) ->where("CONCAT(module, '-', method) IN ('$actions')") @@ -2483,4 +2402,82 @@ class groupModel extends model return $privs; } + + /** + * AJAX: Get privs by parents. + * + * @param string $selectedSubset + * @param string $selectedPackages + * @access public + * @return bool + */ + public function getPrivByParents($selectedSubset, $selectedPackages = '') + { + $allPrivs = array(); + $privs = array(); + + /* Privs in package. */ + foreach($this->config->group->package as $packageCode => $packageData) + { + foreach($packageData->privs as $privCode => $priv) + { + list($moduleName, $methodName) = explode('-', $privCode); + + /* Remove privs unused in the edition. */ + if(!isset($this->lang->resource->$moduleName) || !isset($this->lang->resource->$moduleName->$methodName)) continue; + + $allPrivs[$privCode] = $privCode; + + $subset = $packageData->subset; + if($subset !== $selectedSubset) continue; + + if($selectedPackages && strpos($selectedPackages, ",$packageCode,") === false) continue; + + $methodLang = $this->lang->resource->$moduleName->$methodName; + if(!isset($this->lang->$moduleName->$methodLang)) $this->app->loadLang($moduleName); + + $privs[$privCode] = $this->lang->$moduleName->$methodLang; + } + } + + if(empty($selectedPackages) || strpos($selectedPackages, ',other,') !== false) + { + /* Privs in resource but not in package. */ + $this->sortResource(); + foreach($this->lang->resource as $module => $methodList) + { + foreach($methodList as $method => $methodLang) + { + if($module != $selectedSubset) continue; + + if(isset($allPrivs["$module-$method"])) continue; + + if(!isset($this->lang->$module->$methodLang)) $this->app->loadLang($module); + $privs["$module-$method"] = $this->lang->$module->$methodLang; + } + } + } + + return $privs; + } + + /** + * Get privs after version + * + * @param string $version + * @access public + * @return string + */ + public function getPrivsAfterVersion($version) + { + $realVersion = str_replace('_', '.', $version); + $changelog = array(); + foreach($this->lang->changelog as $currentVersion => $currentChangeLog) + { + if(version_compare($currentVersion, $realVersion, '>=')) $changelog[] = join(',', $currentChangeLog); + } + $versionPrivs = ',' . join(',', $changelog) . ','; + + return $versionPrivs; + } } diff --git a/module/group/packagemanager.php b/module/group/packagemanager.php new file mode 100644 index 0000000000..f3d1f0d339 --- /dev/null +++ b/module/group/packagemanager.php @@ -0,0 +1,4939 @@ +group->subset = new stdclass(); + +$config->group->subset->my = new stdclass(); +$config->group->subset->my->edition = 'open,biz,max,ipd'; +$config->group->subset->my->vision = 'rnd,lite,or'; +$config->group->subset->my->order = 20; +$config->group->subset->my->nav = 'my'; + +$config->group->subset->todo = new stdclass(); +$config->group->subset->todo->edition = 'open,biz,max,ipd'; +$config->group->subset->todo->vision = 'rnd,lite,or'; +$config->group->subset->todo->order = 30; +$config->group->subset->todo->nav = 'my'; + +$config->group->subset->contact = new stdclass(); +$config->group->subset->contact->edition = 'open,biz,max,ipd'; +$config->group->subset->contact->vision = 'rnd,lite,or'; +$config->group->subset->contact->order = 40; +$config->group->subset->contact->nav = 'my'; + +$config->group->subset->personalsettings = new stdclass(); +$config->group->subset->personalsettings->edition = 'open,biz,max,ipd'; +$config->group->subset->personalsettings->vision = 'rnd,lite,or'; +$config->group->subset->personalsettings->order = 50; +$config->group->subset->personalsettings->nav = 'my'; + +$config->group->subset->effort = new stdclass(); +$config->group->subset->effort->edition = 'biz,max,ipd'; +$config->group->subset->effort->vision = 'rnd,lite,or'; +$config->group->subset->effort->order = 60; +$config->group->subset->effort->nav = 'my'; + +$config->group->subset->program = new stdclass(); +$config->group->subset->program->edition = 'open,biz,max,ipd'; +$config->group->subset->program->vision = 'rnd'; +$config->group->subset->program->order = 70; +$config->group->subset->program->nav = 'program'; + +$config->group->subset->personnel = new stdclass(); +$config->group->subset->personnel->edition = 'open,biz,max,ipd'; +$config->group->subset->personnel->vision = 'rnd,lite'; +$config->group->subset->personnel->order = 80; +$config->group->subset->personnel->nav = 'program'; + +$config->group->subset->programstakeholder = new stdclass(); +$config->group->subset->programstakeholder->edition = 'open,biz,max,ipd'; +$config->group->subset->programstakeholder->vision = 'rnd,lite,or'; +$config->group->subset->programstakeholder->order = 90; +$config->group->subset->programstakeholder->nav = 'program'; + +$config->group->subset->product = new stdclass(); +$config->group->subset->product->edition = 'open,biz,max,ipd'; +$config->group->subset->product->vision = 'rnd,or'; +$config->group->subset->product->order = 100; +$config->group->subset->product->nav = 'product'; + +$config->group->subset->story = new stdclass(); +$config->group->subset->story->edition = 'open,biz,max,ipd'; +$config->group->subset->story->vision = 'rnd,lite'; +$config->group->subset->story->order = 110; +$config->group->subset->story->nav = 'product'; + +$config->group->subset->requirement = new stdclass(); +$config->group->subset->requirement->edition = 'open,biz,max,ipd'; +$config->group->subset->requirement->vision = 'rnd,or'; +$config->group->subset->requirement->order = 120; +$config->group->subset->requirement->nav = 'product'; + +$config->group->subset->productplan = new stdclass(); +$config->group->subset->productplan->edition = 'open,biz,max,ipd'; +$config->group->subset->productplan->vision = 'rnd'; +$config->group->subset->productplan->order = 130; +$config->group->subset->productplan->nav = 'product'; + +$config->group->subset->release = new stdclass(); +$config->group->subset->release->edition = 'open,biz,max,ipd'; +$config->group->subset->release->vision = 'rnd'; +$config->group->subset->release->order = 140; +$config->group->subset->release->nav = 'product'; + +$config->group->subset->productsettings = new stdclass(); +$config->group->subset->productsettings->edition = 'open,biz,max,ipd'; +$config->group->subset->productsettings->vision = 'rnd,lite,or'; +$config->group->subset->productsettings->order = 160; +$config->group->subset->productsettings->nav = 'product'; + +$config->group->subset->project = new stdclass(); +$config->group->subset->project->edition = 'open,biz,max,ipd'; +$config->group->subset->project->vision = 'rnd,lite'; +$config->group->subset->project->order = 170; +$config->group->subset->project->nav = 'project'; + +$config->group->subset->projectplan = new stdclass(); +$config->group->subset->projectplan->edition = 'open,biz,max,ipd'; +$config->group->subset->projectplan->vision = 'rnd'; +$config->group->subset->projectplan->order = 180; +$config->group->subset->projectplan->nav = 'project'; + +$config->group->subset->projectstory = new stdclass(); +$config->group->subset->projectstory->edition = 'open,biz,max,ipd'; +$config->group->subset->projectstory->vision = 'rnd,lite'; +$config->group->subset->projectstory->order = 190; +$config->group->subset->projectstory->nav = 'project'; + +$config->group->subset->programplan = new stdclass(); +$config->group->subset->programplan->edition = 'open,biz,max,ipd'; +$config->group->subset->programplan->vision = 'rnd'; +$config->group->subset->programplan->order = 200; +$config->group->subset->programplan->nav = 'project'; + +$config->group->subset->design = new stdclass(); +$config->group->subset->design->edition = 'open,biz,max,ipd'; +$config->group->subset->design->vision = 'rnd'; +$config->group->subset->design->order = 210; +$config->group->subset->design->nav = 'project'; + +$config->group->subset->issue = new stdclass(); +$config->group->subset->issue->edition = 'max,ipd'; +$config->group->subset->issue->vision = 'rnd'; +$config->group->subset->issue->order = 230; +$config->group->subset->issue->nav = 'project'; + +$config->group->subset->risk = new stdclass(); +$config->group->subset->risk->edition = 'max,ipd'; +$config->group->subset->risk->vision = 'rnd'; +$config->group->subset->risk->order = 240; +$config->group->subset->risk->nav = 'project'; + +$config->group->subset->workestimation = new stdclass(); +$config->group->subset->workestimation->edition = 'open,biz,max,ipd'; +$config->group->subset->workestimation->vision = 'rnd,lite,or'; +$config->group->subset->workestimation->order = 260; +$config->group->subset->workestimation->nav = 'project'; + +$config->group->subset->opportunity = new stdclass(); +$config->group->subset->opportunity->edition = 'max,ipd'; +$config->group->subset->opportunity->vision = 'rnd'; +$config->group->subset->opportunity->order = 290; +$config->group->subset->opportunity->nav = 'project'; + +$config->group->subset->meeting = new stdclass(); +$config->group->subset->meeting->edition = 'max,ipd'; +$config->group->subset->meeting->vision = 'rnd'; +$config->group->subset->meeting->order = 350; +$config->group->subset->meeting->nav = 'project'; + +$config->group->subset->projectbuild = new stdclass(); +$config->group->subset->projectbuild->edition = 'open,biz,max,ipd'; +$config->group->subset->projectbuild->vision = 'rnd'; +$config->group->subset->projectbuild->order = 360; +$config->group->subset->projectbuild->nav = 'project'; + +$config->group->subset->projectrelease = new stdclass(); +$config->group->subset->projectrelease->edition = 'open,biz,max,ipd'; +$config->group->subset->projectrelease->vision = 'rnd'; +$config->group->subset->projectrelease->order = 370; +$config->group->subset->projectrelease->nav = 'project'; + +$config->group->subset->projectsettings = new stdclass(); +$config->group->subset->projectsettings->edition = 'open,biz,max,ipd'; +$config->group->subset->projectsettings->vision = 'rnd,lite,or'; +$config->group->subset->projectsettings->order = 390; +$config->group->subset->projectsettings->nav = 'project'; + +$config->group->subset->projectreview = new stdclass(); +$config->group->subset->projectreview->edition = 'open,biz,max,ipd'; +$config->group->subset->projectreview->vision = 'rnd,lite,or'; +$config->group->subset->projectreview->order = 400; +$config->group->subset->projectreview->nav = 'project'; + +$config->group->subset->projecttrack = new stdclass(); +$config->group->subset->projecttrack->edition = 'open,biz,max,ipd'; +$config->group->subset->projecttrack->vision = 'rnd,lite,or'; +$config->group->subset->projecttrack->order = 410; +$config->group->subset->projecttrack->nav = 'project'; + +$config->group->subset->projectqa = new stdclass(); +$config->group->subset->projectqa->edition = 'open,biz,max,ipd'; +$config->group->subset->projectqa->vision = 'rnd,lite,or'; +$config->group->subset->projectqa->order = 420; +$config->group->subset->projectqa->nav = 'project'; + +$config->group->subset->pssp = new stdclass(); +$config->group->subset->pssp->edition = 'max,ipd'; +$config->group->subset->pssp->vision = 'rnd'; +$config->group->subset->pssp->order = 430; +$config->group->subset->pssp->nav = 'project'; + +$config->group->subset->cm = new stdclass(); +$config->group->subset->cm->edition = 'max,ipd'; +$config->group->subset->cm->vision = 'rnd'; +$config->group->subset->cm->order = 440; +$config->group->subset->cm->nav = 'project'; + +$config->group->subset->measrecord = new stdclass(); +$config->group->subset->measrecord->edition = 'max,ipd'; +$config->group->subset->measrecord->vision = 'rnd'; +$config->group->subset->measrecord->order = 480; +$config->group->subset->measrecord->nav = 'project'; + +$config->group->subset->projectreport = new stdclass(); +$config->group->subset->projectreport->edition = 'max,ipd'; +$config->group->subset->projectreport->vision = 'rnd'; +$config->group->subset->projectreport->order = 490; +$config->group->subset->projectreport->nav = 'project'; + +$config->group->subset->projectresearch = new stdclass(); +$config->group->subset->projectresearch->edition = 'max,ipd'; +$config->group->subset->projectresearch->vision = 'rnd'; +$config->group->subset->projectresearch->order = 500; +$config->group->subset->projectresearch->nav = 'project'; + +$config->group->subset->projectauditplan = new stdclass(); +$config->group->subset->projectauditplan->edition = 'max,ipd'; +$config->group->subset->projectauditplan->vision = 'rnd'; +$config->group->subset->projectauditplan->order = 510; +$config->group->subset->projectauditplan->nav = 'project'; + +$config->group->subset->projectgapanalysis = new stdclass(); +$config->group->subset->projectgapanalysis->edition = 'max,ipd'; +$config->group->subset->projectgapanalysis->vision = 'rnd'; +$config->group->subset->projectgapanalysis->order = 520; +$config->group->subset->projectgapanalysis->nav = 'project'; + +$config->group->subset->execution = new stdclass(); +$config->group->subset->execution->edition = 'open,biz,max,ipd'; +$config->group->subset->execution->vision = 'rnd,lite'; +$config->group->subset->execution->order = 530; +$config->group->subset->execution->nav = 'execution'; + +$config->group->subset->task = new stdclass(); +$config->group->subset->task->edition = 'open,biz,max,ipd'; +$config->group->subset->task->vision = 'rnd,lite'; +$config->group->subset->task->order = 540; +$config->group->subset->task->nav = 'execution'; + +$config->group->subset->build = new stdclass(); +$config->group->subset->build->edition = 'open,biz,max,ipd'; +$config->group->subset->build->vision = 'rnd'; +$config->group->subset->build->order = 550; +$config->group->subset->build->nav = 'execution'; + +$config->group->subset->executionview = new stdclass(); +$config->group->subset->executionview->edition = 'open,biz,max,ipd'; +$config->group->subset->executionview->vision = 'rnd,lite,or'; +$config->group->subset->executionview->order = 560; +$config->group->subset->executionview->nav = 'execution'; + +$config->group->subset->executionkanban = new stdclass(); +$config->group->subset->executionkanban->edition = 'open,biz,max,ipd'; +$config->group->subset->executionkanban->vision = 'rnd,lite,or'; +$config->group->subset->executionkanban->order = 580; +$config->group->subset->executionkanban->nav = 'execution'; + +$config->group->subset->executionburn = new stdclass(); +$config->group->subset->executionburn->edition = 'open,biz,max,ipd'; +$config->group->subset->executionburn->vision = 'rnd,lite,or'; +$config->group->subset->executionburn->order = 590; +$config->group->subset->executionburn->nav = 'execution'; + +$config->group->subset->executioncfd = new stdclass(); +$config->group->subset->executioncfd->edition = 'open,biz,max,ipd'; +$config->group->subset->executioncfd->vision = 'rnd,lite,or'; +$config->group->subset->executioncfd->order = 600; +$config->group->subset->executioncfd->nav = 'execution'; + +$config->group->subset->executionstory = new stdclass(); +$config->group->subset->executionstory->edition = 'open,biz,max,ipd'; +$config->group->subset->executionstory->vision = 'rnd,lite,or'; +$config->group->subset->executionstory->order = 610; +$config->group->subset->executionstory->nav = 'execution'; + +$config->group->subset->executionqa = new stdclass(); +$config->group->subset->executionqa->edition = 'open,biz,max,ipd'; +$config->group->subset->executionqa->vision = 'rnd,lite,or'; +$config->group->subset->executionqa->order = 620; +$config->group->subset->executionqa->nav = 'execution'; + +$config->group->subset->executionsettings = new stdclass(); +$config->group->subset->executionsettings->edition = 'open,biz,max,ipd'; +$config->group->subset->executionsettings->vision = 'rnd,lite,or'; +$config->group->subset->executionsettings->order = 630; +$config->group->subset->executionsettings->nav = 'execution'; + +$config->group->subset->kanban = new stdclass(); +$config->group->subset->kanban->edition = 'open,biz,max,ipd'; +$config->group->subset->kanban->vision = 'rnd,lite'; +$config->group->subset->kanban->order = 640; +$config->group->subset->kanban->nav = 'kanban'; + +$config->group->subset->managespace = new stdclass(); +$config->group->subset->managespace->edition = 'open,biz,max,ipd'; +$config->group->subset->managespace->vision = 'rnd,lite,or'; +$config->group->subset->managespace->order = 650; +$config->group->subset->managespace->nav = 'kanban'; + +$config->group->subset->qa = new stdclass(); +$config->group->subset->qa->edition = 'open,biz,max,ipd'; +$config->group->subset->qa->vision = 'rnd'; +$config->group->subset->qa->order = 660; +$config->group->subset->qa->nav = 'qa'; + +$config->group->subset->bug = new stdclass(); +$config->group->subset->bug->edition = 'open,biz,max,ipd'; +$config->group->subset->bug->vision = 'rnd'; +$config->group->subset->bug->order = 670; +$config->group->subset->bug->nav = 'qa'; + +$config->group->subset->testcase = new stdclass(); +$config->group->subset->testcase->edition = 'open,biz,max,ipd'; +$config->group->subset->testcase->vision = 'rnd'; +$config->group->subset->testcase->order = 680; +$config->group->subset->testcase->nav = 'qa'; + +$config->group->subset->testtask = new stdclass(); +$config->group->subset->testtask->edition = 'open,biz,max,ipd'; +$config->group->subset->testtask->vision = 'rnd'; +$config->group->subset->testtask->order = 690; +$config->group->subset->testtask->nav = 'qa'; + +$config->group->subset->testsuite = new stdclass(); +$config->group->subset->testsuite->edition = 'open,biz,max,ipd'; +$config->group->subset->testsuite->vision = 'rnd'; +$config->group->subset->testsuite->order = 700; +$config->group->subset->testsuite->nav = 'qa'; + +$config->group->subset->testreport = new stdclass(); +$config->group->subset->testreport->edition = 'open,biz,max,ipd'; +$config->group->subset->testreport->vision = 'rnd'; +$config->group->subset->testreport->order = 710; +$config->group->subset->testreport->nav = 'qa'; + +$config->group->subset->zahost = new stdclass(); +$config->group->subset->zahost->edition = 'open,biz,max,ipd'; +$config->group->subset->zahost->vision = 'rnd'; +$config->group->subset->zahost->order = 720; +$config->group->subset->zahost->nav = 'qa'; + +$config->group->subset->zanode = new stdclass(); +$config->group->subset->zanode->edition = 'open,biz,max,ipd'; +$config->group->subset->zanode->vision = 'rnd'; +$config->group->subset->zanode->order = 730; +$config->group->subset->zanode->nav = 'qa'; + +$config->group->subset->caselib = new stdclass(); +$config->group->subset->caselib->edition = 'open,biz,max,ipd'; +$config->group->subset->caselib->vision = 'rnd'; +$config->group->subset->caselib->order = 740; +$config->group->subset->caselib->nav = 'assetlib'; + +$config->group->subset->storylib = new stdclass(); +$config->group->subset->storylib->edition = 'max,ipd'; +$config->group->subset->storylib->vision = 'rnd'; +$config->group->subset->storylib->order = 760; +$config->group->subset->storylib->nav = 'assetlib'; + +$config->group->subset->issuelib = new stdclass(); +$config->group->subset->issuelib->edition = 'max,ipd'; +$config->group->subset->issuelib->vision = 'rnd'; +$config->group->subset->issuelib->order = 770; +$config->group->subset->issuelib->nav = 'assetlib'; + +$config->group->subset->risklib = new stdclass(); +$config->group->subset->risklib->edition = 'max,ipd'; +$config->group->subset->risklib->vision = 'rnd'; +$config->group->subset->risklib->order = 780; +$config->group->subset->risklib->nav = 'assetlib'; + +$config->group->subset->opportunitylib = new stdclass(); +$config->group->subset->opportunitylib->edition = 'max,ipd'; +$config->group->subset->opportunitylib->vision = 'rnd'; +$config->group->subset->opportunitylib->order = 790; +$config->group->subset->opportunitylib->nav = 'assetlib'; + +$config->group->subset->practicelib = new stdclass(); +$config->group->subset->practicelib->edition = 'max,ipd'; +$config->group->subset->practicelib->vision = 'rnd'; +$config->group->subset->practicelib->order = 800; +$config->group->subset->practicelib->nav = 'assetlib'; + +$config->group->subset->componentlib = new stdclass(); +$config->group->subset->componentlib->edition = 'max,ipd'; +$config->group->subset->componentlib->vision = 'rnd'; +$config->group->subset->componentlib->order = 810; +$config->group->subset->componentlib->nav = 'assetlib'; + +$config->group->subset->doc = new stdclass(); +$config->group->subset->doc->edition = 'open,biz,max,ipd'; +$config->group->subset->doc->vision = 'rnd,lite,or'; +$config->group->subset->doc->order = 820; +$config->group->subset->doc->nav = 'doc'; + +$config->group->subset->api = new stdclass(); +$config->group->subset->api->edition = 'open,biz,max,ipd'; +$config->group->subset->api->vision = 'rnd'; +$config->group->subset->api->order = 830; +$config->group->subset->api->nav = 'doc'; + +$config->group->subset->screen = new stdclass(); +$config->group->subset->screen->edition = 'open,biz,max,ipd'; +$config->group->subset->screen->vision = 'rnd'; +$config->group->subset->screen->order = 840; +$config->group->subset->screen->nav = 'bi'; + +$config->group->subset->pivot = new stdclass(); +$config->group->subset->pivot->edition = 'open,biz,max,ipd'; +$config->group->subset->pivot->vision = 'rnd'; +$config->group->subset->pivot->order = 850; +$config->group->subset->pivot->nav = 'bi'; + +$config->group->subset->chart = new stdclass(); +$config->group->subset->chart->edition = 'open,biz,max,ipd'; +$config->group->subset->chart->vision = 'rnd'; +$config->group->subset->chart->order = 860; +$config->group->subset->chart->nav = 'bi'; + +$config->group->subset->dataview = new stdclass(); +$config->group->subset->dataview->edition = 'biz,max,ipd'; +$config->group->subset->dataview->vision = 'rnd'; +$config->group->subset->dataview->order = 870; +$config->group->subset->dataview->nav = 'bi'; + +$config->group->subset->dimension = new stdclass(); +$config->group->subset->dimension->edition = 'biz,max,ipd'; +$config->group->subset->dimension->vision = 'rnd'; +$config->group->subset->dimension->order = 880; +$config->group->subset->dimension->nav = 'bi'; + +$config->group->subset->systemteam = new stdclass(); +$config->group->subset->systemteam->edition = 'open,biz,max,ipd'; +$config->group->subset->systemteam->vision = 'rnd,lite,or'; +$config->group->subset->systemteam->order = 920; +$config->group->subset->systemteam->nav = 'system'; + +$config->group->subset->systemschedule = new stdclass(); +$config->group->subset->systemschedule->edition = 'open,biz,max,ipd'; +$config->group->subset->systemschedule->vision = 'rnd,lite,or'; +$config->group->subset->systemschedule->order = 930; +$config->group->subset->systemschedule->nav = 'system'; + +$config->group->subset->systemeffort = new stdclass(); +$config->group->subset->systemeffort->edition = 'open,biz,max,ipd'; +$config->group->subset->systemeffort->vision = 'rnd,lite,or'; +$config->group->subset->systemeffort->order = 940; +$config->group->subset->systemeffort->nav = 'system'; + +$config->group->subset->systemdynamic = new stdclass(); +$config->group->subset->systemdynamic->edition = 'open,biz,max,ipd'; +$config->group->subset->systemdynamic->vision = 'rnd,lite,or'; +$config->group->subset->systemdynamic->order = 950; +$config->group->subset->systemdynamic->nav = 'system'; + +$config->group->subset->systemcompany = new stdclass(); +$config->group->subset->systemcompany->edition = 'open,biz,max,ipd'; +$config->group->subset->systemcompany->vision = 'rnd,lite,or'; +$config->group->subset->systemcompany->order = 960; +$config->group->subset->systemcompany->nav = 'system'; + +$config->group->subset->dataaccess = new stdclass(); +$config->group->subset->dataaccess->edition = 'open,biz,max,ipd'; +$config->group->subset->dataaccess->vision = 'rnd,lite,or'; +$config->group->subset->dataaccess->order = 970; +$config->group->subset->dataaccess->nav = 'system'; + +$config->group->subset->admin = new stdclass(); +$config->group->subset->admin->edition = 'open,biz,max,ipd'; +$config->group->subset->admin->vision = 'rnd,lite,or'; +$config->group->subset->admin->order = 1010; +$config->group->subset->admin->nav = 'admin'; + +$config->group->subset->extension = new stdclass(); +$config->group->subset->extension->edition = 'open,biz,max,ipd'; +$config->group->subset->extension->vision = 'rnd,lite'; +$config->group->subset->extension->order = 1030; +$config->group->subset->extension->nav = 'admin'; + +$config->group->subset->dev = new stdclass(); +$config->group->subset->dev->edition = 'open,biz,max,ipd'; +$config->group->subset->dev->vision = 'rnd'; +$config->group->subset->dev->order = 1100; +$config->group->subset->dev->nav = 'admin'; + +$config->group->subset->systemsetting = new stdclass(); +$config->group->subset->systemsetting->edition = 'open,biz,max,ipd'; +$config->group->subset->systemsetting->vision = 'rnd,lite,or'; +$config->group->subset->systemsetting->order = 1180; +$config->group->subset->systemsetting->nav = 'admin'; + +$config->group->subset->staffmanage = new stdclass(); +$config->group->subset->staffmanage->edition = 'open,biz,max,ipd'; +$config->group->subset->staffmanage->vision = 'rnd,lite,or'; +$config->group->subset->staffmanage->order = 1190; +$config->group->subset->staffmanage->nav = 'admin'; + +$config->group->subset->modelconfig = new stdclass(); +$config->group->subset->modelconfig->edition = 'open,biz,max,ipd'; +$config->group->subset->modelconfig->vision = 'rnd,lite,or'; +$config->group->subset->modelconfig->order = 1200; +$config->group->subset->modelconfig->nav = 'admin'; + +$config->group->subset->featureconfig = new stdclass(); +$config->group->subset->featureconfig->edition = 'open,biz,max,ipd'; +$config->group->subset->featureconfig->vision = 'rnd,lite,or'; +$config->group->subset->featureconfig->order = 1210; +$config->group->subset->featureconfig->nav = 'admin'; + +$config->group->subset->doctemplate = new stdclass(); +$config->group->subset->doctemplate->edition = 'open,biz,max,ipd'; +$config->group->subset->doctemplate->vision = 'rnd,lite,or'; +$config->group->subset->doctemplate->order = 1220; +$config->group->subset->doctemplate->nav = 'admin'; + +$config->group->subset->notifysetting = new stdclass(); +$config->group->subset->notifysetting->edition = 'open,biz,max,ipd'; +$config->group->subset->notifysetting->vision = 'rnd,lite,or'; +$config->group->subset->notifysetting->order = 1230; +$config->group->subset->notifysetting->nav = 'admin'; + +$config->group->subset->mr = new stdclass(); +$config->group->subset->mr->edition = 'open,biz,max,ipd'; +$config->group->subset->mr->vision = 'rnd'; +$config->group->subset->mr->order = 2660; +$config->group->subset->mr->nav = 'devops'; + +$config->group->subset->repocode = new stdclass(); +$config->group->subset->repocode->edition = 'open,biz,max,ipd'; +$config->group->subset->repocode->vision = 'rnd'; +$config->group->subset->repocode->order = 2520; +$config->group->subset->repocode->nav = 'devops'; + +$config->group->subset->ci = new stdclass(); +$config->group->subset->ci->edition = 'open,biz,max,ipd'; +$config->group->subset->ci->vision = 'rnd'; +$config->group->subset->ci->order = 2740; +$config->group->subset->ci->nav = 'devops'; + +$config->group->subset->app = new stdclass(); +$config->group->subset->app->edition = 'open,biz,max,ipd'; +$config->group->subset->app->vision = 'rnd'; +$config->group->subset->app->order = 3000; +$config->group->subset->app->nav = 'devops'; + +$config->group->subset->pipeline = new stdclass(); +$config->group->subset->pipeline->edition = 'open,biz,max,ipd'; +$config->group->subset->pipeline->vision = 'rnd'; +$config->group->subset->pipeline->order = 2700; +$config->group->subset->pipeline->nav = 'devops'; + +$config->group->subset->repo = new stdclass(); +$config->group->subset->repo->edition = 'open,biz,max,ipd'; +$config->group->subset->repo->vision = 'rnd'; +$config->group->subset->repo->order = 2400; +$config->group->subset->repo->nav = 'devops'; + +$config->group->subset->search = new stdclass(); +$config->group->subset->search->edition = 'open,biz,max,ipd'; +$config->group->subset->search->vision = 'rnd,lite,or'; +$config->group->subset->search->order = 1570; + +$config->group->subset->tree = new stdclass(); +$config->group->subset->tree->edition = 'open,biz,max,ipd'; +$config->group->subset->tree->vision = 'rnd,lite,or'; +$config->group->subset->tree->order = 1580; + +$config->group->subset->file = new stdclass(); +$config->group->subset->file->edition = 'open,biz,max,ipd'; +$config->group->subset->file->vision = 'rnd,lite,or'; +$config->group->subset->file->order = 1590; + +$config->group->subset->workflow = new stdclass(); +$config->group->subset->workflow->edition = 'biz,max,ipd'; +$config->group->subset->workflow->vision = 'rnd,lite'; +$config->group->subset->workflow->order = 1620; +$config->group->subset->workflow->nav = 'workflow'; + +$config->group->subset->datatable = new stdclass(); +$config->group->subset->datatable->edition = 'open,biz,max,ipd'; +$config->group->subset->datatable->vision = 'rnd,lite'; +$config->group->subset->datatable->order = 1740; + +$config->group->subset->generalcomment = new stdclass(); +$config->group->subset->generalcomment->edition = 'open,biz,max,ipd'; +$config->group->subset->generalcomment->vision = 'rnd,lite,or'; +$config->group->subset->generalcomment->order = 1750; + +$config->group->subset->generalping = new stdclass(); +$config->group->subset->generalping->edition = 'open,biz,max,ipd'; +$config->group->subset->generalping->vision = 'rnd,lite,or'; +$config->group->subset->generalping->order = 1760; + +$config->group->subset->generaltemplate = new stdclass(); +$config->group->subset->generaltemplate->edition = 'open,biz,max,ipd'; +$config->group->subset->generaltemplate->vision = 'rnd,lite,or'; +$config->group->subset->generaltemplate->order = 1770; + +$config->group->subset->generaleffort = new stdclass(); +$config->group->subset->generaleffort->edition = 'open,biz,max,ipd'; +$config->group->subset->generaleffort->vision = 'rnd,lite,or'; +$config->group->subset->generaleffort->order = 1780; + +$config->group->subset->feedback = new stdclass(); +$config->group->subset->feedback->edition = 'biz,max,ipd'; +$config->group->subset->feedback->vision = 'rnd,lite'; +$config->group->subset->feedback->order = 1790; +$config->group->subset->feedback->nav = 'feedback'; + +$config->group->subset->faq = new stdclass(); +$config->group->subset->faq->edition = 'biz,max,ipd'; +$config->group->subset->faq->vision = 'rnd,lite'; +$config->group->subset->faq->order = 1800; +$config->group->subset->faq->nav = 'feedback'; + +$config->group->subset->ticket = new stdclass(); +$config->group->subset->ticket->edition = 'biz,max,ipd'; +$config->group->subset->ticket->vision = 'rnd,lite'; +$config->group->subset->ticket->order = 1810; +$config->group->subset->ticket->nav = 'feedback'; + +$config->group->subset->feedbackpriv = new stdclass(); +$config->group->subset->feedbackpriv->edition = 'biz,max,ipd'; +$config->group->subset->feedbackpriv->vision = 'rnd'; +$config->group->subset->feedbackpriv->order = 1820; +$config->group->subset->feedbackpriv->nav = 'feedback'; + +$config->group->subset->attend = new stdclass(); +$config->group->subset->attend->edition = 'biz,max,ipd'; +$config->group->subset->attend->vision = 'rnd,lite'; +$config->group->subset->attend->order = 1830; +$config->group->subset->attend->nav = 'oa'; + +$config->group->subset->leave = new stdclass(); +$config->group->subset->leave->edition = 'biz,max,ipd'; +$config->group->subset->leave->vision = 'rnd,lite'; +$config->group->subset->leave->order = 1840; +$config->group->subset->leave->nav = 'oa'; + +$config->group->subset->makeup = new stdclass(); +$config->group->subset->makeup->edition = 'biz,max,ipd'; +$config->group->subset->makeup->vision = 'rnd,lite'; +$config->group->subset->makeup->order = 1850; +$config->group->subset->makeup->nav = 'oa'; + +$config->group->subset->overtime = new stdclass(); +$config->group->subset->overtime->edition = 'biz,max,ipd'; +$config->group->subset->overtime->vision = 'rnd,lite'; +$config->group->subset->overtime->order = 1860; +$config->group->subset->overtime->nav = 'oa'; + +$config->group->subset->lieu = new stdclass(); +$config->group->subset->lieu->edition = 'biz,max,ipd'; +$config->group->subset->lieu->vision = 'rnd,lite'; +$config->group->subset->lieu->order = 1870; +$config->group->subset->lieu->nav = 'oa'; + +$config->group->subset->officeapproval = new stdclass(); +$config->group->subset->officeapproval->edition = 'biz,max,ipd'; +$config->group->subset->officeapproval->vision = 'rnd'; +$config->group->subset->officeapproval->order = 1880; +$config->group->subset->officeapproval->nav = 'oa'; + +$config->group->subset->officesetting = new stdclass(); +$config->group->subset->officesetting->edition = 'biz,max,ipd'; +$config->group->subset->officesetting->vision = 'rnd'; +$config->group->subset->officesetting->order = 1890; +$config->group->subset->officesetting->nav = 'oa'; + +$config->group->subset->datapermission = new stdclass(); +$config->group->subset->datapermission->edition = 'biz,max,ipd'; +$config->group->subset->datapermission->vision = 'rnd'; +$config->group->subset->datapermission->order = 1900; +$config->group->subset->datapermission->nav = 'oa'; + +$config->group->subset->officeexport = new stdclass(); +$config->group->subset->officeexport->edition = 'biz,max,ipd'; +$config->group->subset->officeexport->vision = 'rnd'; +$config->group->subset->officeexport->order = 1910; +$config->group->subset->officeexport->nav = 'oa'; + +$config->group->subset->ops = new stdclass(); +$config->group->subset->ops->edition = 'open,biz,max,ipd'; +$config->group->subset->ops->vision = 'rnd'; +$config->group->subset->ops->order = 1920; +$config->group->subset->ops->nav = 'admin'; + +$config->group->subset->deploy = new stdclass(); +$config->group->subset->deploy->edition = 'biz,max,ipd'; +$config->group->subset->deploy->vision = 'rnd'; +$config->group->subset->deploy->order = 3020; +$config->group->subset->deploy->nav = 'devops'; + +$config->group->subset->traincourse = new stdclass(); +$config->group->subset->traincourse->edition = 'biz,max,ipd'; +$config->group->subset->traincourse->vision = 'rnd'; +$config->group->subset->traincourse->order = 2000; +$config->group->subset->traincourse->nav = 'traincourse'; + +$config->group->subset->charter = new stdclass(); +$config->group->subset->charter->edition = 'ipd'; +$config->group->subset->charter->vision = 'or'; +$config->group->subset->charter->order = 165; +$config->group->subset->charter->nav = 'charter'; + +$config->group->subset->demandpool = new stdclass(); +$config->group->subset->demandpool->edition = 'ipd'; +$config->group->subset->demandpool->vision = 'or'; +$config->group->subset->demandpool->order = 55; +$config->group->subset->demandpool->nav = 'demandpool'; + +$config->group->subset->demand = new stdclass(); +$config->group->subset->demand->edition = 'ipd'; +$config->group->subset->demand->vision = 'or'; +$config->group->subset->demand->order = 56; +$config->group->subset->demand->nav = 'demandpool'; + +$config->group->subset->roadmap = new stdclass(); +$config->group->subset->roadmap->edition = 'ipd'; +$config->group->subset->roadmap->vision = 'or,rnd'; +$config->group->subset->roadmap->order = 125; +$config->group->subset->roadmap->nav = 'product'; + +$config->group->subset->ai = new stdclass(); +$config->group->subset->ai->edition = 'open,biz,max'; +$config->group->subset->ai->vision = 'rnd'; +$config->group->subset->ai->order = 2020; +$config->group->subset->ai->nav = 'admin'; + +$config->group->subset->codereview = new stdclass(); +$config->group->subset->codereview->edition = 'biz,max,ipd'; +$config->group->subset->codereview->vision = 'rnd'; +$config->group->subset->codereview->order = 2580; +$config->group->subset->codereview->nav = 'devops'; + +$config->group->subset->artifactrepo = new stdclass(); +$config->group->subset->artifactrepo->edition = 'open,biz,max,ipd'; +$config->group->subset->artifactrepo->vision = 'rnd'; +$config->group->subset->artifactrepo->order = 2760; +$config->group->subset->artifactrepo->nav = 'devops'; + +$config->group->subset->other = new stdclass(); +$config->group->subset->other->edition = 'open,biz,max,ipd'; +$config->group->subset->other->vision = 'rnd,lite,or'; +$config->group->subset->other->order = 100000; + +$config->group->package = new stdclass(); + +$config->group->package->browseTodo = new stdclass(); +$config->group->package->browseTodo->edition = 'open,biz,max,ipd'; +$config->group->package->browseTodo->vision = 'rnd,lite,or'; +$config->group->package->browseTodo->order = 5; +$config->group->package->browseTodo->subset = 'todo'; +$config->group->package->browseTodo->privs = array(); +$config->group->package->browseTodo->privs['my-todo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array('my-calendar', 'my-index'), 'recommend' => array('todo-view')); +$config->group->package->browseTodo->privs['my-calendar'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array('my-index'), 'recommend' => array('my-todo')); +$config->group->package->browseTodo->privs['todo-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array('my-calendar', 'my-index'), 'recommend' => array('my-todo')); +$config->group->package->browseTodo->privs['todo-calendar'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 85, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageTodo = new stdclass(); +$config->group->package->manageTodo->edition = 'open,biz,max,ipd'; +$config->group->package->manageTodo->vision = 'rnd,lite,or'; +$config->group->package->manageTodo->order = 10; +$config->group->package->manageTodo->subset = 'todo'; +$config->group->package->manageTodo->privs = array(); +$config->group->package->manageTodo->privs['todo-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array('todo-batchCreate')); +$config->group->package->manageTodo->privs['todo-createcycle'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array('my-calendar', 'my-index', 'todo-create', 'todo-view'), 'recommend' => array()); +$config->group->package->manageTodo->privs['todo-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array('todo-create')); +$config->group->package->manageTodo->privs['todo-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array('todo-batchEdit')); +$config->group->package->manageTodo->privs['todo-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 4, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array('todo-create', 'todo-edit')); +$config->group->package->manageTodo->privs['todo-start'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array('todo-activate', 'todo-close', 'todo-finish')); +$config->group->package->manageTodo->privs['todo-finish'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 7, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array('todo-activate', 'todo-close')); +$config->group->package->manageTodo->privs['todo-batchFinish'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 8, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array('todo-finish')); +$config->group->package->manageTodo->privs['todo-import2Today'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 12, 'depend' => array('my-calendar', 'my-index'), 'recommend' => array()); +$config->group->package->manageTodo->privs['todo-assignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array()); +$config->group->package->manageTodo->privs['todo-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 10, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array('todo-close')); +$config->group->package->manageTodo->privs['todo-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 9, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array('todo-activate')); +$config->group->package->manageTodo->privs['todo-batchClose'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 11, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array()); + +$config->group->package->deleteTodo = new stdclass(); +$config->group->package->deleteTodo->edition = 'open,biz,max,ipd'; +$config->group->package->deleteTodo->vision = 'rnd,lite,or'; +$config->group->package->deleteTodo->order = 20; +$config->group->package->deleteTodo->subset = 'todo'; +$config->group->package->deleteTodo->privs = array(); +$config->group->package->deleteTodo->privs['todo-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 35, 'depend' => array('my-calendar', 'my-index', 'todo-view'), 'recommend' => array()); + +$config->group->package->importTodo = new stdclass(); +$config->group->package->importTodo->edition = 'open,biz,max,ipd'; +$config->group->package->importTodo->vision = 'rnd,lite,or'; +$config->group->package->importTodo->order = 15; +$config->group->package->importTodo->subset = 'todo'; +$config->group->package->importTodo->privs = array(); +$config->group->package->importTodo->privs['todo-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 40, 'depend' => array('my-calendar', 'my-index'), 'recommend' => array()); + +$config->group->package->manageContact = new stdclass(); +$config->group->package->manageContact->edition = 'open,biz,max,ipd'; +$config->group->package->manageContact->vision = 'rnd,lite,or'; +$config->group->package->manageContact->order = 5; +$config->group->package->manageContact->subset = 'contact'; +$config->group->package->manageContact->privs = array(); +$config->group->package->manageContact->privs['my-manageContacts'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 60, 'depend' => array(), 'recommend' => array('my-deleteContacts')); +$config->group->package->manageContact->privs['my-deleteContacts'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 65, 'depend' => array(), 'recommend' => array('my-manageContacts')); + +$config->group->package->profile = new stdclass(); +$config->group->package->profile->edition = 'open,biz,max,ipd'; +$config->group->package->profile->vision = 'rnd,lite,or'; +$config->group->package->profile->order = 5; +$config->group->package->profile->subset = 'personalsettings'; +$config->group->package->profile->privs = array(); +$config->group->package->profile->privs['my-profile'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array('my-index'), 'recommend' => array()); +$config->group->package->profile->privs['my-uploadAvatar'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('my-index', 'my-profile'), 'recommend' => array()); +$config->group->package->profile->privs['my-editProfile'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array('my-index', 'my-profile'), 'recommend' => array()); +$config->group->package->profile->privs['my-changePassword'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array('my-index', 'my-profile'), 'recommend' => array()); + +$config->group->package->preference = new stdclass(); +$config->group->package->preference->edition = 'open,biz,max,ipd'; +$config->group->package->preference->vision = 'rnd,lite,or'; +$config->group->package->preference->order = 10; +$config->group->package->preference->subset = 'personalsettings'; +$config->group->package->preference->privs = array(); +$config->group->package->preference->privs['my-preference'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('my-index'), 'recommend' => array()); + +$config->group->package->browseProgram = new stdclass(); +$config->group->package->browseProgram->edition = 'open,biz,max,ipd'; +$config->group->package->browseProgram->vision = 'rnd,lite,or'; +$config->group->package->browseProgram->order = 5; +$config->group->package->browseProgram->subset = 'program'; +$config->group->package->browseProgram->privs = array(); +$config->group->package->browseProgram->privs['program-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseProgram->privs['program-kanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseProgram->privs['program-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseProgram->privs['program-product'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseProgram->privs['program-project'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageProgram = new stdclass(); +$config->group->package->manageProgram->edition = 'open,biz,max,ipd'; +$config->group->package->manageProgram->vision = 'rnd,lite,or'; +$config->group->package->manageProgram->order = 10; +$config->group->package->manageProgram->subset = 'program'; +$config->group->package->manageProgram->privs = array(); +$config->group->package->manageProgram->privs['program-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('program-browse'), 'recommend' => array('program-edit', 'program-start', 'program-updateOrder')); +$config->group->package->manageProgram->privs['program-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('program-browse'), 'recommend' => array('program-activate', 'program-close', 'program-create', 'program-start', 'program-suspend', 'program-updateOrder')); +$config->group->package->manageProgram->privs['program-start'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('program-browse', 'program-view'), 'recommend' => array('program-activate', 'program-close', 'program-create', 'program-delete', 'program-edit')); +$config->group->package->manageProgram->privs['program-suspend'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('program-browse', 'program-view'), 'recommend' => array('program-activate', 'program-close', 'program-create', 'program-delete', 'program-edit', 'program-start')); +$config->group->package->manageProgram->privs['program-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('program-browse', 'program-view'), 'recommend' => array('program-close', 'program-create', 'program-delete', 'program-edit', 'program-start')); +$config->group->package->manageProgram->privs['program-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array('program-browse', 'program-view'), 'recommend' => array('program-activate', 'program-create', 'program-delete', 'program-edit', 'program-start')); +$config->group->package->manageProgram->privs['program-updateOrder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 90, 'depend' => array('program-browse'), 'recommend' => array('program-create', 'program-edit')); + +$config->group->package->deleteProgram = new stdclass(); +$config->group->package->deleteProgram->edition = 'open,biz,max,ipd'; +$config->group->package->deleteProgram->vision = 'rnd,lite,or'; +$config->group->package->deleteProgram->order = 15; +$config->group->package->deleteProgram->subset = 'program'; +$config->group->package->deleteProgram->privs = array(); +$config->group->package->deleteProgram->privs['program-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('program-browse'), 'recommend' => array('program-create')); + +$config->group->package->invest = new stdclass(); +$config->group->package->invest->edition = 'open,biz,max,ipd'; +$config->group->package->invest->vision = 'rnd,lite,or'; +$config->group->package->invest->order = 5; +$config->group->package->invest->subset = 'personnel'; +$config->group->package->invest->privs = array(); +$config->group->package->invest->privs['personnel-invest'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('program-browse'), 'recommend' => array()); + +$config->group->package->accessible = new stdclass(); +$config->group->package->accessible->edition = 'open,biz,max,ipd'; +$config->group->package->accessible->vision = 'rnd,lite,or'; +$config->group->package->accessible->order = 10; +$config->group->package->accessible->subset = 'personnel'; +$config->group->package->accessible->privs = array(); +$config->group->package->accessible->privs['personnel-accessible'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('program-browse'), 'recommend' => array()); + +$config->group->package->whitelist = new stdclass(); +$config->group->package->whitelist->edition = 'open,biz,max,ipd'; +$config->group->package->whitelist->vision = 'rnd,lite,or'; +$config->group->package->whitelist->order = 15; +$config->group->package->whitelist->subset = 'personnel'; +$config->group->package->whitelist->privs = array(); +$config->group->package->whitelist->privs['program-unbindWhitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 85, 'depend' => array('personnel-whitelist', 'program-browse'), 'recommend' => array('personnel-addWhitelist')); +$config->group->package->whitelist->privs['personnel-whitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('program-browse'), 'recommend' => array()); +$config->group->package->whitelist->privs['personnel-addWhitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('personnel-whitelist', 'program-browse'), 'recommend' => array('program-unbindWhitelist')); + +$config->group->package->stakeholder = new stdclass(); +$config->group->package->stakeholder->edition = 'open,biz,max,ipd'; +$config->group->package->stakeholder->vision = 'rnd,lite,or'; +$config->group->package->stakeholder->order = 5; +$config->group->package->stakeholder->subset = 'programstakeholder'; +$config->group->package->stakeholder->privs = array(); +$config->group->package->stakeholder->privs['program-stakeholder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 65, 'depend' => array('program-browse'), 'recommend' => array()); +$config->group->package->stakeholder->privs['program-createStakeholder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 70, 'depend' => array('program-browse', 'program-stakeholder'), 'recommend' => array('program-unlinkStakeholder')); +$config->group->package->stakeholder->privs['program-unlinkStakeholder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 75, 'depend' => array('program-browse', 'program-stakeholder'), 'recommend' => array('program-createStakeholder')); +$config->group->package->stakeholder->privs['program-batchUnlinkStakeholders'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 80, 'depend' => array('program-browse', 'program-stakeholder'), 'recommend' => array('program-unlinkStakeholder')); + +$config->group->package->my = new stdclass(); +$config->group->package->my->edition = 'open,biz,max,ipd'; +$config->group->package->my->vision = 'rnd,lite,or'; +$config->group->package->my->order = 5; +$config->group->package->my->subset = 'my'; +$config->group->package->my->privs = array(); +$config->group->package->my->privs['my-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array(), 'recommend' => array('my-todo')); +$config->group->package->my->privs['my-work'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('my-index'), 'recommend' => array()); +$config->group->package->my->privs['my-contribute'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('my-index'), 'recommend' => array()); +$config->group->package->my->privs['my-project'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('my-index'), 'recommend' => array()); +$config->group->package->my->privs['my-dynamic'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array('my-index'), 'recommend' => array()); +$config->group->package->my->privs['my-score'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 70, 'depend' => array('my-index'), 'recommend' => array()); +$config->group->package->my->privs['my-execution'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('my-index'), 'recommend' => array()); +$config->group->package->my->privs['my-doc'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 55, 'depend' => array('my-index'), 'recommend' => array()); +$config->group->package->my->privs['my-audit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 7, 'depend' => array('my-index'), 'recommend' => array()); +$config->group->package->my->privs['my-meeting'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array(), 'recommend' => array()); +$config->group->package->my->privs['my-review'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 9, 'depend' => array(), 'recommend' => array()); + +$config->group->package->browseProduct = new stdclass(); +$config->group->package->browseProduct->edition = 'open,biz,max,ipd'; +$config->group->package->browseProduct->vision = 'rnd,lite,or'; +$config->group->package->browseProduct->order = 5; +$config->group->package->browseProduct->subset = 'product'; +$config->group->package->browseProduct->privs = array(); +$config->group->package->browseProduct->privs['product-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('product-all', 'product-dashboard', 'product-kanban', 'product-view')); +$config->group->package->browseProduct->privs['product-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 4, 'depend' => array('product-all', 'product-browse', 'product-dashboard'), 'recommend' => array('branch-manage', 'product-all', 'product-create', 'product-dashboard', 'product-dynamic', 'product-edit', 'product-kanban', 'product-whitelist')); +$config->group->package->browseProduct->privs['product-roadmap'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('product-all', 'product-browse', 'product-dashboard'), 'recommend' => array('release-view')); +$config->group->package->browseProduct->privs['product-track'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('product-browse'), 'recommend' => array('product-browse', 'product-requirement', 'requirement-view', 'story-view')); +$config->group->package->browseProduct->privs['product-dynamic'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 7, 'depend' => array('product-browse'), 'recommend' => array('product-all', 'product-kanban', 'product-view')); +$config->group->package->browseProduct->privs['product-project'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('product-browse'), 'recommend' => array('project-create')); +$config->group->package->browseProduct->privs['product-dashboard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 3, 'depend' => array(), 'recommend' => array('product-dynamic', 'product-roadmap')); +$config->group->package->browseProduct->privs['product-all'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 1, 'depend' => array(), 'recommend' => array('product-create', 'product-dashboard', 'product-dynamic', 'product-edit', 'product-index', 'product-kanban', 'product-updateOrder', 'product-view')); +$config->group->package->browseProduct->privs['product-kanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array('product-all', 'product-dashboard', 'product-dynamic', 'product-index', 'product-view')); + +$config->group->package->manageProductLine = new stdclass(); +$config->group->package->manageProductLine->edition = 'open,biz,max,ipd'; +$config->group->package->manageProductLine->vision = 'rnd,lite,or'; +$config->group->package->manageProductLine->order = 10; +$config->group->package->manageProductLine->subset = 'product'; +$config->group->package->manageProductLine->privs = array(); +$config->group->package->manageProductLine->privs['product-manageLine'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 90, 'depend' => array('product-all'), 'recommend' => array('product-create', 'product-edit', 'product-updateOrder')); + +$config->group->package->createProduct = new stdclass(); +$config->group->package->createProduct->edition = 'open,biz,max,ipd'; +$config->group->package->createProduct->vision = 'rnd,lite,or'; +$config->group->package->createProduct->order = 15; +$config->group->package->createProduct->subset = 'product'; +$config->group->package->createProduct->privs = array(); +$config->group->package->createProduct->privs['product-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 20, 'depend' => array('product-all'), 'recommend' => array('product-close', 'product-edit', 'product-updateOrder')); +$config->group->package->createProduct->privs['product-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 30, 'depend' => array('product-all', 'product-view'), 'recommend' => array('product-batchEdit', 'product-close', 'product-create', 'product-updateOrder')); +$config->group->package->createProduct->privs['product-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 35, 'depend' => array('product-all'), 'recommend' => array('product-edit')); +$config->group->package->createProduct->privs['product-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 70, 'depend' => array('product-view'), 'recommend' => array('product-create', 'product-edit')); +$config->group->package->createProduct->privs['product-updateOrder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 75, 'depend' => array('product-all'), 'recommend' => array('product-create', 'product-edit')); +$config->group->package->createProduct->privs['product-activate'] = array('edition' => 'ipd', 'vision' => 'or,rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); + +$config->group->package->importProduct = new stdclass(); +$config->group->package->importProduct->edition = 'open,biz,max,ipd'; +$config->group->package->importProduct->vision = 'rnd,lite,or'; +$config->group->package->importProduct->order = 20; +$config->group->package->importProduct->subset = 'product'; +$config->group->package->importProduct->privs = array(); +$config->group->package->importProduct->privs['product-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 100, 'depend' => array('product-all'), 'recommend' => array()); + +$config->group->package->productWhitelist = new stdclass(); +$config->group->package->productWhitelist->edition = 'open,biz,max,ipd'; +$config->group->package->productWhitelist->vision = 'rnd,lite,or'; +$config->group->package->productWhitelist->order = 5; +$config->group->package->productWhitelist->subset = 'productsettings'; +$config->group->package->productWhitelist->privs = array(); +$config->group->package->productWhitelist->privs['product-whitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 105, 'depend' => array('product-browse'), 'recommend' => array('product-addWhitelist', 'product-unbindWhitelist', 'product-view')); +$config->group->package->productWhitelist->privs['product-addWhitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 110, 'depend' => array('product-whitelist'), 'recommend' => array('product-create')); +$config->group->package->productWhitelist->privs['product-unbindWhitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 115, 'depend' => array('product-whitelist'), 'recommend' => array('product-addWhitelist', 'product-create')); + +$config->group->package->branch = new stdclass(); +$config->group->package->branch->edition = 'open,biz,max,ipd'; +$config->group->package->branch->vision = 'rnd,lite,or'; +$config->group->package->branch->order = 10; +$config->group->package->branch->subset = 'productsettings'; +$config->group->package->branch->privs = array(); +$config->group->package->branch->privs['branch-manage'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 0, 'depend' => array('product-view'), 'recommend' => array('branch-activate', 'branch-close', 'branch-create', 'branch-edit', 'branch-mergeBranch', 'branch-sort')); +$config->group->package->branch->privs['branch-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 1, 'depend' => array('branch-manage'), 'recommend' => array('branch-activate', 'branch-batchEdit', 'branch-close', 'branch-edit', 'branch-mergeBranch', 'branch-sort')); +$config->group->package->branch->privs['branch-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 2, 'depend' => array('branch-manage'), 'recommend' => array('branch-activate', 'branch-batchEdit', 'branch-close', 'branch-create', 'branch-mergeBranch', 'branch-sort')); +$config->group->package->branch->privs['branch-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 7, 'depend' => array('branch-manage'), 'recommend' => array('branch-activate', 'branch-batchEdit', 'branch-create', 'branch-edit', 'branch-mergeBranch', 'branch-sort')); +$config->group->package->branch->privs['branch-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 4, 'depend' => array('branch-close', 'branch-manage'), 'recommend' => array('branch-create', 'branch-edit', 'branch-mergeBranch', 'branch-sort')); +$config->group->package->branch->privs['branch-sort'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 5, 'depend' => array('branch-manage'), 'recommend' => array('branch-create', 'branch-edit')); +$config->group->package->branch->privs['branch-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 3, 'depend' => array('product-all'), 'recommend' => array('product-edit')); +$config->group->package->branch->privs['branch-mergeBranch'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 6, 'depend' => array('branch-manage'), 'recommend' => array('branch-activate', 'branch-batchEdit', 'branch-close', 'branch-create', 'branch-edit', 'branch-sort')); + +$config->group->package->browseStory = new stdclass(); +$config->group->package->browseStory->edition = 'open,biz,max,ipd'; +$config->group->package->browseStory->vision = 'rnd,lite,or'; +$config->group->package->browseStory->order = 5; +$config->group->package->browseStory->subset = 'story'; +$config->group->package->browseStory->privs = array(); +$config->group->package->browseStory->privs['product-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 10, 'depend' => array(), 'recommend' => array('story-report', 'story-view')); +$config->group->package->browseStory->privs['story-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseStory->privs['story-tasks'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 95, 'depend' => array('product-browse'), 'recommend' => array()); +$config->group->package->browseStory->privs['story-bugs'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 100, 'depend' => array('product-browse'), 'recommend' => array()); +$config->group->package->browseStory->privs['story-cases'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 105, 'depend' => array('product-browse'), 'recommend' => array()); +$config->group->package->browseStory->privs['story-report'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 110, 'depend' => array('product-browse'), 'recommend' => array()); + +$config->group->package->manageStory = new stdclass(); +$config->group->package->manageStory->edition = 'open,biz,max,ipd'; +$config->group->package->manageStory->vision = 'rnd,lite,or'; +$config->group->package->manageStory->order = 10; +$config->group->package->manageStory->subset = 'story'; +$config->group->package->manageStory->privs = array(); +$config->group->package->manageStory->privs['story-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array('story-activate', 'story-assignTo', 'story-batchCreate', 'story-change', 'story-close', 'story-edit', 'story-linkStories', 'story-linkStory', 'story-processStoryChange', 'story-recall', 'story-relation', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('product-browse'), 'recommend' => array('story-create')); +$config->group->package->manageStory->privs['story-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('story-view'), 'recommend' => array('story-activate', 'story-assignTo', 'story-batchEdit', 'story-change', 'story-close', 'story-create', 'story-linkStories', 'story-linkStory', 'story-processStoryChange', 'story-recall', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-change'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('story-view'), 'recommend' => array('story-activate', 'story-assignTo', 'story-close', 'story-create', 'story-edit', 'story-linkStories', 'story-linkStory', 'story-processStoryChange', 'story-recall', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-submitReview'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('story-view'), 'recommend' => array('story-activate', 'story-assignTo', 'story-change', 'story-close', 'story-create', 'story-edit', 'story-linkStories', 'story-linkStory', 'story-processStoryChange', 'story-recall', 'story-relieved')); +$config->group->package->manageStory->privs['story-recall'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('story-view'), 'recommend' => array('story-activate', 'story-assignTo', 'story-change', 'story-close', 'story-create', 'story-edit', 'story-linkStories', 'story-linkStory', 'story-processStoryChange', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array('story-view'), 'recommend' => array('story-activate', 'story-assignTo', 'story-change', 'story-create', 'story-edit', 'story-linkStories', 'story-linkStory', 'story-processStoryChange', 'story-recall', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-batchClose'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('product-browse'), 'recommend' => array('story-close')); +$config->group->package->manageStory->privs['story-batchChangePlan'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 9, 'depend' => array('product-browse'), 'recommend' => array('story-edit')); +$config->group->package->manageStory->privs['story-batchChangeStage'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('product-browse'), 'recommend' => array('story-edit')); +$config->group->package->manageStory->privs['story-assignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 11, 'depend' => array('product-browse'), 'recommend' => array('story-activate', 'story-change', 'story-close', 'story-create', 'story-edit', 'story-linkStories', 'story-linkStory', 'story-processStoryChange', 'story-recall', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-batchAssignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 12, 'depend' => array('product-browse'), 'recommend' => array('story-edit')); +$config->group->package->manageStory->privs['story-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 13, 'depend' => array('story-view'), 'recommend' => array('story-assignTo', 'story-change', 'story-close', 'story-create', 'story-edit', 'story-linkStories', 'story-linkStory', 'story-processStoryChange', 'story-recall', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 14, 'depend' => array('story-view'), 'recommend' => array('story-activate', 'story-assignTo', 'story-change', 'story-close', 'story-create', 'story-edit', 'story-linkStories', 'story-processStoryChange', 'story-recall', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-batchChangeBranch'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('product-browse'), 'recommend' => array('story-edit')); +$config->group->package->manageStory->privs['story-batchChangeModule'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 16, 'depend' => array('product-browse'), 'recommend' => array('story-edit')); +$config->group->package->manageStory->privs['story-processStoryChange'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 17, 'depend' => array('story-view'), 'recommend' => array('story-activate', 'story-assignTo', 'story-change', 'story-close', 'story-create', 'story-edit', 'story-linkStories', 'story-linkStory', 'story-recall', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-linkStories'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 18, 'depend' => array('story-view'), 'recommend' => array('story-activate', 'story-assignTo', 'story-change', 'story-close', 'story-create', 'story-edit', 'story-linkStory', 'story-processStoryChange', 'story-recall', 'story-relieved', 'story-submitReview')); +$config->group->package->manageStory->privs['story-relieved'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('story-view'), 'recommend' => array('story-activate', 'story-assignTo', 'story-change', 'story-close', 'story-create', 'story-edit', 'story-linkStories', 'story-linkStory', 'story-processStoryChange', 'story-recall', 'story-submitReview')); +$config->group->package->manageStory->privs['story-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('product-browse'), 'recommend' => array('story-edit')); +$config->group->package->manageStory->privs['story-relation'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 19, 'depend' => array('story-view'), 'recommend' => array()); + +$config->group->package->importStory = new stdclass(); +$config->group->package->importStory->edition = 'open,biz,max,ipd'; +$config->group->package->importStory->vision = 'rnd,lite,or'; +$config->group->package->importStory->order = 20; +$config->group->package->importStory->subset = 'story'; +$config->group->package->importStory->privs = array(); +$config->group->package->importStory->privs['story-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('product-browse'), 'recommend' => array()); +$config->group->package->importStory->privs['story-import'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('product-browse', 'story-exportTemplate'), 'recommend' => array()); +$config->group->package->importStory->privs['story-exportTemplate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('product-browse'), 'recommend' => array()); + +$config->group->package->deleteStory = new stdclass(); +$config->group->package->deleteStory->edition = 'open,biz,max,ipd'; +$config->group->package->deleteStory->vision = 'rnd,lite,or'; +$config->group->package->deleteStory->order = 25; +$config->group->package->deleteStory->subset = 'story'; +$config->group->package->deleteStory->privs = array(); +$config->group->package->deleteStory->privs['story-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('story-view'), 'recommend' => array('story-create', 'story-edit')); + +$config->group->package->reviewStory = new stdclass(); +$config->group->package->reviewStory->edition = 'open,biz,max,ipd'; +$config->group->package->reviewStory->vision = 'rnd,lite,or'; +$config->group->package->reviewStory->order = 15; +$config->group->package->reviewStory->subset = 'story'; +$config->group->package->reviewStory->privs = array(); +$config->group->package->reviewStory->privs['story-review'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('story-view'), 'recommend' => array('story-batchReview')); +$config->group->package->reviewStory->privs['story-batchReview'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 50, 'depend' => array('product-browse'), 'recommend' => array('story-review')); + +$config->group->package->deleteProduct = new stdclass(); +$config->group->package->deleteProduct->edition = 'open,biz,max,ipd'; +$config->group->package->deleteProduct->vision = 'rnd,lite,or'; +$config->group->package->deleteProduct->order = 25; +$config->group->package->deleteProduct->subset = 'product'; +$config->group->package->deleteProduct->privs = array(); +$config->group->package->deleteProduct->privs['product-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 40, 'depend' => array('product-view'), 'recommend' => array('product-create', 'product-edit')); + +$config->group->package->browseRequirement = new stdclass(); +$config->group->package->browseRequirement->edition = 'open,biz,max,ipd'; +$config->group->package->browseRequirement->vision = 'rnd,lite,or'; +$config->group->package->browseRequirement->order = 5; +$config->group->package->browseRequirement->subset = 'requirement'; +$config->group->package->browseRequirement->privs = array(); +$config->group->package->browseRequirement->privs['product-requirement'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 15, 'depend' => array('product-browse'), 'recommend' => array('requirement-report', 'requirement-view')); +$config->group->package->browseRequirement->privs['requirement-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 30, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseRequirement->privs['requirement-report'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 85, 'depend' => array('product-requirement'), 'recommend' => array()); + +$config->group->package->manageRequirement = new stdclass(); +$config->group->package->manageRequirement->edition = 'open,biz,max,ipd'; +$config->group->package->manageRequirement->vision = 'rnd,lite,or'; +$config->group->package->manageRequirement->order = 10; +$config->group->package->manageRequirement->subset = 'requirement'; +$config->group->package->manageRequirement->privs = array(); +$config->group->package->manageRequirement->privs['requirement-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 5, 'depend' => array(), 'recommend' => array('requirement-activate', 'requirement-assignTo', 'requirement-batchCreate', 'requirement-change', 'requirement-close', 'requirement-edit', 'requirement-linkRequirements', 'requirement-linkStory', 'requirement-recall', 'requirement-submitReview')); +$config->group->package->manageRequirement->privs['requirement-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 10, 'depend' => array('product-requirement'), 'recommend' => array('requirement-create')); +$config->group->package->manageRequirement->privs['requirement-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 15, 'depend' => array('requirement-view'), 'recommend' => array('requirement-activate', 'requirement-assignTo', 'requirement-batchEdit', 'requirement-change', 'requirement-close', 'requirement-create', 'requirement-linkRequirements', 'requirement-linkStory', 'requirement-recall', 'requirement-submitReview')); +$config->group->package->manageRequirement->privs['requirement-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 25, 'depend' => array('requirement-view'), 'recommend' => array('requirement-create', 'requirement-edit')); +$config->group->package->manageRequirement->privs['requirement-change'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 35, 'depend' => array('requirement-view'), 'recommend' => array('requirement-activate', 'requirement-assignTo', 'requirement-close', 'requirement-create', 'requirement-edit', 'requirement-linkRequirements', 'requirement-linkStory', 'requirement-recall', 'requirement-submitReview')); +$config->group->package->manageRequirement->privs['requirement-submitReview'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 45, 'depend' => array('requirement-view'), 'recommend' => array('requirement-activate', 'requirement-assignTo', 'requirement-change', 'requirement-close', 'requirement-create', 'requirement-edit', 'requirement-linkRequirements', 'requirement-linkStory', 'requirement-recall')); +$config->group->package->manageRequirement->privs['requirement-recall'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 55, 'depend' => array('requirement-view'), 'recommend' => array('requirement-activate', 'requirement-assignTo', 'requirement-change', 'requirement-close', 'requirement-create', 'requirement-edit', 'requirement-linkRequirements', 'requirement-linkStory', 'requirement-submitReview')); +$config->group->package->manageRequirement->privs['requirement-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 60, 'depend' => array('requirement-view'), 'recommend' => array('requirement-activate', 'requirement-assignTo', 'requirement-batchClose', 'requirement-change', 'requirement-create', 'requirement-edit', 'requirement-linkRequirements', 'requirement-linkStory', 'requirement-recall', 'requirement-submitReview')); +$config->group->package->manageRequirement->privs['requirement-batchClose'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 65, 'depend' => array('product-requirement'), 'recommend' => array('requirement-close')); +$config->group->package->manageRequirement->privs['requirement-assignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 70, 'depend' => array('requirement-view'), 'recommend' => array('requirement-activate', 'requirement-batchAssignTo', 'requirement-change', 'requirement-close', 'requirement-create', 'requirement-edit', 'requirement-linkRequirements', 'requirement-linkStory', 'requirement-recall', 'requirement-submitReview')); +$config->group->package->manageRequirement->privs['requirement-batchAssignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 75, 'depend' => array('product-requirement'), 'recommend' => array('requirement-assignTo')); +$config->group->package->manageRequirement->privs['requirement-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 80, 'depend' => array('requirement-view'), 'recommend' => array('requirement-assignTo', 'requirement-change', 'requirement-close', 'requirement-create', 'requirement-edit', 'requirement-linkRequirements', 'requirement-linkStory', 'requirement-recall', 'requirement-submitReview')); +$config->group->package->manageRequirement->privs['requirement-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 90, 'depend' => array('requirement-view'), 'recommend' => array('requirement-activate', 'requirement-assignTo', 'requirement-batchChangeModule', 'requirement-change', 'requirement-close', 'requirement-create', 'requirement-edit', 'requirement-linkRequirements', 'requirement-recall', 'requirement-submitReview')); +$config->group->package->manageRequirement->privs['requirement-batchChangeBranch'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 95, 'depend' => array('product-requirement'), 'recommend' => array('requirement-edit')); +$config->group->package->manageRequirement->privs['requirement-batchChangeModule'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 100, 'depend' => array('product-requirement'), 'recommend' => array('requirement-edit')); +$config->group->package->manageRequirement->privs['requirement-linkRequirements'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 105, 'depend' => array('requirement-view'), 'recommend' => array('requirement-activate', 'requirement-assignTo', 'requirement-change', 'requirement-close', 'requirement-create', 'requirement-edit', 'requirement-linkStory', 'requirement-recall', 'requirement-submitReview')); +$config->group->package->manageRequirement->privs['requirement-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 110, 'depend' => array('product-requirement'), 'recommend' => array('requirement-edit')); +$config->group->package->manageRequirement->privs['requirement-batchChangeRoadmap'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 125, 'depend' => array('product-requirement'), 'recommend' => array('requirement-batchCreate', 'requirement-create', 'requirement-edit')); +$config->group->package->manageRequirement->privs['requirement-relation'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 130, 'depend' => array(), 'recommend' => array()); + +$config->group->package->importRequirement = new stdclass(); +$config->group->package->importRequirement->edition = 'open,biz,max,ipd'; +$config->group->package->importRequirement->vision = 'rnd,lite,or'; +$config->group->package->importRequirement->order = 20; +$config->group->package->importRequirement->subset = 'requirement'; +$config->group->package->importRequirement->privs = array(); +$config->group->package->importRequirement->privs['requirement-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 20, 'depend' => array('product-requirement'), 'recommend' => array()); +$config->group->package->importRequirement->privs['requirement-import'] = array('edition' => 'max,ipd', 'vision' => 'rnd,or', 'order' => 115, 'depend' => array('product-requirement', 'requirement-exportTemplate'), 'recommend' => array()); +$config->group->package->importRequirement->privs['requirement-exportTemplate'] = array('edition' => 'max,ipd', 'vision' => 'rnd,or', 'order' => 120, 'depend' => array('product-requirement'), 'recommend' => array()); + +$config->group->package->deleteRequirement = new stdclass(); +$config->group->package->deleteRequirement->edition = 'open,biz,max,ipd'; +$config->group->package->deleteRequirement->vision = 'rnd,lite,or'; +$config->group->package->deleteRequirement->order = 25; +$config->group->package->deleteRequirement->subset = 'requirement'; + +$config->group->package->reviewRequirement = new stdclass(); +$config->group->package->reviewRequirement->edition = 'open,biz,max,ipd'; +$config->group->package->reviewRequirement->vision = 'rnd,lite,or'; +$config->group->package->reviewRequirement->order = 15; +$config->group->package->reviewRequirement->subset = 'requirement'; +$config->group->package->reviewRequirement->privs = array(); +$config->group->package->reviewRequirement->privs['requirement-review'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 40, 'depend' => array('requirement-view'), 'recommend' => array('requirement-batchReview')); +$config->group->package->reviewRequirement->privs['requirement-batchReview'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 50, 'depend' => array('product-requirement'), 'recommend' => array('requirement-review')); + +$config->group->package->browseProductPlan = new stdclass(); +$config->group->package->browseProductPlan->edition = 'open,biz,max,ipd'; +$config->group->package->browseProductPlan->vision = 'rnd,lite,or'; +$config->group->package->browseProductPlan->order = 5; +$config->group->package->browseProductPlan->subset = 'productplan'; +$config->group->package->browseProductPlan->privs = array(); +$config->group->package->browseProductPlan->privs['productplan-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('product-browse'), 'recommend' => array('productplan-create', 'productplan-edit', 'productplan-view')); +$config->group->package->browseProductPlan->privs['productplan-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('productplan-browse'), 'recommend' => array('productplan-create', 'productplan-edit')); + +$config->group->package->manageProductPlan = new stdclass(); +$config->group->package->manageProductPlan->edition = 'open,biz,max,ipd'; +$config->group->package->manageProductPlan->vision = 'rnd,lite,or'; +$config->group->package->manageProductPlan->order = 10; +$config->group->package->manageProductPlan->subset = 'productplan'; +$config->group->package->manageProductPlan->privs = array(); +$config->group->package->manageProductPlan->privs['productplan-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('productplan-browse'), 'recommend' => array('productplan-activate', 'productplan-close', 'productplan-edit', 'productplan-finish', 'productplan-linkBug', 'productplan-linkStory', 'productplan-start')); +$config->group->package->manageProductPlan->privs['productplan-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('productplan-view'), 'recommend' => array('productplan-activate', 'productplan-batchEdit', 'productplan-close', 'productplan-create', 'productplan-finish', 'productplan-linkBug', 'productplan-linkStory', 'productplan-start', 'productplan-unlinkBug', 'productplan-unlinkStory')); +$config->group->package->manageProductPlan->privs['productplan-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('productplan-view'), 'recommend' => array('productplan-activate', 'productplan-close', 'productplan-create', 'productplan-edit', 'productplan-finish', 'productplan-linkBug', 'productplan-start', 'productplan-unlinkBug', 'productplan-unlinkStory')); +$config->group->package->manageProductPlan->privs['productplan-unlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('productplan-view'), 'recommend' => array('productplan-activate', 'productplan-batchUnlinkStory', 'productplan-close', 'productplan-create', 'productplan-edit', 'productplan-finish', 'productplan-linkBug', 'productplan-linkStory', 'productplan-start', 'productplan-unlinkBug')); +$config->group->package->manageProductPlan->privs['productplan-batchUnlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('productplan-browse'), 'recommend' => array('productplan-unlinkStory')); +$config->group->package->manageProductPlan->privs['productplan-linkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('productplan-view'), 'recommend' => array('productplan-activate', 'productplan-close', 'productplan-create', 'productplan-edit', 'productplan-finish', 'productplan-linkStory', 'productplan-start', 'productplan-unlinkBug', 'productplan-unlinkStory')); +$config->group->package->manageProductPlan->privs['productplan-unlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array('productplan-view'), 'recommend' => array('productplan-activate', 'productplan-batchUnlinkBug', 'productplan-close', 'productplan-create', 'productplan-edit', 'productplan-finish', 'productplan-linkBug', 'productplan-linkStory', 'productplan-start', 'productplan-unlinkStory')); +$config->group->package->manageProductPlan->privs['productplan-batchUnlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('productplan-view'), 'recommend' => array('productplan-unlinkBug')); +$config->group->package->manageProductPlan->privs['productplan-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 60, 'depend' => array('productplan-browse'), 'recommend' => array('productplan-edit')); +$config->group->package->manageProductPlan->privs['productplan-start'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 65, 'depend' => array('productplan-view'), 'recommend' => array('productplan-activate', 'productplan-close', 'productplan-create', 'productplan-edit', 'productplan-finish', 'productplan-linkBug', 'productplan-linkStory', 'productplan-unlinkBug', 'productplan-unlinkStory')); +$config->group->package->manageProductPlan->privs['productplan-finish'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 70, 'depend' => array('productplan-view'), 'recommend' => array('productplan-activate', 'productplan-close', 'productplan-create', 'productplan-edit', 'productplan-linkBug', 'productplan-linkStory', 'productplan-start', 'productplan-unlinkBug', 'productplan-unlinkStory')); +$config->group->package->manageProductPlan->privs['productplan-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 75, 'depend' => array('productplan-view'), 'recommend' => array('productplan-activate', 'productplan-create', 'productplan-edit', 'productplan-finish', 'productplan-linkBug', 'productplan-linkStory', 'productplan-start', 'productplan-unlinkBug', 'productplan-unlinkStory')); +$config->group->package->manageProductPlan->privs['productplan-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 80, 'depend' => array('productplan-view'), 'recommend' => array('productplan-close', 'productplan-create', 'productplan-edit', 'productplan-finish', 'productplan-linkBug', 'productplan-linkStory', 'productplan-start', 'productplan-unlinkBug', 'productplan-unlinkStory')); +$config->group->package->manageProductPlan->privs['productplan-batchChangeStatus'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 85, 'depend' => array('productplan-browse'), 'recommend' => array('productplan-edit')); + +$config->group->package->deleteProductPlan = new stdclass(); +$config->group->package->deleteProductPlan->edition = 'open,biz,max,ipd'; +$config->group->package->deleteProductPlan->vision = 'rnd,lite,or'; +$config->group->package->deleteProductPlan->order = 15; +$config->group->package->deleteProductPlan->subset = 'productplan'; +$config->group->package->deleteProductPlan->privs = array(); +$config->group->package->deleteProductPlan->privs['productplan-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('productplan-view'), 'recommend' => array('productplan-create', 'productplan-edit')); + +$config->group->package->browseRelease = new stdclass(); +$config->group->package->browseRelease->edition = 'open,biz,max,ipd'; +$config->group->package->browseRelease->vision = 'rnd,lite,or'; +$config->group->package->browseRelease->order = 5; +$config->group->package->browseRelease->subset = 'release'; +$config->group->package->browseRelease->privs = array(); +$config->group->package->browseRelease->privs['release-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('product-browse'), 'recommend' => array('release-view')); +$config->group->package->browseRelease->privs['release-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('release-browse'), 'recommend' => array('product-roadmap')); + +$config->group->package->manageRelease = new stdclass(); +$config->group->package->manageRelease->edition = 'open,biz,max,ipd'; +$config->group->package->manageRelease->vision = 'rnd,lite,or'; +$config->group->package->manageRelease->order = 10; +$config->group->package->manageRelease->subset = 'release'; +$config->group->package->manageRelease->privs = array(); +$config->group->package->manageRelease->privs['release-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('release-browse'), 'recommend' => array('release-changeStatus', 'release-edit', 'release-linkBug', 'release-linkStory', 'release-notify', 'release-unlinkBug', 'release-unlinkStory')); +$config->group->package->manageRelease->privs['release-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('release-view'), 'recommend' => array('release-changeStatus', 'release-create', 'release-linkBug', 'release-linkStory', 'release-notify', 'release-unlinkBug', 'release-unlinkStory')); +$config->group->package->manageRelease->privs['release-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('release-view'), 'recommend' => array('release-changeStatus', 'release-create', 'release-edit', 'release-linkBug', 'release-notify', 'release-unlinkBug', 'release-unlinkStory')); +$config->group->package->manageRelease->privs['release-unlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('release-view'), 'recommend' => array('release-batchUnlinkStory', 'release-changeStatus', 'release-create', 'release-edit', 'release-linkBug', 'release-linkStory', 'release-notify', 'release-unlinkBug')); +$config->group->package->manageRelease->privs['release-batchUnlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('release-view'), 'recommend' => array('release-unlinkStory')); +$config->group->package->manageRelease->privs['release-linkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array('release-view'), 'recommend' => array('release-changeStatus', 'release-create', 'release-edit', 'release-linkStory', 'release-notify', 'release-unlinkBug', 'release-unlinkStory')); +$config->group->package->manageRelease->privs['release-unlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('release-view'), 'recommend' => array('release-batchUnlinkBug', 'release-changeStatus', 'release-create', 'release-edit', 'release-linkBug', 'release-linkStory', 'release-notify', 'release-unlinkStory')); +$config->group->package->manageRelease->privs['release-batchUnlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 60, 'depend' => array('release-view'), 'recommend' => array('release-unlinkBug')); +$config->group->package->manageRelease->privs['release-changeStatus'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 65, 'depend' => array('release-view'), 'recommend' => array('release-create', 'release-edit', 'release-linkBug', 'release-linkStory', 'release-notify', 'release-unlinkBug', 'release-unlinkStory')); + +$config->group->package->importRelease = new stdclass(); +$config->group->package->importRelease->edition = 'open,biz,max,ipd'; +$config->group->package->importRelease->vision = 'rnd,lite,or'; +$config->group->package->importRelease->order = 20; +$config->group->package->importRelease->subset = 'release'; +$config->group->package->importRelease->privs = array(); +$config->group->package->importRelease->privs['release-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('release-view'), 'recommend' => array()); + +$config->group->package->deleteRelease = new stdclass(); +$config->group->package->deleteRelease->edition = 'open,biz,max,ipd'; +$config->group->package->deleteRelease->vision = 'rnd,lite,or'; +$config->group->package->deleteRelease->order = 25; +$config->group->package->deleteRelease->subset = 'release'; +$config->group->package->deleteRelease->privs = array(); +$config->group->package->deleteRelease->privs['release-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('release-view'), 'recommend' => array('release-create', 'release-edit')); + +$config->group->package->releaseNotify = new stdclass(); +$config->group->package->releaseNotify->edition = 'open,biz,max,ipd'; +$config->group->package->releaseNotify->vision = 'rnd,lite,or'; +$config->group->package->releaseNotify->order = 15; +$config->group->package->releaseNotify->subset = 'release'; +$config->group->package->releaseNotify->privs = array(); +$config->group->package->releaseNotify->privs['release-notify'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 70, 'depend' => array('release-view'), 'recommend' => array('release-create', 'release-edit', 'release-linkBug', 'release-linkStory', 'release-unlinkBug', 'release-unlinkStory')); + +$config->group->package->projectPlan = new stdclass(); +$config->group->package->projectPlan->edition = 'open,biz,max,ipd'; +$config->group->package->projectPlan->vision = 'rnd,lite,or'; +$config->group->package->projectPlan->order = 5; +$config->group->package->projectPlan->subset = 'projectplan'; +$config->group->package->projectPlan->privs = array(); +$config->group->package->projectPlan->privs['projectplan-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index'), 'recommend' => array('projectplan-create', 'projectplan-edit')); +$config->group->package->projectPlan->privs['projectplan-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('projectplan-browse'), 'recommend' => array('projectplan-edit')); +$config->group->package->projectPlan->privs['projectplan-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('projectplan-browse'), 'recommend' => array('projectplan-create')); +$config->group->package->projectPlan->privs['projectplan-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('projectplan-browse'), 'recommend' => array()); + +$config->group->package->manageProjectStory = new stdclass(); +$config->group->package->manageProjectStory->edition = 'open,biz,max,ipd'; +$config->group->package->manageProjectStory->vision = 'rnd,lite,or'; +$config->group->package->manageProjectStory->order = 10; +$config->group->package->manageProjectStory->subset = 'projectstory'; +$config->group->package->manageProjectStory->privs = array(); +$config->group->package->manageProjectStory->privs['story-batchToTask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 130, 'depend' => array('projectstory-story'), 'recommend' => array('execution-task')); +$config->group->package->manageProjectStory->privs['projectstory-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('projectstory-story'), 'recommend' => array('projectstory-importFromLib', 'projectstory-importplanstories', 'projectstory-unlinkStory', 'story-batchToTask')); +$config->group->package->manageProjectStory->privs['projectstory-importplanstories'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('projectstory-story'), 'recommend' => array('projectstory-importFromLib', 'projectstory-linkStory', 'projectstory-unlinkStory', 'story-batchToTask')); +$config->group->package->manageProjectStory->privs['projectstory-unlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array('projectstory-story'), 'recommend' => array('projectstory-batchUnlinkStory', 'projectstory-importFromLib', 'projectstory-importplanstories', 'projectstory-linkStory', 'story-batchToTask')); +$config->group->package->manageProjectStory->privs['projectstory-batchUnlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 35, 'depend' => array('projectstory-story'), 'recommend' => array('projectstory-unlinkStory')); +$config->group->package->manageProjectStory->privs['projectstory-importFromLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('projectstory-story'), 'recommend' => array('assetlib-story', 'assetlib-storylib', 'projectstory-batchUnlinkStory', 'projectstory-importplanstories', 'projectstory-linkStory', 'projectstory-unlinkStory', 'story-batchToTask')); + +$config->group->package->browseProject = new stdclass(); +$config->group->package->browseProject->edition = 'open,biz,max,ipd'; +$config->group->package->browseProject->vision = 'rnd,lite,or'; +$config->group->package->browseProject->order = 5; +$config->group->package->browseProject->subset = 'project'; +$config->group->package->browseProject->privs = array(); +$config->group->package->browseProject->privs['project-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array(), 'recommend' => array('project-browse', 'project-kanban')); +$config->group->package->browseProject->privs['project-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('project-index'), 'recommend' => array('project-create', 'project-dynamic', 'project-edit', 'project-index', 'project-kanban', 'project-updateOrder', 'project-view')); +$config->group->package->browseProject->privs['project-kanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('project-index'), 'recommend' => array('project-browse', 'project-dynamic', 'project-view')); +$config->group->package->browseProject->privs['project-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 100, 'depend' => array('project-index'), 'recommend' => array('project-create', 'project-edit', 'project-group', 'project-manageProducts', 'project-team', 'stakeholder-browse')); +$config->group->package->browseProject->privs['project-dynamic'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 125, 'depend' => array('project-index'), 'recommend' => array('project-browse', 'project-view')); +$config->group->package->browseProject->privs['project-execution'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 160, 'depend' => array('project-index'), 'recommend' => array('execution-create')); + +$config->group->package->manageProject = new stdclass(); +$config->group->package->manageProject->edition = 'open,biz,max,ipd'; +$config->group->package->manageProject->vision = 'rnd,lite,or'; +$config->group->package->manageProject->order = 10; +$config->group->package->manageProject->subset = 'project'; +$config->group->package->manageProject->privs = array(); +$config->group->package->manageProject->privs['project-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('project-browse'), 'recommend' => array('project-activate', 'project-close', 'project-edit', 'project-group', 'project-manageProducts', 'project-start', 'project-suspend', 'project-team', 'project-updateOrder', 'project-whitelist')); +$config->group->package->manageProject->privs['project-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('project-browse'), 'recommend' => array('project-activate', 'project-batchEdit', 'project-close', 'project-create', 'project-manageProducts', 'project-start', 'project-suspend', 'project-updateOrder')); +$config->group->package->manageProject->privs['project-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('project-browse'), 'recommend' => array('project-edit')); +$config->group->package->manageProject->privs['project-start'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('project-browse'), 'recommend' => array('project-activate', 'project-batchEdit', 'project-close', 'project-create', 'project-edit', 'project-suspend')); +$config->group->package->manageProject->privs['project-suspend'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('project-browse'), 'recommend' => array('project-activate', 'project-batchEdit', 'project-close', 'project-create', 'project-edit', 'project-start')); +$config->group->package->manageProject->privs['project-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('project-browse'), 'recommend' => array('project-activate', 'project-batchEdit', 'project-create', 'project-edit', 'project-start', 'project-suspend')); +$config->group->package->manageProject->privs['project-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('project-browse'), 'recommend' => array('project-batchEdit', 'project-close', 'project-create', 'project-edit', 'project-start', 'project-suspend')); +$config->group->package->manageProject->privs['project-updateOrder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array('project-browse'), 'recommend' => array('project-create', 'project-edit')); +$config->group->package->manageProject->privs['project-manageProducts'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('project-browse'), 'recommend' => array('project-create', 'project-edit')); +$config->group->package->manageProject->privs['project-programTitle'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('project-browse'), 'recommend' => array('program-browse')); + +$config->group->package->importProject = new stdclass(); +$config->group->package->importProject->edition = 'open,biz,max,ipd'; +$config->group->package->importProject->vision = 'rnd,lite,or'; +$config->group->package->importProject->order = 15; +$config->group->package->importProject->subset = 'project'; +$config->group->package->importProject->privs = array(); +$config->group->package->importProject->privs['project-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 165, 'depend' => array('project-browse'), 'recommend' => array()); +$config->group->package->importProject->privs['doc-importToPracticeLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 150, 'depend' => array(), 'recommend' => array()); +$config->group->package->importProject->privs['doc-importToComponentLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 155, 'depend' => array(), 'recommend' => array()); + +$config->group->package->projectTeam = new stdclass(); +$config->group->package->projectTeam->edition = 'open,biz,max,ipd'; +$config->group->package->projectTeam->vision = 'rnd,lite,or'; +$config->group->package->projectTeam->order = 15; +$config->group->package->projectTeam->subset = 'projectsettings'; +$config->group->package->projectTeam->privs = array(); +$config->group->package->projectTeam->privs['project-group'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('project-index'), 'recommend' => array('project-create', 'project-createGroup', 'project-edit')); +$config->group->package->projectTeam->privs['project-createGroup'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('project-group'), 'recommend' => array('project-copyGroup', 'project-editGroup', 'project-manageGroupMember', 'project-managePriv')); +$config->group->package->projectTeam->privs['project-managePriv'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('project-group'), 'recommend' => array('project-copyGroup', 'project-createGroup', 'project-editGroup', 'project-manageGroupMember')); +$config->group->package->projectTeam->privs['project-manageMembers'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('project-team'), 'recommend' => array('project-unlinkMember')); +$config->group->package->projectTeam->privs['project-manageGroupMember'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('project-group'), 'recommend' => array('project-copyGroup', 'project-createGroup', 'project-editGroup', 'project-managePriv')); +$config->group->package->projectTeam->privs['project-copyGroup'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('project-group'), 'recommend' => array('project-createGroup', 'project-editGroup', 'project-manageGroupMember', 'project-managePriv')); +$config->group->package->projectTeam->privs['project-editGroup'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('project-group'), 'recommend' => array('project-copyGroup', 'project-createGroup', 'project-manageGroupMember', 'project-managePriv')); +$config->group->package->projectTeam->privs['project-team'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array(), 'recommend' => array('project-manageMembers', 'project-unlinkMember')); +$config->group->package->projectTeam->privs['project-unlinkMember'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('project-team'), 'recommend' => array('project-manageMembers')); + +$config->group->package->deleteProject = new stdclass(); +$config->group->package->deleteProject->edition = 'open,biz,max,ipd'; +$config->group->package->deleteProject->vision = 'rnd,lite,or'; +$config->group->package->deleteProject->order = 20; +$config->group->package->deleteProject->subset = 'project'; +$config->group->package->deleteProject->privs = array(); +$config->group->package->deleteProject->privs['project-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 95, 'depend' => array('project-browse'), 'recommend' => array('project-create', 'project-edit')); + +$config->group->package->projectWhitelist = new stdclass(); +$config->group->package->projectWhitelist->edition = 'open,biz,max,ipd'; +$config->group->package->projectWhitelist->vision = 'rnd,lite,or'; +$config->group->package->projectWhitelist->order = 10; +$config->group->package->projectWhitelist->subset = 'projectsettings'; +$config->group->package->projectWhitelist->privs = array(); +$config->group->package->projectWhitelist->privs['project-whitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 105, 'depend' => array('project-index'), 'recommend' => array('project-addWhitelist', 'project-unbindWhitelist', 'project-view')); +$config->group->package->projectWhitelist->privs['project-addWhitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 110, 'depend' => array('project-whitelist'), 'recommend' => array('project-unbindWhitelist')); +$config->group->package->projectWhitelist->privs['project-unbindWhitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 115, 'depend' => array('project-whitelist'), 'recommend' => array('project-addWhitelist')); + +$config->group->package->browseExecution = new stdclass(); +$config->group->package->browseExecution->edition = 'open,biz,max,ipd'; +$config->group->package->browseExecution->vision = 'rnd,lite,or'; +$config->group->package->browseExecution->order = 5; +$config->group->package->browseExecution->subset = 'execution'; +$config->group->package->browseExecution->privs = array(); +$config->group->package->browseExecution->privs['execution-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array(), 'recommend' => array('execution-all', 'execution-doc', 'execution-dynamic')); +$config->group->package->browseExecution->privs['execution-dynamic'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array(), 'recommend' => array('execution-all', 'execution-doc', 'execution-view')); +$config->group->package->browseExecution->privs['execution-updateOrder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('execution-all'), 'recommend' => array('execution-all', 'execution-doc', 'execution-dynamic', 'execution-view')); +$config->group->package->browseExecution->privs['execution-all'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array('execution-create', 'execution-doc', 'execution-dynamic', 'execution-edit', 'execution-updateOrder', 'execution-view')); +$config->group->package->browseExecution->privs['execution-doc'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array(), 'recommend' => array('execution-all', 'execution-dynamic', 'execution-view')); +$config->group->package->browseExecution->privs['execution-effortCalendar'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageExecution = new stdclass(); +$config->group->package->manageExecution->edition = 'open,biz,max,ipd'; +$config->group->package->manageExecution->vision = 'rnd,lite,or'; +$config->group->package->manageExecution->order = 10; +$config->group->package->manageExecution->subset = 'execution'; +$config->group->package->manageExecution->privs = array(); +$config->group->package->manageExecution->privs['execution-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('execution-all'), 'recommend' => array('execution-activate', 'execution-close', 'execution-edit', 'execution-manageProducts', 'execution-putoff', 'execution-start', 'execution-suspend')); +$config->group->package->manageExecution->privs['execution-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('execution-all'), 'recommend' => array('execution-activate', 'execution-batchedit', 'execution-close', 'execution-create', 'execution-manageProducts', 'execution-putoff', 'execution-start', 'execution-suspend')); +$config->group->package->manageExecution->privs['execution-batchedit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('execution-all'), 'recommend' => array('execution-edit')); +$config->group->package->manageExecution->privs['execution-batchchangestatus'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('execution-all'), 'recommend' => array('execution-edit')); +$config->group->package->manageExecution->privs['execution-start'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('execution-all'), 'recommend' => array('execution-activate', 'execution-close', 'execution-create', 'execution-edit', 'execution-putoff', 'execution-suspend')); +$config->group->package->manageExecution->privs['execution-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('execution-all'), 'recommend' => array('execution-close', 'execution-create', 'execution-edit', 'execution-putoff', 'execution-start', 'execution-suspend')); +$config->group->package->manageExecution->privs['execution-putoff'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array('execution-all'), 'recommend' => array('execution-activate', 'execution-close', 'execution-create', 'execution-edit', 'execution-start', 'execution-suspend')); +$config->group->package->manageExecution->privs['execution-suspend'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('execution-all'), 'recommend' => array('execution-activate', 'execution-close', 'execution-create', 'execution-edit', 'execution-putoff', 'execution-start')); +$config->group->package->manageExecution->privs['execution-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 9, 'depend' => array('execution-all'), 'recommend' => array('execution-activate', 'execution-create', 'execution-edit', 'execution-putoff', 'execution-start', 'execution-suspend')); +$config->group->package->manageExecution->privs['execution-manageProducts'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('execution-all'), 'recommend' => array('execution-create', 'execution-edit')); + +$config->group->package->deleteExecution = new stdclass(); +$config->group->package->deleteExecution->edition = 'open,biz,max,ipd'; +$config->group->package->deleteExecution->vision = 'rnd,lite,or'; +$config->group->package->deleteExecution->order = 20; +$config->group->package->deleteExecution->subset = 'execution'; +$config->group->package->deleteExecution->privs = array(); +$config->group->package->deleteExecution->privs['execution-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 60, 'depend' => array('execution-all'), 'recommend' => array('execution-create', 'execution-edit')); + +$config->group->package->importExecution = new stdclass(); +$config->group->package->importExecution->edition = 'open,biz,max,ipd'; +$config->group->package->importExecution->vision = 'rnd,lite,or'; +$config->group->package->importExecution->order = 15; +$config->group->package->importExecution->subset = 'execution'; +$config->group->package->importExecution->privs = array(); +$config->group->package->importExecution->privs['execution-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 225, 'depend' => array('execution-all'), 'recommend' => array()); +$config->group->package->importExecution->privs['doc-execution2export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 145, 'depend' => array(), 'recommend' => array()); + +$config->group->package->executionWhitelist = new stdclass(); +$config->group->package->executionWhitelist->edition = 'open,biz,max,ipd'; +$config->group->package->executionWhitelist->vision = 'rnd,lite,or'; +$config->group->package->executionWhitelist->order = 10; +$config->group->package->executionWhitelist->subset = 'executionsettings'; +$config->group->package->executionWhitelist->privs = array(); +$config->group->package->executionWhitelist->privs['execution-whitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 240, 'depend' => array(), 'recommend' => array('execution-addWhitelist', 'execution-unbindWhitelist')); +$config->group->package->executionWhitelist->privs['execution-addWhitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 245, 'depend' => array('execution-whitelist'), 'recommend' => array('execution-unbindWhitelist')); +$config->group->package->executionWhitelist->privs['execution-unbindWhitelist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 250, 'depend' => array('execution-whitelist'), 'recommend' => array('execution-addWhitelist')); + +$config->group->package->gantt = new stdclass(); +$config->group->package->gantt->edition = 'open,biz,max,ipd'; +$config->group->package->gantt->vision = 'rnd,lite,or'; +$config->group->package->gantt->order = 5; +$config->group->package->gantt->subset = 'executionview'; +$config->group->package->gantt->privs = array(); +$config->group->package->gantt->privs['execution-gantt'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array('execution-calendar', 'execution-ganttEdit', 'execution-ganttsetting', 'execution-grouptask', 'execution-taskEffort', 'execution-tree')); +$config->group->package->gantt->privs['execution-ganttsetting'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('execution-gantt'), 'recommend' => array()); +$config->group->package->gantt->privs['execution-ganttEdit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('execution-gantt'), 'recommend' => array()); + +$config->group->package->browseTask = new stdclass(); +$config->group->package->browseTask->edition = 'open,biz,max,ipd'; +$config->group->package->browseTask->vision = 'rnd,lite,or'; +$config->group->package->browseTask->order = 5; +$config->group->package->browseTask->subset = 'task'; +$config->group->package->browseTask->privs = array(); +$config->group->package->browseTask->privs['execution-task'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 65, 'depend' => array(), 'recommend' => array('task-create', 'task-report', 'task-view')); +$config->group->package->browseTask->privs['task-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 80, 'depend' => array('execution-task'), 'recommend' => array('task-activate', 'task-assignTo', 'task-cancel', 'task-close', 'task-create', 'task-edit', 'task-finish', 'task-pause', 'task-restart', 'task-start')); +$config->group->package->browseTask->privs['task-report'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 110, 'depend' => array('execution-task'), 'recommend' => array()); + +$config->group->package->manageTask = new stdclass(); +$config->group->package->manageTask->edition = 'open,biz,max,ipd'; +$config->group->package->manageTask->vision = 'rnd,lite,or'; +$config->group->package->manageTask->order = 10; +$config->group->package->manageTask->subset = 'task'; +$config->group->package->manageTask->privs = array(); +$config->group->package->manageTask->privs['execution-importtask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('execution-task'), 'recommend' => array('task-create', 'task-edit')); +$config->group->package->manageTask->privs['execution-importplanstories'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 16, 'depend' => array('execution-task'), 'recommend' => array('task-create', 'task-edit')); +$config->group->package->manageTask->privs['execution-importBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 17, 'depend' => array('execution-task'), 'recommend' => array('task-create', 'task-edit')); +$config->group->package->manageTask->privs['task-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('execution-task'), 'recommend' => array('execution-importBug', 'execution-importplanstories', 'task-activate', 'task-assignTo', 'task-batchCreate', 'task-cancel', 'task-close', 'task-edit', 'task-finish', 'task-pause', 'task-restart', 'task-start')); +$config->group->package->manageTask->privs['task-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('execution-task'), 'recommend' => array('task-create')); +$config->group->package->manageTask->privs['task-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('execution-task'), 'recommend' => array('task-edit')); +$config->group->package->manageTask->privs['task-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('execution-task'), 'recommend' => array('task-activate', 'task-assignTo', 'task-batchChangeModule', 'task-batchEdit', 'task-cancel', 'task-close', 'task-confirmdesignchange', 'task-confirmStoryChange', 'task-create', 'task-finish', 'task-pause', 'task-restart', 'task-start')); +$config->group->package->manageTask->privs['task-assignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('execution-task'), 'recommend' => array('task-activate', 'task-batchAssignTo', 'task-cancel', 'task-close', 'task-create', 'task-edit', 'task-finish', 'task-pause', 'task-restart', 'task-start')); +$config->group->package->manageTask->privs['task-batchAssignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('execution-task'), 'recommend' => array('task-assignTo')); +$config->group->package->manageTask->privs['task-start'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('execution-task'), 'recommend' => array('task-activate', 'task-assignTo', 'task-cancel', 'task-close', 'task-create', 'task-edit', 'task-finish', 'task-pause', 'task-restart')); +$config->group->package->manageTask->privs['task-pause'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array('execution-task'), 'recommend' => array('task-activate', 'task-assignTo', 'task-cancel', 'task-close', 'task-create', 'task-edit', 'task-finish', 'task-restart', 'task-start')); +$config->group->package->manageTask->privs['task-restart'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('execution-task'), 'recommend' => array('task-activate', 'task-assignTo', 'task-cancel', 'task-close', 'task-create', 'task-edit', 'task-finish', 'task-pause', 'task-start')); +$config->group->package->manageTask->privs['task-finish'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 9, 'depend' => array('execution-task'), 'recommend' => array('task-activate', 'task-assignTo', 'task-cancel', 'task-close', 'task-create', 'task-edit', 'task-pause', 'task-restart', 'task-start')); +$config->group->package->manageTask->privs['task-cancel'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('execution-task'), 'recommend' => array('task-activate', 'task-assignTo', 'task-batchCancel', 'task-close', 'task-create', 'task-edit', 'task-finish', 'task-pause', 'task-restart', 'task-start')); +$config->group->package->manageTask->privs['task-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 12, 'depend' => array('execution-task'), 'recommend' => array('task-activate', 'task-assignTo', 'task-batchClose', 'task-cancel', 'task-create', 'task-edit', 'task-finish', 'task-pause', 'task-restart', 'task-start')); +$config->group->package->manageTask->privs['task-batchClose'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 13, 'depend' => array('execution-task'), 'recommend' => array('task-close', 'task-deleteEstimate', 'task-editEstimate')); +$config->group->package->manageTask->privs['task-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 14, 'depend' => array('execution-task'), 'recommend' => array('task-assignTo', 'task-cancel', 'task-close', 'task-create', 'task-edit', 'task-finish', 'task-pause', 'task-restart', 'task-start')); +$config->group->package->manageTask->privs['task-confirmStoryChange'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 18, 'depend' => array('execution-task'), 'recommend' => array('task-edit')); +$config->group->package->manageTask->privs['task-recordEstimate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('execution-task'), 'recommend' => array('task-deleteEstimate', 'task-editEstimate')); +$config->group->package->manageTask->privs['task-editEstimate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 21, 'depend' => array('execution-task', 'task-recordEstimate'), 'recommend' => array('task-deleteEstimate')); +$config->group->package->manageTask->privs['task-deleteEstimate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 22, 'depend' => array('execution-task', 'task-recordEstimate'), 'recommend' => array('task-editEstimate')); +$config->group->package->manageTask->privs['task-batchChangeModule'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 23, 'depend' => array('execution-task'), 'recommend' => array('task-edit')); +$config->group->package->manageTask->privs['task-batchCancel'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 11, 'depend' => array('execution-task'), 'recommend' => array('task-cancel')); +$config->group->package->manageTask->privs['task-confirmdesignchange'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 19, 'depend' => array('execution-task'), 'recommend' => array('task-edit')); + +$config->group->package->deleteTask = new stdclass(); +$config->group->package->deleteTask->edition = 'open,biz,max,ipd'; +$config->group->package->deleteTask->vision = 'rnd,lite,or'; +$config->group->package->deleteTask->order = 20; +$config->group->package->deleteTask->subset = 'task'; +$config->group->package->deleteTask->privs = array(); +$config->group->package->deleteTask->privs['task-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 75, 'depend' => array('execution-task'), 'recommend' => array('task-create', 'task-edit')); + +$config->group->package->importTask = new stdclass(); +$config->group->package->importTask->edition = 'open,biz,max,ipd'; +$config->group->package->importTask->vision = 'rnd,lite,or'; +$config->group->package->importTask->order = 15; +$config->group->package->importTask->subset = 'task'; +$config->group->package->importTask->privs = array(); +$config->group->package->importTask->privs['task-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('execution-task'), 'recommend' => array()); +$config->group->package->importTask->privs['task-import'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('execution-task', 'task-exportTemplate'), 'recommend' => array()); +$config->group->package->importTask->privs['task-exportTemplate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('execution-task'), 'recommend' => array('task-import')); + +$config->group->package->executionTeam = new stdclass(); +$config->group->package->executionTeam->edition = 'open,biz,max,ipd'; +$config->group->package->executionTeam->vision = 'rnd,lite,or'; +$config->group->package->executionTeam->order = 5; +$config->group->package->executionTeam->subset = 'executionsettings'; +$config->group->package->executionTeam->privs = array(); +$config->group->package->executionTeam->privs['execution-team'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array('execution-manageMembers', 'execution-unlinkMember')); +$config->group->package->executionTeam->privs['execution-manageMembers'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('execution-team'), 'recommend' => array('execution-unlinkMember')); +$config->group->package->executionTeam->privs['execution-unlinkMember'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('execution-team'), 'recommend' => array('execution-manageMembers')); + +$config->group->package->kanban = new stdclass(); +$config->group->package->kanban->edition = 'open,biz,max,ipd'; +$config->group->package->kanban->vision = 'rnd,lite,or'; +$config->group->package->kanban->order = 5; +$config->group->package->kanban->subset = 'executionkanban'; +$config->group->package->kanban->privs = array(); +$config->group->package->kanban->privs['execution-taskKanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('execution-executionkanban'), 'recommend' => array('execution-executionkanban', 'execution-setKanban')); +$config->group->package->kanban->privs['execution-printKanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('execution-executionkanban'), 'recommend' => array()); +$config->group->package->kanban->privs['execution-executionkanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('execution-setKanban')); +$config->group->package->kanban->privs['execution-kanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('execution-executionkanban'), 'recommend' => array('execution-executionkanban', 'execution-setKanban')); +$config->group->package->kanban->privs['execution-setKanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('execution-executionkanban'), 'recommend' => array()); + +$config->group->package->groupView = new stdclass(); +$config->group->package->groupView->edition = 'open,biz,max,ipd'; +$config->group->package->groupView->vision = 'rnd,lite,or'; +$config->group->package->groupView->order = 15; +$config->group->package->groupView->subset = 'executionview'; +$config->group->package->groupView->privs = array(); +$config->group->package->groupView->privs['execution-grouptask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array('execution-calendar', 'execution-gantt', 'execution-taskEffort', 'execution-tree')); + +$config->group->package->burndown = new stdclass(); +$config->group->package->burndown->edition = 'open,biz,max,ipd'; +$config->group->package->burndown->vision = 'rnd,lite,or'; +$config->group->package->burndown->order = 5; +$config->group->package->burndown->subset = 'executionburn'; +$config->group->package->burndown->privs = array(); +$config->group->package->burndown->privs['execution-burn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 120, 'depend' => array(), 'recommend' => array('execution-computeBurn', 'execution-fixFirst')); +$config->group->package->burndown->privs['execution-computeBurn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 125, 'depend' => array('execution-burn'), 'recommend' => array('execution-fixFirst')); +$config->group->package->burndown->privs['execution-fixFirst'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 140, 'depend' => array('execution-burn'), 'recommend' => array('execution-computeBurn')); + +$config->group->package->cfd = new stdclass(); +$config->group->package->cfd->edition = 'open,biz,max,ipd'; +$config->group->package->cfd->vision = 'rnd,lite,or'; +$config->group->package->cfd->order = 5; +$config->group->package->cfd->subset = 'executioncfd'; +$config->group->package->cfd->privs = array(); +$config->group->package->cfd->privs['execution-cfd'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 130, 'depend' => array(), 'recommend' => array('execution-computeCFD')); +$config->group->package->cfd->privs['execution-computeCFD'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 135, 'depend' => array('execution-cfd'), 'recommend' => array()); + +$config->group->package->manageExecutionStory = new stdclass(); +$config->group->package->manageExecutionStory->edition = 'open,biz,max,ipd'; +$config->group->package->manageExecutionStory->vision = 'rnd,lite,or'; +$config->group->package->manageExecutionStory->order = 10; +$config->group->package->manageExecutionStory->subset = 'executionstory'; +$config->group->package->manageExecutionStory->privs = array(); +$config->group->package->manageExecutionStory->privs['execution-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('execution-story'), 'recommend' => array('execution-storyEstimate', 'execution-storyKanban', 'execution-storySort', 'execution-storyView', 'execution-unlinkStory')); +$config->group->package->manageExecutionStory->privs['execution-unlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('execution-story'), 'recommend' => array('execution-linkStory', 'execution-storyEstimate', 'execution-storyKanban', 'execution-storySort', 'execution-storyView')); +$config->group->package->manageExecutionStory->privs['execution-batchUnlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('execution-story'), 'recommend' => array('execution-unlinkStory')); +$config->group->package->manageExecutionStory->privs['execution-storySort'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('execution-story'), 'recommend' => array('execution-linkStory', 'execution-storyEstimate', 'execution-storyKanban', 'execution-storyView', 'execution-unlinkStory')); +$config->group->package->manageExecutionStory->privs['execution-storyEstimate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('execution-story'), 'recommend' => array('execution-linkStory', 'execution-storyKanban', 'execution-storySort', 'execution-storyView', 'execution-unlinkStory')); + +$config->group->package->manageExecutionEffort = new stdclass(); +$config->group->package->manageExecutionEffort->edition = 'open,biz,max,ipd'; +$config->group->package->manageExecutionEffort->vision = 'rnd,lite,or'; +$config->group->package->manageExecutionEffort->order = 25; +$config->group->package->manageExecutionEffort->subset = 'execution'; +$config->group->package->manageExecutionEffort->privs = array(); +$config->group->package->manageExecutionEffort->privs['execution-effort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageBuild = new stdclass(); +$config->group->package->manageBuild->edition = 'open,biz,max,ipd'; +$config->group->package->manageBuild->vision = 'rnd,lite,or'; +$config->group->package->manageBuild->order = 10; +$config->group->package->manageBuild->subset = 'build'; +$config->group->package->manageBuild->privs = array(); +$config->group->package->manageBuild->privs['build-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('execution-build'), 'recommend' => array('build-edit', 'build-linkBug', 'build-linkStory', 'build-unlinkBug', 'build-unlinkStory')); +$config->group->package->manageBuild->privs['build-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('execution-build'), 'recommend' => array('build-create', 'build-linkBug', 'build-linkStory', 'build-unlinkBug', 'build-unlinkStory')); +$config->group->package->manageBuild->privs['build-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('execution-build'), 'recommend' => array('build-create', 'build-edit', 'build-linkBug', 'build-unlinkBug', 'build-unlinkStory')); +$config->group->package->manageBuild->privs['build-unlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('execution-build'), 'recommend' => array('build-batchUnlinkStory', 'build-create', 'build-edit', 'build-linkBug', 'build-linkStory', 'build-unlinkBug')); +$config->group->package->manageBuild->privs['build-batchUnlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('execution-build'), 'recommend' => array('build-unlinkStory')); +$config->group->package->manageBuild->privs['build-linkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('execution-build'), 'recommend' => array('build-create', 'build-edit', 'build-linkStory', 'build-unlinkBug', 'build-unlinkStory')); +$config->group->package->manageBuild->privs['build-unlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('execution-build'), 'recommend' => array('build-batchUnlinkBug', 'build-create', 'build-edit', 'build-linkBug', 'build-linkStory', 'build-unlinkStory')); +$config->group->package->manageBuild->privs['build-batchUnlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('execution-build'), 'recommend' => array('build-unlinkBug')); + +$config->group->package->deleteBuild = new stdclass(); +$config->group->package->deleteBuild->edition = 'open,biz,max,ipd'; +$config->group->package->deleteBuild->vision = 'rnd,lite,or'; +$config->group->package->deleteBuild->order = 15; +$config->group->package->deleteBuild->subset = 'build'; +$config->group->package->deleteBuild->privs = array(); +$config->group->package->deleteBuild->privs['build-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('execution-build'), 'recommend' => array('build-create', 'build-edit')); + +$config->group->package->browseStoryLib = new stdclass(); +$config->group->package->browseStoryLib->edition = 'open,biz,max,ipd'; +$config->group->package->browseStoryLib->vision = 'rnd,lite,or'; +$config->group->package->browseStoryLib->order = 5; +$config->group->package->browseStoryLib->subset = 'storylib'; +$config->group->package->browseStoryLib->privs = array(); +$config->group->package->browseStoryLib->privs['assetlib-storylib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('assetlib-createStorylib', 'assetlib-editStorylib', 'assetlib-story', 'assetlib-storylibSort', 'assetlib-storyLibView')); +$config->group->package->browseStoryLib->privs['assetlib-storyLibView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-editStorylib')); +$config->group->package->browseStoryLib->privs['assetlib-story'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('assetlib-storylib'), 'recommend' => array('assetlib-assignToStory', 'assetlib-editStory', 'assetlib-importStory', 'assetlib-removeStory', 'assetlib-storyView')); +$config->group->package->browseStoryLib->privs['assetlib-storyView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-assignToStory', 'assetlib-editStory', 'assetlib-importStory', 'assetlib-removeStory')); + +$config->group->package->manageStoryLib = new stdclass(); +$config->group->package->manageStoryLib->edition = 'open,biz,max,ipd'; +$config->group->package->manageStoryLib->vision = 'rnd,lite,or'; +$config->group->package->manageStoryLib->order = 10; +$config->group->package->manageStoryLib->subset = 'storylib'; +$config->group->package->manageStoryLib->privs = array(); +$config->group->package->manageStoryLib->privs['assetlib-createStorylib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('assetlib-storylib'), 'recommend' => array('assetlib-editStorylib', 'assetlib-storylibSort')); +$config->group->package->manageStoryLib->privs['assetlib-editStorylib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('assetlib-storylib'), 'recommend' => array('assetlib-createStorylib', 'assetlib-storylibSort')); +$config->group->package->manageStoryLib->privs['assetlib-importStory'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-assignToStory', 'assetlib-editStory', 'assetlib-removeStory')); +$config->group->package->manageStoryLib->privs['assetlib-assignToStory'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-batchAssignToStory', 'assetlib-editStory', 'assetlib-importStory', 'assetlib-removeStory')); +$config->group->package->manageStoryLib->privs['assetlib-batchAssignToStory'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-assignToStory')); +$config->group->package->manageStoryLib->privs['assetlib-editStory'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-assignToStory', 'assetlib-importStory', 'assetlib-removeStory')); +$config->group->package->manageStoryLib->privs['assetlib-removeStory'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-batchRemoveStory', 'assetlib-editStory', 'assetlib-importStory')); +$config->group->package->manageStoryLib->privs['assetlib-batchRemoveStory'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-removeStory')); +$config->group->package->manageStoryLib->privs['assetlib-storylibSort'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('assetlib-storylib'), 'recommend' => array('assetlib-createStorylib', 'assetlib-editStorylib')); + +$config->group->package->deleteStoryLib = new stdclass(); +$config->group->package->deleteStoryLib->edition = 'open,biz,max,ipd'; +$config->group->package->deleteStoryLib->vision = 'rnd,lite,or'; +$config->group->package->deleteStoryLib->order = 15; +$config->group->package->deleteStoryLib->subset = 'storylib'; +$config->group->package->deleteStoryLib->privs = array(); +$config->group->package->deleteStoryLib->privs['assetlib-deleteStorylib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('assetlib-storylib'), 'recommend' => array('assetlib-createStorylib', 'assetlib-editStorylib')); + +$config->group->package->reviewStoryLib = new stdclass(); +$config->group->package->reviewStoryLib->edition = 'open,biz,max,ipd'; +$config->group->package->reviewStoryLib->vision = 'rnd,lite,or'; +$config->group->package->reviewStoryLib->order = 20; +$config->group->package->reviewStoryLib->subset = 'storylib'; +$config->group->package->reviewStoryLib->privs = array(); +$config->group->package->reviewStoryLib->privs['assetlib-approveStory'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-batchApproveStory')); +$config->group->package->reviewStoryLib->privs['assetlib-batchApproveStory'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 60, 'depend' => array('assetlib-story', 'assetlib-storylib'), 'recommend' => array('assetlib-approveStory')); + +$config->group->package->browseIssueLib = new stdclass(); +$config->group->package->browseIssueLib->edition = 'open,biz,max,ipd'; +$config->group->package->browseIssueLib->vision = 'rnd,lite,or'; +$config->group->package->browseIssueLib->order = 5; +$config->group->package->browseIssueLib->subset = 'issuelib'; +$config->group->package->browseIssueLib->privs = array(); +$config->group->package->browseIssueLib->privs['assetlib-issuelib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('assetlib-createIssuelib', 'assetlib-editIssuelib', 'assetlib-issue', 'assetlib-issuelibSort', 'assetlib-issueLibView')); +$config->group->package->browseIssueLib->privs['assetlib-issueLibView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-editIssuelib')); +$config->group->package->browseIssueLib->privs['assetlib-issue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('assetlib-issuelib'), 'recommend' => array('assetlib-editIssue', 'assetlib-importIssue', 'assetlib-issueView', 'assetlib-removeIssue')); +$config->group->package->browseIssueLib->privs['assetlib-issueView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-editIssue', 'assetlib-removeIssue')); + +$config->group->package->manageIssueLib = new stdclass(); +$config->group->package->manageIssueLib->edition = 'open,biz,max,ipd'; +$config->group->package->manageIssueLib->vision = 'rnd,lite,or'; +$config->group->package->manageIssueLib->order = 10; +$config->group->package->manageIssueLib->subset = 'issuelib'; +$config->group->package->manageIssueLib->privs = array(); +$config->group->package->manageIssueLib->privs['assetlib-createIssuelib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('assetlib-issuelib'), 'recommend' => array('assetlib-editIssuelib', 'assetlib-issuelibSort')); +$config->group->package->manageIssueLib->privs['assetlib-editIssuelib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('assetlib-issuelib'), 'recommend' => array('assetlib-createIssuelib', 'assetlib-issuelibSort')); +$config->group->package->manageIssueLib->privs['assetlib-importIssue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-assignToIssue', 'assetlib-editIssue', 'assetlib-removeIssue')); +$config->group->package->manageIssueLib->privs['assetlib-assignToIssue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-batchAssignToIssue', 'assetlib-editIssue', 'assetlib-importIssue', 'assetlib-removeIssue')); +$config->group->package->manageIssueLib->privs['assetlib-batchAssignToIssue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-assignToIssue')); +$config->group->package->manageIssueLib->privs['assetlib-editIssue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-assignToIssue', 'assetlib-importIssue', 'assetlib-removeIssue')); +$config->group->package->manageIssueLib->privs['assetlib-removeIssue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-batchRemoveIssue', 'assetlib-editIssue', 'assetlib-importIssue')); +$config->group->package->manageIssueLib->privs['assetlib-batchRemoveIssue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-removeIssue')); +$config->group->package->manageIssueLib->privs['assetlib-issuelibSort'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('assetlib-issuelib'), 'recommend' => array('assetlib-createIssuelib', 'assetlib-editIssuelib')); + +$config->group->package->deleteIssueLib = new stdclass(); +$config->group->package->deleteIssueLib->edition = 'open,biz,max,ipd'; +$config->group->package->deleteIssueLib->vision = 'rnd,lite,or'; +$config->group->package->deleteIssueLib->order = 15; +$config->group->package->deleteIssueLib->subset = 'issuelib'; +$config->group->package->deleteIssueLib->privs = array(); +$config->group->package->deleteIssueLib->privs['assetlib-deleteIssuelib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 100, 'depend' => array('assetlib-issuelib'), 'recommend' => array('assetlib-createIssuelib', 'assetlib-editIssuelib')); + +$config->group->package->reviewIssue = new stdclass(); +$config->group->package->reviewIssue->edition = 'open,biz,max,ipd'; +$config->group->package->reviewIssue->vision = 'rnd,lite,or'; +$config->group->package->reviewIssue->order = 20; +$config->group->package->reviewIssue->subset = 'issuelib'; +$config->group->package->reviewIssue->privs = array(); +$config->group->package->reviewIssue->privs['assetlib-approveIssue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 130, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-batchApproveIssue')); +$config->group->package->reviewIssue->privs['assetlib-batchApproveIssue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 135, 'depend' => array('assetlib-issue', 'assetlib-issuelib'), 'recommend' => array('assetlib-approveIssue')); + +$config->group->package->browseRiskLib = new stdclass(); +$config->group->package->browseRiskLib->edition = 'open,biz,max,ipd'; +$config->group->package->browseRiskLib->vision = 'rnd,lite,or'; +$config->group->package->browseRiskLib->order = 5; +$config->group->package->browseRiskLib->subset = 'risklib'; +$config->group->package->browseRiskLib->privs = array(); +$config->group->package->browseRiskLib->privs['assetlib-risklib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 160, 'depend' => array(), 'recommend' => array('assetlib-createRisklib', 'assetlib-editRisklib', 'assetlib-risk', 'assetlib-risklibSort', 'assetlib-riskLibView')); +$config->group->package->browseRiskLib->privs['assetlib-riskLibView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 180, 'depend' => array('assetlib-risklib'), 'recommend' => array('assetlib-editRisk')); +$config->group->package->browseRiskLib->privs['assetlib-risk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 185, 'depend' => array('assetlib-risklib'), 'recommend' => array('assetlib-assignToRisk', 'assetlib-editRisk', 'assetlib-importRisk', 'assetlib-removeRisk', 'assetlib-riskView')); +$config->group->package->browseRiskLib->privs['assetlib-riskView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 230, 'depend' => array('assetlib-risk', 'assetlib-risklib'), 'recommend' => array('assetlib-assignToRisk', 'assetlib-editRisk')); + +$config->group->package->manageRiskLib = new stdclass(); +$config->group->package->manageRiskLib->edition = 'open,biz,max,ipd'; +$config->group->package->manageRiskLib->vision = 'rnd,lite,or'; +$config->group->package->manageRiskLib->order = 10; +$config->group->package->manageRiskLib->subset = 'risklib'; +$config->group->package->manageRiskLib->privs = array(); +$config->group->package->manageRiskLib->privs['assetlib-createRisklib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('assetlib-risklib'), 'recommend' => array('assetlib-editRisklib', 'assetlib-risklibSort')); +$config->group->package->manageRiskLib->privs['assetlib-editRisklib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('assetlib-risklib'), 'recommend' => array('assetlib-createRisklib', 'assetlib-risklibSort')); +$config->group->package->manageRiskLib->privs['assetlib-importRisk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('assetlib-risk', 'assetlib-risklib'), 'recommend' => array('assetlib-assignToRisk', 'assetlib-editRisk', 'assetlib-removeRisk')); +$config->group->package->manageRiskLib->privs['assetlib-assignToRisk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('assetlib-risk', 'assetlib-risklib'), 'recommend' => array('assetlib-batchAssignToRisk', 'assetlib-editRisk', 'assetlib-importRisk', 'assetlib-removeRisk')); +$config->group->package->manageRiskLib->privs['assetlib-batchAssignToRisk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('assetlib-risk', 'assetlib-risklib'), 'recommend' => array('assetlib-assignToRisk')); +$config->group->package->manageRiskLib->privs['assetlib-editRisk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('assetlib-risk', 'assetlib-risklib'), 'recommend' => array('assetlib-assignToRisk', 'assetlib-importRisk', 'assetlib-removeRisk')); +$config->group->package->manageRiskLib->privs['assetlib-removeRisk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('assetlib-risk', 'assetlib-risklib'), 'recommend' => array('assetlib-batchRemoveRisk', 'assetlib-editRisk', 'assetlib-importRisk')); +$config->group->package->manageRiskLib->privs['assetlib-batchRemoveRisk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('assetlib-risk', 'assetlib-risklib'), 'recommend' => array('assetlib-removeRisk')); +$config->group->package->manageRiskLib->privs['assetlib-risklibSort'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('assetlib-risklib'), 'recommend' => array('assetlib-createRisklib', 'assetlib-editRisklib')); + +$config->group->package->deleteRiskLib = new stdclass(); +$config->group->package->deleteRiskLib->edition = 'open,biz,max,ipd'; +$config->group->package->deleteRiskLib->vision = 'rnd,lite,or'; +$config->group->package->deleteRiskLib->order = 15; +$config->group->package->deleteRiskLib->subset = 'risklib'; +$config->group->package->deleteRiskLib->privs = array(); +$config->group->package->deleteRiskLib->privs['assetlib-deleteRisklib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 175, 'depend' => array('assetlib-risklib'), 'recommend' => array('assetlib-createRisklib', 'assetlib-editRisklib')); + +$config->group->package->reivewRisk = new stdclass(); +$config->group->package->reivewRisk->edition = 'open,biz,max,ipd'; +$config->group->package->reivewRisk->vision = 'rnd,lite,or'; +$config->group->package->reivewRisk->order = 20; +$config->group->package->reivewRisk->subset = 'risklib'; +$config->group->package->reivewRisk->privs = array(); +$config->group->package->reivewRisk->privs['assetlib-approveRisk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 205, 'depend' => array('assetlib-risk', 'assetlib-risklib'), 'recommend' => array('assetlib-batchApproveRisk')); +$config->group->package->reivewRisk->privs['assetlib-batchApproveRisk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 210, 'depend' => array('assetlib-risk', 'assetlib-risklib'), 'recommend' => array('assetlib-approveRisk')); + +$config->group->package->browseOpportunityLib = new stdclass(); +$config->group->package->browseOpportunityLib->edition = 'open,biz,max,ipd'; +$config->group->package->browseOpportunityLib->vision = 'rnd,lite,or'; +$config->group->package->browseOpportunityLib->order = 5; +$config->group->package->browseOpportunityLib->subset = 'opportunitylib'; +$config->group->package->browseOpportunityLib->privs = array(); +$config->group->package->browseOpportunityLib->privs['assetlib-opportunitylib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 235, 'depend' => array(), 'recommend' => array('assetlib-createOpportunitylib', 'assetlib-editOpportunitylib', 'assetlib-opportunitylibSort')); +$config->group->package->browseOpportunityLib->privs['assetlib-opportunityLibView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-opportunitylib'), 'recommend' => array('assetlib-editOpportunitylib')); +$config->group->package->browseOpportunityLib->privs['assetlib-opportunity'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-opportunitylib'), 'recommend' => array('assetlib-assignToOpportunity', 'assetlib-editOpportunity', 'assetlib-importOpportunity', 'assetlib-removeOpportunity')); +$config->group->package->browseOpportunityLib->privs['assetlib-opportunityView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-opportunity', 'assetlib-opportunitylib'), 'recommend' => array('assetlib-assignToOpportunity', 'assetlib-editOpportunity')); + +$config->group->package->manageOpportunityLib = new stdclass(); +$config->group->package->manageOpportunityLib->edition = 'open,biz,max,ipd'; +$config->group->package->manageOpportunityLib->vision = 'rnd,lite,or'; +$config->group->package->manageOpportunityLib->order = 10; +$config->group->package->manageOpportunityLib->subset = 'opportunitylib'; +$config->group->package->manageOpportunityLib->privs = array(); +$config->group->package->manageOpportunityLib->privs['assetlib-createOpportunitylib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('assetlib-opportunitylib'), 'recommend' => array('assetlib-editOpportunitylib', 'assetlib-opportunitylibSort')); +$config->group->package->manageOpportunityLib->privs['assetlib-editOpportunitylib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('assetlib-opportunitylib'), 'recommend' => array('assetlib-createOpportunitylib', 'assetlib-opportunitylibSort')); +$config->group->package->manageOpportunityLib->privs['assetlib-importOpportunity'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('assetlib-opportunity', 'assetlib-opportunitylib'), 'recommend' => array('assetlib-assignToOpportunity', 'assetlib-editOpportunity', 'assetlib-removeOpportunity')); +$config->group->package->manageOpportunityLib->privs['assetlib-assignToOpportunity'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('assetlib-opportunity', 'assetlib-opportunitylib'), 'recommend' => array('assetlib-batchAssignToOpportunity', 'assetlib-editOpportunity', 'assetlib-importOpportunity', 'assetlib-removeOpportunity')); +$config->group->package->manageOpportunityLib->privs['assetlib-batchAssignToOpportunity'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('assetlib-opportunity', 'assetlib-opportunitylib'), 'recommend' => array('assetlib-assignToOpportunity')); +$config->group->package->manageOpportunityLib->privs['assetlib-editOpportunity'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('assetlib-opportunity', 'assetlib-opportunitylib'), 'recommend' => array('assetlib-assignToOpportunity', 'assetlib-importOpportunity', 'assetlib-removeOpportunity')); +$config->group->package->manageOpportunityLib->privs['assetlib-removeOpportunity'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('assetlib-opportunity', 'assetlib-opportunitylib'), 'recommend' => array('assetlib-batchRemoveOpportunity', 'assetlib-editOpportunity', 'assetlib-importOpportunity')); +$config->group->package->manageOpportunityLib->privs['assetlib-batchRemoveOpportunity'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('assetlib-opportunity', 'assetlib-opportunitylib'), 'recommend' => array('assetlib-removeOpportunity')); +$config->group->package->manageOpportunityLib->privs['assetlib-opportunitylibSort'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('assetlib-opportunitylib'), 'recommend' => array('assetlib-createOpportunitylib', 'assetlib-editOpportunitylib')); + +$config->group->package->deleteOpportunityLib = new stdclass(); +$config->group->package->deleteOpportunityLib->edition = 'open,biz,max,ipd'; +$config->group->package->deleteOpportunityLib->vision = 'rnd,lite,or'; +$config->group->package->deleteOpportunityLib->order = 15; +$config->group->package->deleteOpportunityLib->subset = 'opportunitylib'; +$config->group->package->deleteOpportunityLib->privs = array(); +$config->group->package->deleteOpportunityLib->privs['assetlib-deleteOpportunitylib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 250, 'depend' => array('assetlib-opportunitylib'), 'recommend' => array('assetlib-editOpportunity', 'assetlib-importOpportunity')); + +$config->group->package->reviewOpportunity = new stdclass(); +$config->group->package->reviewOpportunity->edition = 'open,biz,max,ipd'; +$config->group->package->reviewOpportunity->vision = 'rnd,lite,or'; +$config->group->package->reviewOpportunity->order = 20; +$config->group->package->reviewOpportunity->subset = 'opportunitylib'; +$config->group->package->reviewOpportunity->privs = array(); +$config->group->package->reviewOpportunity->privs['assetlib-approveOpportunity'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-opportunity', 'assetlib-opportunitylib'), 'recommend' => array('assetlib-batchApproveOpportunity')); +$config->group->package->reviewOpportunity->privs['assetlib-batchApproveOpportunity'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-opportunity', 'assetlib-opportunitylib'), 'recommend' => array('assetlib-approveOpportunity')); + +$config->group->package->browsePracticeLib = new stdclass(); +$config->group->package->browsePracticeLib->edition = 'open,biz,max,ipd'; +$config->group->package->browsePracticeLib->vision = 'rnd,lite,or'; +$config->group->package->browsePracticeLib->order = 5; +$config->group->package->browsePracticeLib->subset = 'practicelib'; +$config->group->package->browsePracticeLib->privs = array(); +$config->group->package->browsePracticeLib->privs['assetlib-practicelib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array(), 'recommend' => array('assetlib-createPracticelib', 'assetlib-editPracticelib', 'assetlib-practicelibSort')); +$config->group->package->browsePracticeLib->privs['assetlib-practiceLibView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-practicelib'), 'recommend' => array('assetlib-editPracticelib')); +$config->group->package->browsePracticeLib->privs['assetlib-practice'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-practicelib'), 'recommend' => array('assetlib-assignToPractice', 'assetlib-editPractice', 'assetlib-importPractice', 'assetlib-removePractice')); +$config->group->package->browsePracticeLib->privs['assetlib-practiceView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-practice', 'assetlib-practicelib'), 'recommend' => array('assetlib-editPractice', 'assetlib-removePractice')); + +$config->group->package->managePracticeLib = new stdclass(); +$config->group->package->managePracticeLib->edition = 'open,biz,max,ipd'; +$config->group->package->managePracticeLib->vision = 'rnd,lite,or'; +$config->group->package->managePracticeLib->order = 10; +$config->group->package->managePracticeLib->subset = 'practicelib'; +$config->group->package->managePracticeLib->privs = array(); +$config->group->package->managePracticeLib->privs['assetlib-createPracticelib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('assetlib-practicelib'), 'recommend' => array('assetlib-editPracticelib', 'assetlib-practicelibSort')); +$config->group->package->managePracticeLib->privs['assetlib-editPracticelib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('assetlib-practicelib'), 'recommend' => array('assetlib-createPracticelib', 'assetlib-practicelibSort')); +$config->group->package->managePracticeLib->privs['assetlib-importPractice'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('assetlib-practice', 'assetlib-practicelib'), 'recommend' => array('assetlib-assignToPractice', 'assetlib-editPractice', 'assetlib-removePractice')); +$config->group->package->managePracticeLib->privs['assetlib-assignToPractice'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('assetlib-practice', 'assetlib-practicelib'), 'recommend' => array('assetlib-batchAssignToPractice', 'assetlib-editPractice', 'assetlib-importPractice', 'assetlib-removePractice')); +$config->group->package->managePracticeLib->privs['assetlib-batchAssignToPractice'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('assetlib-practice', 'assetlib-practicelib'), 'recommend' => array('assetlib-assignToPractice')); +$config->group->package->managePracticeLib->privs['assetlib-editPractice'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('assetlib-practice', 'assetlib-practicelib'), 'recommend' => array('assetlib-assignToPractice', 'assetlib-importPractice', 'assetlib-removePractice')); +$config->group->package->managePracticeLib->privs['assetlib-removePractice'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('assetlib-practice', 'assetlib-practicelib'), 'recommend' => array('assetlib-batchRemovePractice', 'assetlib-editPractice', 'assetlib-importPractice')); +$config->group->package->managePracticeLib->privs['assetlib-batchRemovePractice'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('assetlib-practice', 'assetlib-practicelib'), 'recommend' => array('assetlib-removePractice')); +$config->group->package->managePracticeLib->privs['assetlib-practicelibSort'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('assetlib-practicelib'), 'recommend' => array('assetlib-createPracticelib', 'assetlib-editPracticelib')); + +$config->group->package->deletePracticeLib = new stdclass(); +$config->group->package->deletePracticeLib->edition = 'open,biz,max,ipd'; +$config->group->package->deletePracticeLib->vision = 'rnd,lite,or'; +$config->group->package->deletePracticeLib->order = 15; +$config->group->package->deletePracticeLib->subset = 'practicelib'; +$config->group->package->deletePracticeLib->privs = array(); +$config->group->package->deletePracticeLib->privs['assetlib-deletePracticelib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-practicelib'), 'recommend' => array('assetlib-createPracticelib', 'assetlib-editPracticelib')); + +$config->group->package->reviewPractice = new stdclass(); +$config->group->package->reviewPractice->edition = 'open,biz,max,ipd'; +$config->group->package->reviewPractice->vision = 'rnd,lite,or'; +$config->group->package->reviewPractice->order = 20; +$config->group->package->reviewPractice->subset = 'practicelib'; +$config->group->package->reviewPractice->privs = array(); +$config->group->package->reviewPractice->privs['assetlib-approvePractice'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-practice', 'assetlib-practicelib'), 'recommend' => array('assetlib-batchApprovePractice')); +$config->group->package->reviewPractice->privs['assetlib-batchApprovePractice'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-practice', 'assetlib-practicelib'), 'recommend' => array('assetlib-approvePractice')); + +$config->group->package->browseComponentLib = new stdclass(); +$config->group->package->browseComponentLib->edition = 'open,biz,max,ipd'; +$config->group->package->browseComponentLib->vision = 'rnd,lite,or'; +$config->group->package->browseComponentLib->order = 5; +$config->group->package->browseComponentLib->subset = 'componentlib'; +$config->group->package->browseComponentLib->privs = array(); +$config->group->package->browseComponentLib->privs['assetlib-componentlib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array(), 'recommend' => array('assetlib-componentlibSort', 'assetlib-createComponentlib', 'assetlib-editComponentlib')); +$config->group->package->browseComponentLib->privs['assetlib-componentLibView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-componentlib'), 'recommend' => array('assetlib-createComponentlib', 'assetlib-editComponentlib')); +$config->group->package->browseComponentLib->privs['assetlib-component'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-componentlib'), 'recommend' => array('assetlib-assignToComponent', 'assetlib-editComponent', 'assetlib-importComponent', 'assetlib-removeComponent')); +$config->group->package->browseComponentLib->privs['assetlib-componentView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-component', 'assetlib-componentlib'), 'recommend' => array('assetlib-editComponent')); + +$config->group->package->manageComponentLib = new stdclass(); +$config->group->package->manageComponentLib->edition = 'open,biz,max,ipd'; +$config->group->package->manageComponentLib->vision = 'rnd,lite,or'; +$config->group->package->manageComponentLib->order = 10; +$config->group->package->manageComponentLib->subset = 'componentlib'; +$config->group->package->manageComponentLib->privs = array(); +$config->group->package->manageComponentLib->privs['assetlib-createComponentlib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('assetlib-componentlib'), 'recommend' => array('assetlib-componentlibSort', 'assetlib-editComponentlib')); +$config->group->package->manageComponentLib->privs['assetlib-editComponentlib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('assetlib-componentlib'), 'recommend' => array('assetlib-componentlibSort', 'assetlib-createComponentlib')); +$config->group->package->manageComponentLib->privs['assetlib-importComponent'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('assetlib-component', 'assetlib-componentlib'), 'recommend' => array('assetlib-assignToComponent', 'assetlib-editComponent', 'assetlib-removeComponent')); +$config->group->package->manageComponentLib->privs['assetlib-assignToComponent'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('assetlib-component', 'assetlib-componentlib'), 'recommend' => array('assetlib-batchAssignToComponent', 'assetlib-editComponent', 'assetlib-importComponent', 'assetlib-removeComponent')); +$config->group->package->manageComponentLib->privs['assetlib-batchAssignToComponent'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('assetlib-component', 'assetlib-componentlib'), 'recommend' => array('assetlib-assignToComponent')); +$config->group->package->manageComponentLib->privs['assetlib-editComponent'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('assetlib-component', 'assetlib-componentlib'), 'recommend' => array('assetlib-assignToComponent', 'assetlib-importComponent', 'assetlib-removeComponent')); +$config->group->package->manageComponentLib->privs['assetlib-removeComponent'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('assetlib-component', 'assetlib-componentlib'), 'recommend' => array('assetlib-batchRemoveComponent', 'assetlib-editComponent', 'assetlib-importComponent')); +$config->group->package->manageComponentLib->privs['assetlib-batchRemoveComponent'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('assetlib-component', 'assetlib-componentlib'), 'recommend' => array('assetlib-removeComponent')); +$config->group->package->manageComponentLib->privs['assetlib-componentlibSort'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('assetlib-componentlib'), 'recommend' => array('assetlib-createComponentlib', 'assetlib-editComponentlib')); + +$config->group->package->deleteComponentLib = new stdclass(); +$config->group->package->deleteComponentLib->edition = 'open,biz,max,ipd'; +$config->group->package->deleteComponentLib->vision = 'rnd,lite,or'; +$config->group->package->deleteComponentLib->order = 15; +$config->group->package->deleteComponentLib->subset = 'componentlib'; +$config->group->package->deleteComponentLib->privs = array(); +$config->group->package->deleteComponentLib->privs['assetlib-deleteComponentlib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-componentlib'), 'recommend' => array('assetlib-createComponentlib', 'assetlib-editComponentlib')); + +$config->group->package->reviewComponent = new stdclass(); +$config->group->package->reviewComponent->edition = 'open,biz,max,ipd'; +$config->group->package->reviewComponent->vision = 'rnd,lite,or'; +$config->group->package->reviewComponent->order = 20; +$config->group->package->reviewComponent->subset = 'componentlib'; +$config->group->package->reviewComponent->privs = array(); +$config->group->package->reviewComponent->privs['assetlib-approveComponent'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-component', 'assetlib-componentlib'), 'recommend' => array('assetlib-batchApproveComponent')); +$config->group->package->reviewComponent->privs['assetlib-batchApproveComponent'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 255, 'depend' => array('assetlib-component', 'assetlib-componentlib'), 'recommend' => array('assetlib-approveComponent')); + +$config->group->package->browseCaseLib = new stdclass(); +$config->group->package->browseCaseLib->edition = 'open,biz,max,ipd'; +$config->group->package->browseCaseLib->vision = 'rnd,lite,or'; +$config->group->package->browseCaseLib->order = 5; +$config->group->package->browseCaseLib->subset = 'caselib'; +$config->group->package->browseCaseLib->privs = array(); +$config->group->package->browseCaseLib->privs['caselib-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array('assetlib-caselib', 'caselib-create', 'caselib-createCase', 'caselib-edit', 'caselib-import', 'caselib-view')); +$config->group->package->browseCaseLib->privs['caselib-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('caselib-browse'), 'recommend' => array('assetlib-caselib', 'caselib-edit')); +$config->group->package->browseCaseLib->privs['assetlib-caselib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('assetlib-caselibSort', 'caselib-browse', 'caselib-view')); + +$config->group->package->manageCaseLib = new stdclass(); +$config->group->package->manageCaseLib->edition = 'open,biz,max,ipd'; +$config->group->package->manageCaseLib->vision = 'rnd,lite,or'; +$config->group->package->manageCaseLib->order = 10; +$config->group->package->manageCaseLib->subset = 'caselib'; +$config->group->package->manageCaseLib->privs = array(); +$config->group->package->manageCaseLib->privs['caselib-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('caselib-browse'), 'recommend' => array('assetlib-caselibSort', 'caselib-createCase', 'caselib-edit', 'caselib-import')); +$config->group->package->manageCaseLib->privs['caselib-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('caselib-view'), 'recommend' => array('assetlib-caselibSort', 'caselib-create')); +$config->group->package->manageCaseLib->privs['caselib-createCase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('caselib-browse'), 'recommend' => array('caselib-batchCreateCase', 'caselib-create', 'caselib-import')); +$config->group->package->manageCaseLib->privs['caselib-batchCreateCase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('caselib-browse'), 'recommend' => array('caselib-createCase')); +$config->group->package->manageCaseLib->privs['assetlib-caselibSort'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('assetlib-caselib'), 'recommend' => array('caselib-create', 'caselib-edit')); + +$config->group->package->deleteCaseLib = new stdclass(); +$config->group->package->deleteCaseLib->edition = 'open,biz,max,ipd'; +$config->group->package->deleteCaseLib->vision = 'rnd,lite,or'; +$config->group->package->deleteCaseLib->order = 20; +$config->group->package->deleteCaseLib->subset = 'caselib'; +$config->group->package->deleteCaseLib->privs = array(); +$config->group->package->deleteCaseLib->privs['caselib-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('caselib-view'), 'recommend' => array('caselib-create', 'caselib-edit')); + +$config->group->package->importCaseLib = new stdclass(); +$config->group->package->importCaseLib->edition = 'open,biz,max,ipd'; +$config->group->package->importCaseLib->vision = 'rnd,lite,or'; +$config->group->package->importCaseLib->order = 15; +$config->group->package->importCaseLib->subset = 'caselib'; +$config->group->package->importCaseLib->privs = array(); +$config->group->package->importCaseLib->privs['caselib-exportTemplate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('caselib-browse', 'caselib-import'), 'recommend' => array()); +$config->group->package->importCaseLib->privs['caselib-import'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array('caselib-browse', 'caselib-exportTemplate', 'caselib-showImport'), 'recommend' => array()); +$config->group->package->importCaseLib->privs['caselib-showImport'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('caselib-import'), 'recommend' => array()); + +$config->group->package->officeApproval = new stdclass(); +$config->group->package->officeApproval->edition = 'open,biz,max,ipd'; +$config->group->package->officeApproval->vision = 'rnd,lite,or'; +$config->group->package->officeApproval->order = 5; +$config->group->package->officeApproval->subset = 'officeapproval'; +$config->group->package->officeApproval->privs = array(); +$config->group->package->officeApproval->privs['attend-review'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('attend-browseReview', 'attend-personal'), 'recommend' => array()); +$config->group->package->officeApproval->privs['leave-browseReview'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array()); +$config->group->package->officeApproval->privs['leave-review'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('attend-personal', 'leave-browseReview', 'leave-personal'), 'recommend' => array()); +$config->group->package->officeApproval->privs['leave-back'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array()); +$config->group->package->officeApproval->privs['makeup-browseReview'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('attend-personal', 'makeup-personal'), 'recommend' => array()); +$config->group->package->officeApproval->privs['makeup-review'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('attend-personal', 'makeup-browseReview', 'makeup-personal'), 'recommend' => array()); +$config->group->package->officeApproval->privs['overtime-browseReview'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('attend-personal', 'overtime-personal'), 'recommend' => array()); +$config->group->package->officeApproval->privs['overtime-review'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array('attend-personal', 'overtime-browseReview', 'overtime-personal'), 'recommend' => array()); +$config->group->package->officeApproval->privs['lieu-browseReview'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('attend-personal', 'lieu-personal'), 'recommend' => array()); +$config->group->package->officeApproval->privs['lieu-review'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 9, 'depend' => array('attend-personal', 'lieu-browseReview', 'lieu-personal'), 'recommend' => array()); + +$config->group->package->attend = new stdclass(); +$config->group->package->attend->edition = 'open,biz,max,ipd'; +$config->group->package->attend->vision = 'rnd,lite,or'; +$config->group->package->attend->order = 10; +$config->group->package->attend->subset = 'attend'; +$config->group->package->attend->privs = array(); +$config->group->package->attend->privs['attend-browseReview'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->attend->privs['attend-detail'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->attend->privs['attend-personal'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array('attend-edit')); +$config->group->package->attend->privs['attend-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('attend-personal'), 'recommend' => array('attend-browseReview')); + +$config->group->package->officeSetting = new stdclass(); +$config->group->package->officeSetting->edition = 'open,biz,max,ipd'; +$config->group->package->officeSetting->vision = 'rnd,lite,or'; +$config->group->package->officeSetting->order = 5; +$config->group->package->officeSetting->subset = 'officesetting'; +$config->group->package->officeSetting->privs = array(); +$config->group->package->officeSetting->privs['attend-settings'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->officeSetting->privs['attend-personalSettings'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->officeSetting->privs['attend-setManager'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->officeSetting->privs['leave-setReviewer'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array()); +$config->group->package->officeSetting->privs['leave-personalAnnual'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array()); +$config->group->package->officeSetting->privs['makeup-setReviewer'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('attend-personal', 'makeup-personal'), 'recommend' => array()); +$config->group->package->officeSetting->privs['overtime-setReviewer'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('attend-personal', 'overtime-personal'), 'recommend' => array()); +$config->group->package->officeSetting->privs['lieu-setReviewer'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array('attend-personal'), 'recommend' => array()); + +$config->group->package->dataPermission = new stdclass(); +$config->group->package->dataPermission->edition = 'open,biz,max,ipd'; +$config->group->package->dataPermission->vision = 'rnd,lite,or'; +$config->group->package->dataPermission->order = 5; +$config->group->package->dataPermission->subset = 'datapermission'; +$config->group->package->dataPermission->privs = array(); +$config->group->package->dataPermission->privs['attend-department'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->dataPermission->privs['attend-company'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->dataPermission->privs['attend-stat'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 35, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->dataPermission->privs['attend-saveStat'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('attend-personal', 'attend-stat'), 'recommend' => array()); +$config->group->package->dataPermission->privs['leave-company'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->dataPermission->privs['makeup-company'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->dataPermission->privs['overtime-company'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('attend-personal'), 'recommend' => array()); +$config->group->package->dataPermission->privs['lieu-company'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('attend-personal'), 'recommend' => array()); + +$config->group->package->leave = new stdclass(); +$config->group->package->leave->edition = 'open,biz,max,ipd'; +$config->group->package->leave->vision = 'rnd,lite,or'; +$config->group->package->leave->order = 5; +$config->group->package->leave->subset = 'leave'; +$config->group->package->leave->privs = array(); +$config->group->package->leave->privs['leave-personal'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('attend-personal'), 'recommend' => array('leave-create', 'leave-edit', 'leave-view')); +$config->group->package->leave->privs['leave-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array('leave-delete', 'leave-edit', 'leave-switchstatus', 'leave-view')); +$config->group->package->leave->privs['leave-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array('leave-create', 'leave-delete', 'leave-switchstatus', 'leave-view')); +$config->group->package->leave->privs['leave-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array('leave-create', 'leave-edit', 'leave-switchstatus', 'leave-view')); +$config->group->package->leave->privs['leave-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array()); +$config->group->package->leave->privs['leave-switchstatus'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array('leave-create', 'leave-delete', 'leave-edit', 'leave-view')); + +$config->group->package->makeup = new stdclass(); +$config->group->package->makeup->edition = 'open,biz,max,ipd'; +$config->group->package->makeup->vision = 'rnd,lite,or'; +$config->group->package->makeup->order = 5; +$config->group->package->makeup->subset = 'makeup'; +$config->group->package->makeup->privs = array(); +$config->group->package->makeup->privs['makeup-personal'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array('attend-personal'), 'recommend' => array('makeup-create', 'makeup-edit', 'makeup-view')); +$config->group->package->makeup->privs['makeup-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 35, 'depend' => array('attend-personal', 'makeup-personal'), 'recommend' => array('makeup-delete', 'makeup-edit', 'makeup-switchstatus', 'makeup-view')); +$config->group->package->makeup->privs['makeup-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('attend-personal', 'makeup-personal'), 'recommend' => array('makeup-create', 'makeup-delete', 'makeup-switchstatus', 'makeup-view')); +$config->group->package->makeup->privs['makeup-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 45, 'depend' => array('attend-personal', 'makeup-personal'), 'recommend' => array()); +$config->group->package->makeup->privs['makeup-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 50, 'depend' => array('attend-personal', 'makeup-personal'), 'recommend' => array('makeup-create', 'makeup-edit', 'makeup-switchstatus', 'makeup-view')); +$config->group->package->makeup->privs['makeup-switchstatus'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 55, 'depend' => array('attend-personal', 'makeup-personal'), 'recommend' => array('makeup-create', 'makeup-delete', 'makeup-edit', 'makeup-view')); + +$config->group->package->overtime = new stdclass(); +$config->group->package->overtime->edition = 'open,biz,max,ipd'; +$config->group->package->overtime->vision = 'rnd,lite,or'; +$config->group->package->overtime->order = 5; +$config->group->package->overtime->subset = 'overtime'; +$config->group->package->overtime->privs = array(); +$config->group->package->overtime->privs['overtime-personal'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array('attend-personal'), 'recommend' => array('overtime-create', 'overtime-edit', 'overtime-view')); +$config->group->package->overtime->privs['overtime-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 35, 'depend' => array('attend-personal', 'overtime-personal'), 'recommend' => array('overtime-delete', 'overtime-edit', 'overtime-switchstatus', 'overtime-view')); +$config->group->package->overtime->privs['overtime-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('attend-personal', 'overtime-personal'), 'recommend' => array('overtime-create', 'overtime-delete', 'overtime-switchstatus', 'overtime-view')); +$config->group->package->overtime->privs['overtime-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 45, 'depend' => array('attend-personal', 'overtime-personal'), 'recommend' => array()); +$config->group->package->overtime->privs['overtime-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 50, 'depend' => array('attend-personal', 'overtime-personal'), 'recommend' => array('overtime-create', 'overtime-edit', 'overtime-switchstatus', 'overtime-view')); +$config->group->package->overtime->privs['overtime-switchstatus'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 55, 'depend' => array('attend-personal', 'overtime-personal'), 'recommend' => array('overtime-create', 'overtime-delete', 'overtime-edit', 'overtime-view')); + +$config->group->package->lieu = new stdclass(); +$config->group->package->lieu->edition = 'open,biz,max,ipd'; +$config->group->package->lieu->vision = 'rnd,lite,or'; +$config->group->package->lieu->order = 5; +$config->group->package->lieu->subset = 'lieu'; +$config->group->package->lieu->privs = array(); +$config->group->package->lieu->privs['lieu-personal'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('attend-personal'), 'recommend' => array('lieu-create', 'lieu-edit', 'lieu-view')); +$config->group->package->lieu->privs['lieu-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array('attend-personal', 'lieu-personal'), 'recommend' => array('lieu-delete', 'lieu-edit', 'lieu-switchstatus', 'lieu-view')); +$config->group->package->lieu->privs['lieu-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 35, 'depend' => array('attend-personal', 'lieu-personal'), 'recommend' => array('lieu-create', 'lieu-delete', 'lieu-switchstatus', 'lieu-view')); +$config->group->package->lieu->privs['lieu-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('attend-personal', 'lieu-personal'), 'recommend' => array('lieu-create', 'lieu-edit', 'lieu-switchstatus', 'lieu-view')); +$config->group->package->lieu->privs['lieu-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 45, 'depend' => array('attend-personal', 'lieu-personal'), 'recommend' => array()); +$config->group->package->lieu->privs['lieu-switchstatus'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 50, 'depend' => array('attend-personal', 'lieu-personal'), 'recommend' => array('lieu-create', 'lieu-delete', 'lieu-edit', 'lieu-view')); + +$config->group->package->holiday = new stdclass(); +$config->group->package->holiday->edition = 'open,biz,max,ipd'; +$config->group->package->holiday->vision = 'rnd,lite,or'; +$config->group->package->holiday->order = 10; +$config->group->package->holiday->subset = 'modelconfig'; +$config->group->package->holiday->privs = array(); +$config->group->package->holiday->privs['holiday-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->holiday->privs['holiday-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('holiday-browse'), 'recommend' => array('holiday-delete', 'holiday-edit')); +$config->group->package->holiday->privs['holiday-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('holiday-browse'), 'recommend' => array('holiday-create')); +$config->group->package->holiday->privs['holiday-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('holiday-browse'), 'recommend' => array('holiday-create', 'holiday-edit')); +$config->group->package->holiday->privs['holiday-import'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('holiday-browse'), 'recommend' => array('holiday-create')); + +$config->group->package->exportOffice = new stdclass(); +$config->group->package->exportOffice->edition = 'open,biz,max,ipd'; +$config->group->package->exportOffice->vision = 'rnd,lite,or'; +$config->group->package->exportOffice->order = 5; +$config->group->package->exportOffice->subset = 'officeexport'; +$config->group->package->exportOffice->privs = array(); +$config->group->package->exportOffice->privs['attend-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('attend-department', 'attend-personal'), 'recommend' => array()); +$config->group->package->exportOffice->privs['attend-exportStat'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('attend-personal', 'attend-stat'), 'recommend' => array()); +$config->group->package->exportOffice->privs['attend-exportDetail'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('attend-detail', 'attend-personal'), 'recommend' => array()); +$config->group->package->exportOffice->privs['leave-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('attend-personal', 'leave-personal'), 'recommend' => array()); +$config->group->package->exportOffice->privs['makeup-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('attend-personal', 'makeup-personal'), 'recommend' => array()); +$config->group->package->exportOffice->privs['overtime-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('attend-personal'), 'recommend' => array()); + +$config->group->package->browseFeedback = new stdclass(); +$config->group->package->browseFeedback->edition = 'open,biz,max,ipd'; +$config->group->package->browseFeedback->vision = 'rnd,lite,or'; +$config->group->package->browseFeedback->order = 5; +$config->group->package->browseFeedback->subset = 'feedback'; +$config->group->package->browseFeedback->privs = array(); +$config->group->package->browseFeedback->privs['feedback-adminView'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-create', 'feedback-edit')); +$config->group->package->browseFeedback->privs['feedback-admin'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array(), 'recommend' => array('feedback-adminView')); + +$config->group->package->manageFeedback = new stdclass(); +$config->group->package->manageFeedback->edition = 'open,biz,max,ipd'; +$config->group->package->manageFeedback->vision = 'rnd,lite,or'; +$config->group->package->manageFeedback->order = 10; +$config->group->package->manageFeedback->subset = 'feedback'; +$config->group->package->manageFeedback->privs = array(); +$config->group->package->manageFeedback->privs['feedback-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-activate', 'feedback-ask', 'feedback-assignTo', 'feedback-close', 'feedback-comment', 'feedback-edit')); +$config->group->package->manageFeedback->privs['feedback-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-activate', 'feedback-ask', 'feedback-assignTo', 'feedback-batchEdit', 'feedback-close', 'feedback-comment', 'feedback-create')); +$config->group->package->manageFeedback->privs['feedback-assignTo'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-activate', 'feedback-ask', 'feedback-batchAssignTo', 'feedback-close', 'feedback-comment', 'feedback-create', 'feedback-edit')); +$config->group->package->manageFeedback->privs['feedback-comment'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-activate', 'feedback-ask', 'feedback-assignTo', 'feedback-close', 'feedback-create', 'feedback-edit')); +$config->group->package->manageFeedback->privs['feedback-ask'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-activate', 'feedback-assignTo', 'feedback-close', 'feedback-comment', 'feedback-create', 'feedback-edit')); +$config->group->package->manageFeedback->privs['feedback-close'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-activate', 'feedback-ask', 'feedback-assignTo', 'feedback-batchClose', 'feedback-comment', 'feedback-create', 'feedback-edit')); +$config->group->package->manageFeedback->privs['feedback-activate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-ask', 'feedback-assignTo', 'feedback-close', 'feedback-comment', 'feedback-create', 'feedback-edit')); +$config->group->package->manageFeedback->privs['feedback-batchEdit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-edit')); +$config->group->package->manageFeedback->privs['feedback-batchClose'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-close')); +$config->group->package->manageFeedback->privs['feedback-batchAssignTo'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-assignTo')); + +$config->group->package->importFeedback = new stdclass(); +$config->group->package->importFeedback->edition = 'open,biz,max,ipd'; +$config->group->package->importFeedback->vision = 'rnd,lite,or'; +$config->group->package->importFeedback->order = 15; +$config->group->package->importFeedback->subset = 'feedback'; +$config->group->package->importFeedback->privs = array(); +$config->group->package->importFeedback->privs['feedback-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('feedback-admin'), 'recommend' => array()); +$config->group->package->importFeedback->privs['feedback-import'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('feedback-admin', 'feedback-exportTemplate'), 'recommend' => array()); +$config->group->package->importFeedback->privs['feedback-exportTemplate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('feedback-admin', 'feedback-import'), 'recommend' => array()); + +$config->group->package->manageFeedback = new stdclass(); +$config->group->package->manageFeedback->edition = 'open,biz,max,ipd'; +$config->group->package->manageFeedback->vision = 'rnd,lite,or'; +$config->group->package->manageFeedback->order = 20; +$config->group->package->manageFeedback->subset = 'feedback'; +$config->group->package->manageFeedback->privs = array(); +$config->group->package->manageFeedback->privs['feedback-editOthers'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-edit')); +$config->group->package->manageFeedback->privs['feedback-toTask'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-reply', 'feedback-review', 'feedback-toBug', 'feedback-toStory', 'feedback-toTicket', 'feedback-toTodo', 'feedback-toUserStory')); +$config->group->package->manageFeedback->privs['feedback-toTodo'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-reply', 'feedback-review', 'feedback-toBug', 'feedback-toStory', 'feedback-toTask', 'feedback-toTicket', 'feedback-toUserStory')); +$config->group->package->manageFeedback->privs['feedback-toBug'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-reply', 'feedback-review', 'feedback-toStory', 'feedback-toTask', 'feedback-toTicket', 'feedback-toTodo', 'feedback-toUserStory')); +$config->group->package->manageFeedback->privs['feedback-toStory'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-reply', 'feedback-review', 'feedback-toBug', 'feedback-toTask', 'feedback-toTicket', 'feedback-toTodo', 'feedback-toUserStory')); +$config->group->package->manageFeedback->privs['feedback-toTicket'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-reply', 'feedback-review', 'feedback-toBug', 'feedback-toStory', 'feedback-toTask', 'feedback-toTodo', 'feedback-toUserStory')); +$config->group->package->manageFeedback->privs['feedback-toUserStory'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-reply', 'feedback-review', 'feedback-toBug', 'feedback-toStory', 'feedback-toTask', 'feedback-toTicket', 'feedback-toTodo')); +$config->group->package->manageFeedback->privs['feedback-review'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-batchReview', 'feedback-reply', 'feedback-toBug', 'feedback-toStory', 'feedback-toTask', 'feedback-toTicket', 'feedback-toTodo', 'feedback-toUserStory')); +$config->group->package->manageFeedback->privs['feedback-reply'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-review', 'feedback-toBug', 'feedback-toStory', 'feedback-toTask', 'feedback-toTicket', 'feedback-toTodo', 'feedback-toUserStory')); +$config->group->package->manageFeedback->privs['feedback-batchReview'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-review')); +$config->group->package->manageFeedback->privs['feedback-syncProduct'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('feedback-admin'), 'recommend' => array()); + +$config->group->package->faq = new stdclass(); +$config->group->package->faq->edition = 'open,biz,max,ipd'; +$config->group->package->faq->vision = 'rnd,lite,or'; +$config->group->package->faq->order = 5; +$config->group->package->faq->subset = 'faq'; +$config->group->package->faq->privs = array(); +$config->group->package->faq->privs['faq-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array(), 'recommend' => array('faq-create', 'faq-edit')); +$config->group->package->faq->privs['faq-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('faq-browse'), 'recommend' => array('faq-edit')); +$config->group->package->faq->privs['faq-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('faq-browse'), 'recommend' => array('faq-create')); +$config->group->package->faq->privs['faq-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('faq-browse'), 'recommend' => array('faq-create', 'faq-edit')); + +$config->group->package->browseTicket = new stdclass(); +$config->group->package->browseTicket->edition = 'open,biz,max,ipd'; +$config->group->package->browseTicket->vision = 'rnd,lite,or'; +$config->group->package->browseTicket->order = 5; +$config->group->package->browseTicket->subset = 'ticket'; +$config->group->package->browseTicket->privs = array(); +$config->group->package->browseTicket->privs['ticket-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-edit')); +$config->group->package->browseTicket->privs['ticket-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array(), 'recommend' => array('ticket-create', 'ticket-edit', 'ticket-view')); + +$config->group->package->manageTicket = new stdclass(); +$config->group->package->manageTicket->edition = 'open,biz,max,ipd'; +$config->group->package->manageTicket->vision = 'rnd,lite,or'; +$config->group->package->manageTicket->order = 10; +$config->group->package->manageTicket->subset = 'ticket'; +$config->group->package->manageTicket->privs = array(); +$config->group->package->manageTicket->privs['ticket-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-activate', 'ticket-close', 'ticket-edit')); +$config->group->package->manageTicket->privs['ticket-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-activate', 'ticket-close', 'ticket-create')); +$config->group->package->manageTicket->privs['ticket-assignTo'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-batchAssignTo', 'ticket-create', 'ticket-edit')); +$config->group->package->manageTicket->privs['ticket-createBug'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-createStory', 'ticket-finish', 'ticket-start')); +$config->group->package->manageTicket->privs['ticket-createStory'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-createBug', 'ticket-finish', 'ticket-start')); +$config->group->package->manageTicket->privs['ticket-start'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-activate', 'ticket-assignTo', 'ticket-close', 'ticket-create', 'ticket-createBug', 'ticket-createStory', 'ticket-edit', 'ticket-finish')); +$config->group->package->manageTicket->privs['ticket-finish'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-createBug', 'ticket-createStory', 'ticket-start')); +$config->group->package->manageTicket->privs['ticket-close'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-batchClose', 'ticket-edit')); +$config->group->package->manageTicket->privs['ticket-activate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 12, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-batchActivate')); +$config->group->package->manageTicket->privs['ticket-batchEdit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-edit')); +$config->group->package->manageTicket->privs['ticket-batchClose'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 11, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-close')); +$config->group->package->manageTicket->privs['ticket-batchActivate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 13, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-activate')); +$config->group->package->manageTicket->privs['ticket-batchFinish'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-finish')); +$config->group->package->manageTicket->privs['ticket-batchAssignTo'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-assignTo')); +$config->group->package->manageTicket->privs['ticket-syncProduct'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 14, 'depend' => array('ticket-browse'), 'recommend' => array()); + +$config->group->package->importTicket = new stdclass(); +$config->group->package->importTicket->edition = 'open,biz,max,ipd'; +$config->group->package->importTicket->vision = 'rnd,lite,or'; +$config->group->package->importTicket->order = 15; +$config->group->package->importTicket->subset = 'ticket'; +$config->group->package->importTicket->privs = array(); +$config->group->package->importTicket->privs['ticket-exportTemplate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('ticket-browse', 'ticket-import'), 'recommend' => array()); +$config->group->package->importTicket->privs['ticket-import'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('ticket-browse', 'ticket-exportTemplate'), 'recommend' => array()); +$config->group->package->importTicket->privs['ticket-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('ticket-browse'), 'recommend' => array()); + +$config->group->package->deleteFeedback = new stdclass(); +$config->group->package->deleteFeedback->edition = 'open,biz,max,ipd'; +$config->group->package->deleteFeedback->vision = 'rnd,lite,or'; +$config->group->package->deleteFeedback->order = 25; +$config->group->package->deleteFeedback->subset = 'feedback'; +$config->group->package->deleteFeedback->privs = array(); +$config->group->package->deleteFeedback->privs['feedback-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 95, 'depend' => array('feedback-admin'), 'recommend' => array('feedback-create', 'feedback-edit')); + +$config->group->package->deleteTIcket = new stdclass(); +$config->group->package->deleteTIcket->edition = 'open,biz,max,ipd'; +$config->group->package->deleteTIcket->vision = 'rnd,lite,or'; +$config->group->package->deleteTIcket->order = 25; +$config->group->package->deleteTIcket->subset = 'ticket'; +$config->group->package->deleteTIcket->privs = array(); +$config->group->package->deleteTIcket->privs['ticket-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 65, 'depend' => array('ticket-browse'), 'recommend' => array('ticket-create', 'ticket-edit')); + +$config->group->package->feedbackPriv = new stdclass(); +$config->group->package->feedbackPriv->edition = 'open,biz,max,ipd'; +$config->group->package->feedbackPriv->vision = 'rnd,lite,or'; +$config->group->package->feedbackPriv->order = 5; +$config->group->package->feedbackPriv->subset = 'feedbackpriv'; +$config->group->package->feedbackPriv->privs = array(); +$config->group->package->feedbackPriv->privs['feedback-products'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 135, 'depend' => array(), 'recommend' => array('feedback-manageProduct', 'feedback-productSetting')); +$config->group->package->feedbackPriv->privs['feedback-manageProduct'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 140, 'depend' => array('feedback-products'), 'recommend' => array('feedback-productSetting')); +$config->group->package->feedbackPriv->privs['feedback-productSetting'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 160, 'depend' => array('feedback-products'), 'recommend' => array('feedback-manageProduct')); + +$config->group->package->browseCourse = new stdclass(); +$config->group->package->browseCourse->edition = 'open,biz,max,ipd'; +$config->group->package->browseCourse->vision = 'rnd,lite,or'; +$config->group->package->browseCourse->order = 5; +$config->group->package->browseCourse->subset = 'traincourse'; +$config->group->package->browseCourse->privs = array(); +$config->group->package->browseCourse->privs['traincourse-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseCourse->privs['traincourse-viewCourse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('traincourse-browse'), 'recommend' => array()); +$config->group->package->browseCourse->privs['traincourse-viewChapter'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('traincourse-browse', 'traincourse-viewCourse'), 'recommend' => array()); + +$config->group->package->manageTrainCourse = new stdclass(); +$config->group->package->manageTrainCourse->edition = 'open,biz,max,ipd'; +$config->group->package->manageTrainCourse->vision = 'rnd,lite,or'; +$config->group->package->manageTrainCourse->order = 10; +$config->group->package->manageTrainCourse->subset = 'traincourse'; +$config->group->package->manageTrainCourse->privs = array(); +$config->group->package->manageTrainCourse->privs['traincourse-admin'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->manageTrainCourse->privs['traincourse-deleteCourse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('traincourse-admin'), 'recommend' => array('traincourse-uploadCourse')); +$config->group->package->manageTrainCourse->privs['traincourse-changeStatus'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('traincourse-admin'), 'recommend' => array('traincourse-uploadCourse')); +$config->group->package->manageTrainCourse->privs['traincourse-uploadCourse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('traincourse-admin'), 'recommend' => array('traincourse-deleteCourse')); +$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->system = new stdclass(); +$config->group->package->system->edition = 'open,biz,max,ipd'; +$config->group->package->system->vision = 'rnd'; +$config->group->package->system->order = 2180; +$config->group->package->system->subset = 'ops'; +$config->group->package->system->privs = array(); +$config->group->package->system->privs['system-dblist'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->system->privs['system-configdomain'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); +$config->group->package->system->privs['system-ossview'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array(), 'recommend' => array()); + +$config->group->package->host = new stdclass(); +$config->group->package->host->edition = 'open,biz,max,ipd'; +$config->group->package->host->vision = 'rnd'; +$config->group->package->host->order = 2220; +$config->group->package->host->subset = 'ops'; +$config->group->package->host->privs = array(); +$config->group->package->host->privs['host-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('ops-index'), 'recommend' => array('host-create', 'host-edit', 'host-treemap', 'host-view')); +$config->group->package->host->privs['host-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('host-browse', 'ops-index'), 'recommend' => array('host-changeStatus', 'host-edit')); +$config->group->package->host->privs['host-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('host-browse', 'ops-index'), 'recommend' => array('host-changeStatus', 'host-create')); +$config->group->package->host->privs['host-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('host-browse', 'ops-index'), 'recommend' => array('host-create', 'host-edit')); +$config->group->package->host->privs['host-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('host-browse', 'ops-index'), 'recommend' => array('host-create', 'host-edit')); +$config->group->package->host->privs['host-changeStatus'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('host-browse', 'ops-index'), 'recommend' => array('host-create', 'host-edit')); +$config->group->package->host->privs['host-treemap'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('host-browse', 'ops-index'), 'recommend' => array()); + +$config->group->package->serverRoom = new stdclass(); +$config->group->package->serverRoom->edition = 'open,biz,max,ipd'; +$config->group->package->serverRoom->vision = 'rnd'; +$config->group->package->serverRoom->order = 2240; +$config->group->package->serverRoom->subset = 'ops'; +$config->group->package->serverRoom->privs = array(); +$config->group->package->serverRoom->privs['serverroom-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('ops-index'), 'recommend' => array('serverroom-create', 'serverroom-edit', 'serverroom-view')); +$config->group->package->serverRoom->privs['serverroom-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('ops-index', 'serverroom-browse'), 'recommend' => array('serverroom-edit')); +$config->group->package->serverRoom->privs['serverroom-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('ops-index', 'serverroom-browse'), 'recommend' => array('serverroom-create')); +$config->group->package->serverRoom->privs['serverroom-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('ops-index', 'serverroom-browse'), 'recommend' => array('serverroom-create', 'serverroom-edit')); +$config->group->package->serverRoom->privs['serverroom-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('ops-index', 'serverroom-browse'), 'recommend' => array('serverroom-create', 'serverroom-edit')); + +$config->group->package->account = new stdclass(); +$config->group->package->account->edition = 'open,biz,max,ipd'; +$config->group->package->account->vision = 'rnd'; +$config->group->package->account->order = 2260; +$config->group->package->account->subset = 'ops'; +$config->group->package->account->privs = array(); +$config->group->package->account->privs['account-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('ops-index'), 'recommend' => array('account-create', 'account-edit', 'account-view')); +$config->group->package->account->privs['account-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('account-browse', 'ops-index'), 'recommend' => array('account-edit')); +$config->group->package->account->privs['account-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('account-browse', 'ops-index'), 'recommend' => array('account-create')); +$config->group->package->account->privs['account-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('account-browse', 'ops-index'), 'recommend' => array('account-create', 'account-edit')); +$config->group->package->account->privs['account-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('account-browse', 'ops-index'), 'recommend' => array('account-create', 'account-edit')); + +$config->group->package->domain = new stdclass(); +$config->group->package->domain->edition = 'biz,max,ipd'; +$config->group->package->domain->vision = 'rnd,lite,or'; +$config->group->package->domain->order = 2270; +$config->group->package->domain->subset = 'ops'; +$config->group->package->domain->privs = array(); +$config->group->package->domain->privs['domain-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('ops-index'), 'recommend' => array('domain-create', 'domain-edit', 'domain-view')); +$config->group->package->domain->privs['domain-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('domain-browse', 'ops-index'), 'recommend' => array('domain-edit')); +$config->group->package->domain->privs['domain-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('domain-browse', 'ops-index'), 'recommend' => array('domain-create')); +$config->group->package->domain->privs['domain-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('domain-browse', 'ops-index'), 'recommend' => array('domain-create', 'domain-edit')); +$config->group->package->domain->privs['domain-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('domain-browse', 'ops-index'), 'recommend' => array('domain-create', 'domain-edit')); + +$config->group->package->service = new stdclass(); +$config->group->package->service->edition = 'biz,max,ipd'; +$config->group->package->service->vision = 'rnd'; +$config->group->package->service->order = 2280; +$config->group->package->service->subset = 'ops'; +$config->group->package->service->privs = array(); +$config->group->package->service->privs['service-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('ops-index'), 'recommend' => array('service-create', 'service-edit', 'service-manage', 'service-view')); +$config->group->package->service->privs['service-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('ops-index', 'service-browse'), 'recommend' => array('service-edit', 'service-manage')); +$config->group->package->service->privs['service-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('ops-index', 'service-browse'), 'recommend' => array('service-create', 'service-manage')); +$config->group->package->service->privs['service-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('ops-index', 'service-browse'), 'recommend' => array('service-create', 'service-edit', 'service-manage')); +$config->group->package->service->privs['service-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('ops-index', 'service-browse'), 'recommend' => array('service-create', 'service-edit', 'service-manage')); +$config->group->package->service->privs['service-manage'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('ops-index', 'service-browse'), 'recommend' => array('service-create', 'service-edit')); + +$config->group->package->deployPlan = new stdclass(); +$config->group->package->deployPlan->edition = 'open,biz,max,ipd'; +$config->group->package->deployPlan->vision = 'rnd,lite,or'; +$config->group->package->deployPlan->order = 5; +$config->group->package->deployPlan->subset = 'deploy'; +$config->group->package->deployPlan->privs = array(); +$config->group->package->deployPlan->privs['deploy-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('ops-index'), 'recommend' => array('deploy-activate', 'deploy-create', 'deploy-edit', 'deploy-finish', 'deploy-view')); +$config->group->package->deployPlan->privs['deploy-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('deploy-browse', 'ops-index'), 'recommend' => array('deploy-activate', 'deploy-edit', 'deploy-finish')); +$config->group->package->deployPlan->privs['deploy-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('deploy-browse', 'ops-index'), 'recommend' => array('deploy-activate', 'deploy-create', 'deploy-finish')); +$config->group->package->deployPlan->privs['deploy-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('deploy-browse', 'ops-index'), 'recommend' => array('deploy-create', 'deploy-edit')); +$config->group->package->deployPlan->privs['deploy-activate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('deploy-browse', 'ops-index'), 'recommend' => array('deploy-create', 'deploy-edit', 'deploy-finish')); +$config->group->package->deployPlan->privs['deploy-finish'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('deploy-browse', 'ops-index'), 'recommend' => array('deploy-activate', 'deploy-create', 'deploy-edit')); +$config->group->package->deployPlan->privs['deploy-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('deploy-browse', 'ops-index'), 'recommend' => array('deploy-activate', 'deploy-create', 'deploy-edit', 'deploy-finish')); +$config->group->package->deployPlan->privs['ops-stage'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); + +$config->group->package->deployScope = new stdclass(); +$config->group->package->deployScope->edition = 'open,biz,max,ipd'; +$config->group->package->deployScope->vision = 'rnd,lite,or'; +$config->group->package->deployScope->order = 10; +$config->group->package->deployScope->subset = 'deploy'; +$config->group->package->deployScope->privs = array(); +$config->group->package->deployScope->privs['deploy-scope'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('deploy-browse', 'ops-index'), 'recommend' => array('deploy-manageScope')); +$config->group->package->deployScope->privs['deploy-manageScope'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('deploy-browse', 'deploy-scope', 'ops-index'), 'recommend' => array()); + +$config->group->package->deployStep = new stdclass(); +$config->group->package->deployStep->edition = 'open,biz,max,ipd'; +$config->group->package->deployStep->vision = 'rnd,lite,or'; +$config->group->package->deployStep->order = 15; +$config->group->package->deployStep->subset = 'deploy'; +$config->group->package->deployStep->privs = array(); +$config->group->package->deployStep->privs['testtask-runDeployCase'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('deploy-browse', 'deploy-steps', 'ops-index'), 'recommend' => array('deploy-assignTo', 'deploy-editStep', 'deploy-finishStep', 'deploy-manageStep', 'testtask-deployCaseResults')); +$config->group->package->deployStep->privs['testtask-deployCaseResults'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('deploy-browse', 'deploy-steps', 'ops-index'), 'recommend' => array('deploy-assignTo', 'deploy-editStep', 'deploy-finishStep', 'deploy-manageStep', 'testtask-runDeployCase')); +$config->group->package->deployStep->privs['deploy-steps'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('deploy-browse', 'ops-index'), 'recommend' => array('deploy-assignTo', 'deploy-editStep', 'deploy-finishStep', 'deploy-manageStep', 'deploy-viewStep', 'testtask-deployCaseResults', 'testtask-runDeployCase')); +$config->group->package->deployStep->privs['deploy-manageStep'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('deploy-browse', 'deploy-steps', 'ops-index'), 'recommend' => array('deploy-assignTo', 'deploy-editStep', 'deploy-finishStep', 'testtask-deployCaseResults', 'testtask-runDeployCase')); +$config->group->package->deployStep->privs['deploy-finishStep'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('deploy-browse', 'deploy-steps', 'ops-index'), 'recommend' => array('deploy-assignTo', 'deploy-editStep', 'deploy-manageStep', 'testtask-deployCaseResults', 'testtask-runDeployCase')); +$config->group->package->deployStep->privs['deploy-assignTo'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('deploy-browse', 'deploy-steps', 'ops-index'), 'recommend' => array('deploy-editStep', 'deploy-finishStep', 'deploy-manageStep', 'testtask-deployCaseResults', 'testtask-runDeployCase')); +$config->group->package->deployStep->privs['deploy-viewStep'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('deploy-browse', 'deploy-steps', 'ops-index'), 'recommend' => array('deploy-assignTo', 'deploy-editStep', 'deploy-finishStep', 'deploy-manageStep', 'testtask-deployCaseResults', 'testtask-runDeployCase')); +$config->group->package->deployStep->privs['deploy-editStep'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('deploy-browse', 'deploy-steps', 'ops-index'), 'recommend' => array('deploy-assignTo', 'deploy-finishStep', 'deploy-manageStep', 'testtask-deployCaseResults', 'testtask-runDeployCase')); +$config->group->package->deployStep->privs['deploy-deleteStep'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('deploy-browse', 'deploy-steps', 'ops-index'), 'recommend' => array('deploy-assignTo', 'deploy-editStep', 'deploy-finishStep', 'deploy-manageStep', 'testtask-deployCaseResults', 'testtask-runDeployCase')); + +$config->group->package->deployCase = new stdclass(); +$config->group->package->deployCase->edition = 'open,biz,max,ipd'; +$config->group->package->deployCase->vision = 'rnd,lite,or'; +$config->group->package->deployCase->order = 20; +$config->group->package->deployCase->subset = 'deploy'; +$config->group->package->deployCase->privs = array(); +$config->group->package->deployCase->privs['deploy-cases'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array('deploy-browse', 'ops-index'), 'recommend' => array('deploy-linkCases', 'deploy-unlinkCase')); +$config->group->package->deployCase->privs['deploy-linkCases'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('deploy-browse', 'deploy-cases', 'ops-index'), 'recommend' => array('deploy-unlinkCase')); +$config->group->package->deployCase->privs['deploy-unlinkCase'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 60, 'depend' => array('deploy-browse', 'deploy-cases', 'ops-index'), 'recommend' => array('deploy-batchUnlinkCases', 'deploy-linkCases')); +$config->group->package->deployCase->privs['deploy-batchUnlinkCases'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 65, 'depend' => array('deploy-browse', 'deploy-cases', 'ops-index'), 'recommend' => array('deploy-unlinkCase')); + +$config->group->package->qaIndex = new stdclass(); +$config->group->package->qaIndex->edition = 'open,biz,max,ipd'; +$config->group->package->qaIndex->vision = 'rnd,lite,or'; +$config->group->package->qaIndex->order = 5; +$config->group->package->qaIndex->subset = 'qa'; +$config->group->package->qaIndex->privs = array(); +$config->group->package->qaIndex->privs['qa-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); + +$config->group->package->browseBug = new stdclass(); +$config->group->package->browseBug->edition = 'open,biz,max,ipd'; +$config->group->package->browseBug->vision = 'rnd,lite,or'; +$config->group->package->browseBug->order = 5; +$config->group->package->browseBug->subset = 'bug'; +$config->group->package->browseBug->privs = array(); +$config->group->package->browseBug->privs['bug-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('qa-index'), 'recommend' => array('bug-report', 'bug-view')); +$config->group->package->browseBug->privs['bug-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseBug->privs['bug-report'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 85, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageBug = new stdclass(); +$config->group->package->manageBug->edition = 'open,biz,max,ipd'; +$config->group->package->manageBug->vision = 'rnd,lite,or'; +$config->group->package->manageBug->order = 10; +$config->group->package->manageBug->subset = 'bug'; +$config->group->package->manageBug->privs = array(); +$config->group->package->manageBug->privs['bug-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('bug-view'), 'recommend' => array('bug-activate', 'bug-assignTo', 'bug-batchCreate', 'bug-close', 'bug-confirmBug', 'bug-confirmStoryChange', 'bug-edit', 'bug-linkBugs', 'bug-resolve')); +$config->group->package->manageBug->privs['bug-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array('bug-create')); +$config->group->package->manageBug->privs['bug-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array('bug-edit')); +$config->group->package->manageBug->privs['bug-confirmBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('bug-view'), 'recommend' => array('bug-activate', 'bug-assignTo', 'bug-batchConfirm', 'bug-close', 'bug-confirmStoryChange', 'bug-create', 'bug-edit', 'bug-linkBugs', 'bug-resolve')); +$config->group->package->manageBug->privs['bug-batchConfirm'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('bug-confirmBug')); +$config->group->package->manageBug->privs['bug-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('bug-view'), 'recommend' => array('bug-activate', 'bug-assignTo', 'bug-batchEdit', 'bug-close', 'bug-confirmBug', 'bug-confirmStoryChange', 'bug-create', 'bug-linkBugs', 'bug-resolve')); +$config->group->package->manageBug->privs['bug-assignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('bug-view'), 'recommend' => array('bug-activate', 'bug-batchAssignTo', 'bug-close', 'bug-confirmBug', 'bug-confirmStoryChange', 'bug-create', 'bug-edit', 'bug-linkBugs', 'bug-resolve')); +$config->group->package->manageBug->privs['bug-batchAssignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array(), 'recommend' => array('bug-assignTo')); +$config->group->package->manageBug->privs['bug-resolve'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('bug-view'), 'recommend' => array('bug-activate', 'bug-assignTo', 'bug-batchResolve', 'bug-close', 'bug-confirmBug', 'bug-confirmStoryChange', 'bug-create', 'bug-edit', 'bug-linkBugs')); +$config->group->package->manageBug->privs['bug-batchResolve'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array(), 'recommend' => array('bug-resolve')); +$config->group->package->manageBug->privs['bug-batchClose'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 11, 'depend' => array(), 'recommend' => array('bug-close')); +$config->group->package->manageBug->privs['bug-batchActivate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 13, 'depend' => array(), 'recommend' => array('bug-activate')); +$config->group->package->manageBug->privs['bug-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 12, 'depend' => array('bug-view'), 'recommend' => array('bug-assignTo', 'bug-batchActivate', 'bug-close', 'bug-confirmBug', 'bug-confirmStoryChange', 'bug-create', 'bug-edit', 'bug-linkBugs', 'bug-resolve')); +$config->group->package->manageBug->privs['bug-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('bug-view'), 'recommend' => array('bug-activate', 'bug-assignTo', 'bug-batchClose', 'bug-confirmBug', 'bug-confirmStoryChange', 'bug-create', 'bug-edit', 'bug-linkBugs', 'bug-resolve')); +$config->group->package->manageBug->privs['bug-confirmStoryChange'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 14, 'depend' => array('bug-view'), 'recommend' => array('bug-activate', 'bug-assignTo', 'bug-close', 'bug-confirmBug', 'bug-create', 'bug-edit', 'bug-linkBugs', 'bug-resolve')); +$config->group->package->manageBug->privs['bug-linkBugs'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('bug-edit'), 'recommend' => array()); +$config->group->package->manageBug->privs['bug-batchChangeModule'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 16, 'depend' => array(), 'recommend' => array('bug-edit')); +$config->group->package->manageBug->privs['bug-batchChangeBranch'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 17, 'depend' => array(), 'recommend' => array('bug-edit')); +$config->group->package->manageBug->privs['bug-batchChangePlan'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 18, 'depend' => array(), 'recommend' => array('bug-edit')); + +$config->group->package->deleteBug = new stdclass(); +$config->group->package->deleteBug->edition = 'open,biz,max,ipd'; +$config->group->package->deleteBug->vision = 'rnd,lite,or'; +$config->group->package->deleteBug->order = 20; +$config->group->package->deleteBug->subset = 'bug'; +$config->group->package->deleteBug->privs = array(); +$config->group->package->deleteBug->privs['bug-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 100, 'depend' => array('bug-view'), 'recommend' => array()); + +$config->group->package->importBug = new stdclass(); +$config->group->package->importBug->edition = 'open,biz,max,ipd'; +$config->group->package->importBug->vision = 'rnd,lite,or'; +$config->group->package->importBug->order = 15; +$config->group->package->importBug->subset = 'bug'; +$config->group->package->importBug->privs = array(); +$config->group->package->importBug->privs['bug-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 90, 'depend' => array(), 'recommend' => array()); +$config->group->package->importBug->privs['bug-import'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 125, 'depend' => array('bug-exportTemplate'), 'recommend' => array()); +$config->group->package->importBug->privs['bug-exportTemplate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 130, 'depend' => array('bug-import'), 'recommend' => array()); + +$config->group->package->browseCase = new stdclass(); +$config->group->package->browseCase->edition = 'open,biz,max,ipd'; +$config->group->package->browseCase->vision = 'rnd,lite,or'; +$config->group->package->browseCase->order = 10; +$config->group->package->browseCase->subset = 'testcase'; +$config->group->package->browseCase->privs = array(); +$config->group->package->browseCase->privs['testcase-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('qa-index'), 'recommend' => array('testcase-groupCase', 'testcase-view', 'testcase-zeroCase')); +$config->group->package->browseCase->privs['testcase-groupCase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseCase->privs['testcase-zeroCase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseCase->privs['testcase-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseCase->privs['testcase-bugs'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 95, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageCase = new stdclass(); +$config->group->package->manageCase->edition = 'open,biz,max,ipd'; +$config->group->package->manageCase->vision = 'rnd,lite,or'; +$config->group->package->manageCase->order = 15; +$config->group->package->manageCase->subset = 'testcase'; +$config->group->package->manageCase->privs = array(); +$config->group->package->manageCase->privs['testcase-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('testcase-view'), 'recommend' => array('testcase-confirmChange', 'testcase-confirmLibcaseChange', 'testcase-confirmStoryChange', 'testcase-edit', 'testcase-ignoreLibcaseChange', 'testcase-linkBugs', 'testcase-linkCases', 'testcase-submit')); +$config->group->package->manageCase->privs['testcase-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array('testcase-create')); +$config->group->package->manageCase->privs['testcase-createBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('testcase-view'), 'recommend' => array('testcase-confirmChange', 'testcase-confirmLibcaseChange', 'testcase-confirmStoryChange', 'testcase-create', 'testcase-edit', 'testcase-ignoreLibcaseChange', 'testcase-linkBugs', 'testcase-linkCases', 'testcase-submit')); +$config->group->package->manageCase->privs['testcase-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('testcase-view'), 'recommend' => array('testcase-confirmChange', 'testcase-confirmLibcaseChange', 'testcase-confirmStoryChange', 'testcase-create', 'testcase-ignoreLibcaseChange', 'testcase-linkBugs', 'testcase-linkCases', 'testcase-submit')); +$config->group->package->manageCase->privs['testcase-confirmChange'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('testcase-view'), 'recommend' => array('testcase-confirmLibcaseChange', 'testcase-confirmStoryChange', 'testcase-create', 'testcase-edit', 'testcase-ignoreLibcaseChange', 'testcase-linkBugs', 'testcase-linkCases')); +$config->group->package->manageCase->privs['testcase-confirmStoryChange'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('testcase-view'), 'recommend' => array('testcase-confirmChange', 'testcase-confirmLibcaseChange', 'testcase-create', 'testcase-edit', 'testcase-ignoreLibcaseChange', 'testcase-linkBugs', 'testcase-linkCases')); +$config->group->package->manageCase->privs['testcase-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array()); +$config->group->package->manageCase->privs['testcase-batchChangeModule'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array(), 'recommend' => array('testcase-edit')); +$config->group->package->manageCase->privs['testcase-batchChangeBranch'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array('testcase-edit')); +$config->group->package->manageCase->privs['testcase-linkCases'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 12, 'depend' => array('testcase-view'), 'recommend' => array('testcase-create', 'testcase-edit', 'testcase-linkBugs')); +$config->group->package->manageCase->privs['testcase-linkBugs'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 13, 'depend' => array('testcase-view'), 'recommend' => array('testcase-create', 'testcase-edit', 'testcase-linkCases')); +$config->group->package->manageCase->privs['testcase-batchConfirmStoryChange'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array(), 'recommend' => array()); +$config->group->package->manageCase->privs['testcase-batchCaseTypeChange'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 11, 'depend' => array(), 'recommend' => array('testcase-edit')); +$config->group->package->manageCase->privs['testcase-confirmLibcaseChange'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 14, 'depend' => array('testcase-view'), 'recommend' => array('testcase-confirmChange', 'testcase-confirmStoryChange', 'testcase-create', 'testcase-edit', 'testcase-ignoreLibcaseChange')); +$config->group->package->manageCase->privs['testcase-ignoreLibcaseChange'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('testcase-view'), 'recommend' => array('testcase-confirmChange', 'testcase-confirmLibcaseChange', 'testcase-confirmStoryChange', 'testcase-create', 'testcase-edit')); +$config->group->package->manageCase->privs['testcase-submit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('testcase-view'), 'recommend' => array('testcase-confirmChange', 'testcase-confirmLibcaseChange', 'testcase-confirmStoryChange', 'testcase-create', 'testcase-edit', 'testcase-ignoreLibcaseChange', 'testcase-linkBugs', 'testcase-linkCases')); +$config->group->package->manageCase->privs['testcase-updateOrder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array(), 'recommend' => array()); + +$config->group->package->importCase = new stdclass(); +$config->group->package->importCase->edition = 'open,biz,max,ipd'; +$config->group->package->importCase->vision = 'rnd,lite,or'; +$config->group->package->importCase->order = 25; +$config->group->package->importCase->subset = 'testcase'; +$config->group->package->importCase->privs = array(); +$config->group->package->importCase->privs['testcase-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('testcase-exportXmind')); +$config->group->package->importCase->privs['testcase-importFromLib'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('assetlib-caselib', 'caselib-browse')); +$config->group->package->importCase->privs['testcase-exportTemplate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('testcase-import'), 'recommend' => array()); +$config->group->package->importCase->privs['testcase-import'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('testcase-exportTemplate'), 'recommend' => array('testcase-importXmind')); +$config->group->package->importCase->privs['testcase-importXmind'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array(), 'recommend' => array('testcase-import')); +$config->group->package->importCase->privs['testcase-exportXmind'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array('testcase-export')); + +$config->group->package->deleteCase = new stdclass(); +$config->group->package->deleteCase->edition = 'open,biz,max,ipd'; +$config->group->package->deleteCase->vision = 'rnd,lite,or'; +$config->group->package->deleteCase->order = 30; +$config->group->package->deleteCase->subset = 'testcase'; +$config->group->package->deleteCase->privs = array(); +$config->group->package->deleteCase->privs['testcase-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('testcase-view'), 'recommend' => array('testcase-batchDelete')); +$config->group->package->deleteCase->privs['testcase-batchDelete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 70, 'depend' => array(), 'recommend' => array('testcase-delete')); + +$config->group->package->reviewCase = new stdclass(); +$config->group->package->reviewCase->edition = 'open,biz,max,ipd'; +$config->group->package->reviewCase->vision = 'rnd,lite,or'; +$config->group->package->reviewCase->order = 20; +$config->group->package->reviewCase->subset = 'testcase'; +$config->group->package->reviewCase->privs = array(); +$config->group->package->reviewCase->privs['testcase-review'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 100, 'depend' => array('testcase-view'), 'recommend' => array('testcase-batchReview')); +$config->group->package->reviewCase->privs['testcase-batchReview'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 105, 'depend' => array(), 'recommend' => array('testcase-review')); + +$config->group->package->browseTesttask = new stdclass(); +$config->group->package->browseTesttask->edition = 'open,biz,max,ipd'; +$config->group->package->browseTesttask->vision = 'rnd,lite,or'; +$config->group->package->browseTesttask->order = 5; +$config->group->package->browseTesttask->subset = 'testtask'; +$config->group->package->browseTesttask->privs = array(); +$config->group->package->browseTesttask->privs['testtask-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('qa-index'), 'recommend' => array()); +$config->group->package->browseTesttask->privs['testtask-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseTesttask->privs['testtask-cases'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array(), 'recommend' => array('testtask-groupCase', 'testtask-report')); +$config->group->package->browseTesttask->privs['testtask-groupCase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('testtask-cases'), 'recommend' => array()); +$config->group->package->browseTesttask->privs['testtask-report'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 90, 'depend' => array('testtask-cases'), 'recommend' => array()); + +$config->group->package->manageTesttask = new stdclass(); +$config->group->package->manageTesttask->edition = 'open,biz,max,ipd'; +$config->group->package->manageTesttask->vision = 'rnd,lite,or'; +$config->group->package->manageTesttask->order = 10; +$config->group->package->manageTesttask->subset = 'testtask'; +$config->group->package->manageTesttask->privs = array(); +$config->group->package->manageTesttask->privs['testtask-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('testtask-activate', 'testtask-block', 'testtask-close', 'testtask-edit', 'testtask-start')); +$config->group->package->manageTesttask->privs['testtask-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array('testtask-activate', 'testtask-block', 'testtask-close', 'testtask-create', 'testtask-start')); +$config->group->package->manageTesttask->privs['testtask-start'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array('testtask-activate', 'testtask-block', 'testtask-close', 'testtask-create', 'testtask-edit')); +$config->group->package->manageTesttask->privs['testtask-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array('testtask-block', 'testtask-close', 'testtask-create', 'testtask-edit', 'testtask-start')); +$config->group->package->manageTesttask->privs['testtask-block'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array('testtask-activate', 'testtask-close', 'testtask-create', 'testtask-edit', 'testtask-start')); +$config->group->package->manageTesttask->privs['testtask-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('testtask-activate', 'testtask-block', 'testtask-create', 'testtask-edit', 'testtask-start')); +$config->group->package->manageTesttask->privs['testtask-batchAssign'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 12, 'depend' => array('testtask-cases'), 'recommend' => array()); +$config->group->package->manageTesttask->privs['testtask-linkcase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('testtask-cases'), 'recommend' => array('testtask-unlinkcase')); +$config->group->package->manageTesttask->privs['testtask-unlinkcase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('testtask-cases'), 'recommend' => array('testtask-linkcase')); +$config->group->package->manageTesttask->privs['testtask-runcase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('testtask-cases'), 'recommend' => array('testtask-results')); +$config->group->package->manageTesttask->privs['testtask-results'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 11, 'depend' => array('testtask-cases'), 'recommend' => array('testtask-runcase')); +$config->group->package->manageTesttask->privs['testtask-batchUnlinkCases'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('testtask-cases'), 'recommend' => array('testtask-unlinkcase')); +$config->group->package->manageTesttask->privs['testtask-batchRun'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('testtask-cases'), 'recommend' => array('testtask-runcase')); + +$config->group->package->deleteTesttask = new stdclass(); +$config->group->package->deleteTesttask->edition = 'open,biz,max,ipd'; +$config->group->package->deleteTesttask->vision = 'rnd,lite,or'; +$config->group->package->deleteTesttask->order = 15; +$config->group->package->deleteTesttask->subset = 'testtask'; +$config->group->package->deleteTesttask->privs = array(); +$config->group->package->deleteTesttask->privs['testtask-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array(), 'recommend' => array()); + +$config->group->package->unitTest = new stdclass(); +$config->group->package->unitTest->edition = 'open,biz,max,ipd'; +$config->group->package->unitTest->vision = 'rnd,lite,or'; +$config->group->package->unitTest->order = 40; +$config->group->package->unitTest->subset = 'testcase'; +$config->group->package->unitTest->privs = array(); +$config->group->package->unitTest->privs['testtask-browseUnits'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->unitTest->privs['testtask-unitCases'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('testtask-browseUnits'), 'recommend' => array()); +$config->group->package->unitTest->privs['testtask-importUnitResult'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('testtask-browseUnits'), 'recommend' => array()); + +$config->group->package->testsuite = new stdclass(); +$config->group->package->testsuite->edition = 'open,biz,max,ipd'; +$config->group->package->testsuite->vision = 'rnd,lite,or'; +$config->group->package->testsuite->order = 5; +$config->group->package->testsuite->subset = 'testsuite'; +$config->group->package->testsuite->privs = array(); +$config->group->package->testsuite->privs['testsuite-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('qa-index'), 'recommend' => array()); +$config->group->package->testsuite->privs['testsuite-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageTestsuite = new stdclass(); +$config->group->package->manageTestsuite->edition = 'open,biz,max,ipd'; +$config->group->package->manageTestsuite->vision = 'rnd,lite,or'; +$config->group->package->manageTestsuite->order = 10; +$config->group->package->manageTestsuite->subset = 'testsuite'; +$config->group->package->manageTestsuite->privs = array(); +$config->group->package->manageTestsuite->privs['testsuite-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('testsuite-browse'), 'recommend' => array('testsuite-edit')); +$config->group->package->manageTestsuite->privs['testsuite-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('testsuite-browse', 'testsuite-view'), 'recommend' => array('testsuite-create')); +$config->group->package->manageTestsuite->privs['testsuite-linkCase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('testsuite-view'), 'recommend' => array('testsuite-batchUnlinkCases', 'testsuite-unlinkCase')); +$config->group->package->manageTestsuite->privs['testsuite-unlinkCase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('testsuite-view'), 'recommend' => array('testsuite-linkCase')); +$config->group->package->manageTestsuite->privs['testsuite-batchUnlinkCases'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('testsuite-view'), 'recommend' => array('testsuite-unlinkCase')); + +$config->group->package->deleteTestsuite = new stdclass(); +$config->group->package->deleteTestsuite->edition = 'open,biz,max,ipd'; +$config->group->package->deleteTestsuite->vision = 'rnd,lite,or'; +$config->group->package->deleteTestsuite->order = 15; +$config->group->package->deleteTestsuite->subset = 'testsuite'; +$config->group->package->deleteTestsuite->privs = array(); +$config->group->package->deleteTestsuite->privs['testsuite-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('testsuite-browse', 'testsuite-view'), 'recommend' => array()); + +$config->group->package->browseTestreport = new stdclass(); +$config->group->package->browseTestreport->edition = 'open,biz,max,ipd'; +$config->group->package->browseTestreport->vision = 'rnd,lite,or'; +$config->group->package->browseTestreport->order = 5; +$config->group->package->browseTestreport->subset = 'testreport'; +$config->group->package->browseTestreport->privs = array(); +$config->group->package->browseTestreport->privs['testreport-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('qa-index'), 'recommend' => array('testreport-view')); +$config->group->package->browseTestreport->privs['testreport-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageTestreport = new stdclass(); +$config->group->package->manageTestreport->edition = 'open,biz,max,ipd'; +$config->group->package->manageTestreport->vision = 'rnd,lite,or'; +$config->group->package->manageTestreport->order = 10; +$config->group->package->manageTestreport->subset = 'testreport'; +$config->group->package->manageTestreport->privs = array(); +$config->group->package->manageTestreport->privs['testreport-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('testreport-view'), 'recommend' => array('testreport-edit')); +$config->group->package->manageTestreport->privs['testreport-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('testreport-view'), 'recommend' => array('testreport-create')); + +$config->group->package->deleteTestreport = new stdclass(); +$config->group->package->deleteTestreport->edition = 'open,biz,max,ipd'; +$config->group->package->deleteTestreport->vision = 'rnd,lite,or'; +$config->group->package->deleteTestreport->order = 20; +$config->group->package->deleteTestreport->subset = 'testreport'; +$config->group->package->deleteTestreport->privs = array(); +$config->group->package->deleteTestreport->privs['testreport-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('testreport-view'), 'recommend' => array()); + +$config->group->package->importTestreport = new stdclass(); +$config->group->package->importTestreport->edition = 'open,biz,max,ipd'; +$config->group->package->importTestreport->vision = 'rnd,lite,or'; +$config->group->package->importTestreport->order = 15; +$config->group->package->importTestreport->subset = 'testreport'; +$config->group->package->importTestreport->privs = array(); +$config->group->package->importTestreport->privs['testreport-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array(), 'recommend' => array()); + +$config->group->package->browseZAHost = new stdclass(); +$config->group->package->browseZAHost->edition = 'open,biz,max,ipd'; +$config->group->package->browseZAHost->vision = 'rnd,lite,or'; +$config->group->package->browseZAHost->order = 5; +$config->group->package->browseZAHost->subset = 'zahost'; +$config->group->package->browseZAHost->privs = array(); +$config->group->package->browseZAHost->privs['zahost-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('qa-index'), 'recommend' => array('zahost-view')); +$config->group->package->browseZAHost->privs['zahost-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('zahost-browse'), 'recommend' => array()); + +$config->group->package->manageZAHost = new stdclass(); +$config->group->package->manageZAHost->edition = 'open,biz,max,ipd'; +$config->group->package->manageZAHost->vision = 'rnd,lite,or'; +$config->group->package->manageZAHost->order = 10; +$config->group->package->manageZAHost->subset = 'zahost'; +$config->group->package->manageZAHost->privs = array(); +$config->group->package->manageZAHost->privs['zahost-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('zahost-browse'), 'recommend' => array('zahost-edit')); +$config->group->package->manageZAHost->privs['zahost-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('zahost-browse'), 'recommend' => array('zahost-create')); + +$config->group->package->deleteZAHost = new stdclass(); +$config->group->package->deleteZAHost->edition = 'open,biz,max,ipd'; +$config->group->package->deleteZAHost->vision = 'rnd,lite,or'; +$config->group->package->deleteZAHost->order = 15; +$config->group->package->deleteZAHost->subset = 'zahost'; +$config->group->package->deleteZAHost->privs = array(); +$config->group->package->deleteZAHost->privs['zahost-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('zahost-browse'), 'recommend' => array()); + +$config->group->package->image = new stdclass(); +$config->group->package->image->edition = 'open,biz,max,ipd'; +$config->group->package->image->vision = 'rnd,lite,or'; +$config->group->package->image->order = 20; +$config->group->package->image->subset = 'zahost'; +$config->group->package->image->privs = array(); +$config->group->package->image->privs['zahost-browseImage'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('zahost-browse'), 'recommend' => array()); +$config->group->package->image->privs['zahost-downloadImage'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('zahost-browseImage', 'zahost-cancelDownload'), 'recommend' => array()); +$config->group->package->image->privs['zahost-cancelDownload'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('zahost-downloadImage'), 'recommend' => array()); + +$config->group->package->browseZANode = new stdclass(); +$config->group->package->browseZANode->edition = 'open,biz,max,ipd'; +$config->group->package->browseZANode->vision = 'rnd,lite,or'; +$config->group->package->browseZANode->order = 5; +$config->group->package->browseZANode->subset = 'zanode'; +$config->group->package->browseZANode->privs = array(); +$config->group->package->browseZANode->privs['zanode-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('qa-index'), 'recommend' => array('zanode-view')); +$config->group->package->browseZANode->privs['zanode-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array('zanode-browse'), 'recommend' => array()); + +$config->group->package->manageZANode = new stdclass(); +$config->group->package->manageZANode->edition = 'open,biz,max,ipd'; +$config->group->package->manageZANode->vision = 'rnd,lite,or'; +$config->group->package->manageZANode->order = 10; +$config->group->package->manageZANode->subset = 'zanode'; +$config->group->package->manageZANode->privs = array(); +$config->group->package->manageZANode->privs['zanode-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array('zanode-close', 'zanode-edit', 'zanode-getVNC', 'zanode-reboot', 'zanode-resume', 'zanode-start', 'zanode-suspend')); +$config->group->package->manageZANode->privs['zanode-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array('zanode-close', 'zanode-create', 'zanode-getVNC', 'zanode-reboot', 'zanode-resume', 'zanode-start', 'zanode-suspend')); +$config->group->package->manageZANode->privs['zanode-reboot'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array('zanode-close', 'zanode-create', 'zanode-edit', 'zanode-getVNC', 'zanode-resume', 'zanode-start', 'zanode-suspend')); +$config->group->package->manageZANode->privs['zanode-resume'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array('zanode-close', 'zanode-create', 'zanode-edit', 'zanode-getVNC', 'zanode-reboot', 'zanode-start', 'zanode-suspend')); +$config->group->package->manageZANode->privs['zanode-getVNC'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array('zanode-close', 'zanode-create', 'zanode-edit', 'zanode-reboot', 'zanode-resume', 'zanode-start', 'zanode-suspend')); +$config->group->package->manageZANode->privs['zanode-start'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array('zanode-close', 'zanode-create', 'zanode-edit', 'zanode-getVNC', 'zanode-reboot', 'zanode-resume', 'zanode-suspend')); +$config->group->package->manageZANode->privs['zanode-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array('zanode-create', 'zanode-edit', 'zanode-getVNC', 'zanode-reboot', 'zanode-resume', 'zanode-start', 'zanode-suspend')); +$config->group->package->manageZANode->privs['zanode-suspend'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 85, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array('zanode-close', 'zanode-create', 'zanode-edit', 'zanode-getVNC', 'zanode-reboot', 'zanode-resume', 'zanode-start')); + +$config->group->package->importZANode = new stdclass(); +$config->group->package->importZANode->edition = 'open,biz,max,ipd'; +$config->group->package->importZANode->vision = 'rnd,lite,or'; +$config->group->package->importZANode->order = 15; +$config->group->package->importZANode->subset = 'zanode'; +$config->group->package->importZANode->privs = array(); +$config->group->package->importZANode->privs['zanode-createImage'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('zanode-browse'), 'recommend' => array()); + +$config->group->package->snapshot = new stdclass(); +$config->group->package->snapshot->edition = 'open,biz,max,ipd'; +$config->group->package->snapshot->vision = 'rnd,lite,or'; +$config->group->package->snapshot->order = 25; +$config->group->package->snapshot->subset = 'zanode'; +$config->group->package->snapshot->privs = array(); +$config->group->package->snapshot->privs['zanode-browseSnapshot'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 60, 'depend' => array('zanode-view'), 'recommend' => array()); +$config->group->package->snapshot->privs['zanode-createSnapshot'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 65, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array('zanode-editSnapshot')); +$config->group->package->snapshot->privs['zanode-editSnapshot'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 70, 'depend' => array('zanode-browseSnapshot'), 'recommend' => array('zanode-createSnapshot')); +$config->group->package->snapshot->privs['zanode-restoreSnapshot'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 75, 'depend' => array('zanode-browseSnapshot'), 'recommend' => array()); +$config->group->package->snapshot->privs['zanode-deleteSnapshot'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 80, 'depend' => array('zanode-browseSnapshot'), 'recommend' => array()); + +$config->group->package->companyTeam = new stdclass(); +$config->group->package->companyTeam->edition = 'open,biz,max,ipd'; +$config->group->package->companyTeam->vision = 'rnd,lite,or'; +$config->group->package->companyTeam->order = 5; +$config->group->package->companyTeam->subset = 'systemteam'; +$config->group->package->companyTeam->privs = array(); +$config->group->package->companyTeam->privs['my-team'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array(), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-effortcalendar', 'user-execution', 'user-issue', 'user-profile', 'user-risk', 'user-story', 'user-task', 'user-testCase', 'user-testTask', 'user-todo', 'user-todocalendar')); +$config->group->package->companyTeam->privs['user-todo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('my-team'), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-effortcalendar', 'user-execution', 'user-issue', 'user-profile', 'user-risk', 'user-story', 'user-task', 'user-testCase', 'user-testTask', 'user-todocalendar')); +$config->group->package->companyTeam->privs['user-task'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-execution', 'user-issue', 'user-profile', 'user-risk', 'user-story', 'user-testCase', 'user-testTask')); +$config->group->package->companyTeam->privs['user-bug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 7, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-dynamic', 'user-effort', 'user-execution', 'user-issue', 'user-profile', 'user-risk', 'user-story', 'user-task', 'user-testCase', 'user-testTask')); +$config->group->package->companyTeam->privs['user-dynamic'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 13, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-effort', 'user-execution', 'user-issue', 'user-profile', 'user-risk', 'user-story', 'user-task', 'user-testCase', 'user-testTask')); +$config->group->package->companyTeam->privs['user-profile'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 14, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-execution', 'user-issue', 'user-risk', 'user-story', 'user-task', 'user-testCase', 'user-testTask')); +$config->group->package->companyTeam->privs['user-story'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-execution', 'user-issue', 'user-profile', 'user-risk', 'user-task', 'user-testCase', 'user-testTask')); +$config->group->package->companyTeam->privs['user-testTask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 8, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-execution', 'user-issue', 'user-profile', 'user-risk', 'user-story', 'user-task', 'user-testCase')); +$config->group->package->companyTeam->privs['user-testCase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 9, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-execution', 'user-issue', 'user-profile', 'user-risk', 'user-story', 'user-task', 'user-testTask')); +$config->group->package->companyTeam->privs['user-execution'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 10, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-issue', 'user-profile', 'user-risk', 'user-story', 'user-task', 'user-testCase', 'user-testTask')); +$config->group->package->companyTeam->privs['user-effortcalendar'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('my-team', 'user-todo'), 'recommend' => array()); +$config->group->package->companyTeam->privs['user-todocalendar'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('my-team', 'user-todo'), 'recommend' => array()); +$config->group->package->companyTeam->privs['user-effort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-dynamic', 'user-execution', 'user-issue', 'user-profile', 'user-risk', 'user-story', 'user-task', 'user-testCase', 'user-testTask')); +$config->group->package->companyTeam->privs['user-issue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 11, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-execution', 'user-profile', 'user-risk', 'user-story', 'user-task', 'user-testCase', 'user-testTask')); +$config->group->package->companyTeam->privs['user-risk'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 12, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('user-bug', 'user-dynamic', 'user-effort', 'user-execution', 'user-issue', 'user-profile', 'user-story', 'user-task', 'user-testCase', 'user-testTask')); + +$config->group->package->companyCalendar = new stdclass(); +$config->group->package->companyCalendar->edition = 'open,biz,max,ipd'; +$config->group->package->companyCalendar->vision = 'rnd,lite,or'; +$config->group->package->companyCalendar->order = 5; +$config->group->package->companyCalendar->subset = 'systemschedule'; +$config->group->package->companyCalendar->privs = array(); +$config->group->package->companyCalendar->privs['company-todo'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array('my-team'), 'recommend' => array()); + +$config->group->package->companyEffort = new stdclass(); +$config->group->package->companyEffort->edition = 'open,biz,max,ipd'; +$config->group->package->companyEffort->vision = 'rnd,lite,or'; +$config->group->package->companyEffort->order = 5; +$config->group->package->companyEffort->subset = 'systemeffort'; +$config->group->package->companyEffort->privs = array(); +$config->group->package->companyEffort->privs['company-calendar'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('company-effort', 'my-team'), 'recommend' => array()); +$config->group->package->companyEffort->privs['company-effort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 45, 'depend' => array('my-team'), 'recommend' => array('company-calendar')); + +$config->group->package->companyDynamic = new stdclass(); +$config->group->package->companyDynamic->edition = 'open,biz,max,ipd'; +$config->group->package->companyDynamic->vision = 'rnd,lite,or'; +$config->group->package->companyDynamic->order = 5; +$config->group->package->companyDynamic->subset = 'systemdynamic'; +$config->group->package->companyDynamic->privs = array(); +$config->group->package->companyDynamic->privs['company-dynamic'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 20, 'depend' => array('my-team'), 'recommend' => array()); + +$config->group->package->companySetting = new stdclass(); +$config->group->package->companySetting->edition = 'open,biz,max,ipd'; +$config->group->package->companySetting->vision = 'rnd,lite,or'; +$config->group->package->companySetting->order = 5; +$config->group->package->companySetting->subset = 'systemcompany'; +$config->group->package->companySetting->privs = array(); +$config->group->package->companySetting->privs['company-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 15, 'depend' => array('company-view', 'my-team'), 'recommend' => array()); +$config->group->package->companySetting->privs['company-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 25, 'depend' => array('my-team'), 'recommend' => array('company-edit')); + +$config->group->package->companyDataPermission = new stdclass(); +$config->group->package->companyDataPermission->edition = 'open,biz,max,ipd'; +$config->group->package->companyDataPermission->vision = 'rnd,lite,or'; +$config->group->package->companyDataPermission->order = 5; +$config->group->package->companyDataPermission->subset = 'dataaccess'; +$config->group->package->companyDataPermission->privs = array(); +$config->group->package->companyDataPermission->privs['company-allTodo'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('company-alleffort')); +$config->group->package->companyDataPermission->privs['company-alleffort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 50, 'depend' => array('my-team', 'user-todo'), 'recommend' => array('company-allTodo')); + +$config->group->package->programPlan = new stdclass(); +$config->group->package->programPlan->edition = 'open,biz,max,ipd'; +$config->group->package->programPlan->vision = 'rnd,lite,or'; +$config->group->package->programPlan->order = 5; +$config->group->package->programPlan->subset = 'programplan'; +$config->group->package->programPlan->privs = array(); +$config->group->package->programPlan->privs['programplan-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('programplan-browse'), 'recommend' => array('programplan-edit')); +$config->group->package->programPlan->privs['programplan-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('programplan-browse'), 'recommend' => array('programplan-create')); + +$config->group->package->browseDesign = new stdclass(); +$config->group->package->browseDesign->edition = 'open,biz,max,ipd'; +$config->group->package->browseDesign->vision = 'rnd,lite,or'; +$config->group->package->browseDesign->order = 5; +$config->group->package->browseDesign->subset = 'design'; +$config->group->package->browseDesign->privs = array(); +$config->group->package->browseDesign->privs['design-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('project-index'), 'recommend' => array('design-view')); +$config->group->package->browseDesign->privs['design-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('design-browse'), 'recommend' => array()); + +$config->group->package->manageDesign = new stdclass(); +$config->group->package->manageDesign->edition = 'open,biz,max,ipd'; +$config->group->package->manageDesign->vision = 'rnd,lite,or'; +$config->group->package->manageDesign->order = 10; +$config->group->package->manageDesign->subset = 'design'; +$config->group->package->manageDesign->privs = array(); +$config->group->package->manageDesign->privs['design-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('design-browse'), 'recommend' => array('design-assignTo', 'design-batchCreate', 'design-edit', 'design-linkCommit', 'design-submit', 'design-unlinkCommit')); +$config->group->package->manageDesign->privs['design-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('design-browse'), 'recommend' => array('design-create')); +$config->group->package->manageDesign->privs['design-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('design-browse'), 'recommend' => array('design-assignTo', 'design-create', 'design-linkCommit', 'design-revision', 'design-submit', 'design-unlinkCommit')); +$config->group->package->manageDesign->privs['design-assignTo'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('design-browse'), 'recommend' => array('design-create', 'design-edit', 'design-linkCommit', 'design-revision', 'design-submit', 'design-unlinkCommit')); +$config->group->package->manageDesign->privs['design-linkCommit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('design-browse'), 'recommend' => array('design-assignTo', 'design-create', 'design-edit', 'design-revision', 'design-submit', 'design-unlinkCommit', 'design-viewCommit')); +$config->group->package->manageDesign->privs['design-viewCommit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('design-browse'), 'recommend' => array('design-linkCommit', 'design-revision')); +$config->group->package->manageDesign->privs['design-unlinkCommit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('design-browse'), 'recommend' => array('design-assignTo', 'design-create', 'design-edit', 'design-linkCommit', 'design-revision', 'design-submit', 'design-viewCommit')); +$config->group->package->manageDesign->privs['design-revision'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('design-viewCommit'), 'recommend' => array('design-linkCommit', 'design-unlinkCommit', 'design-viewCommit')); +$config->group->package->manageDesign->privs['design-submit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('design-browse'), 'recommend' => array()); + +$config->group->package->deleteDesign = new stdclass(); +$config->group->package->deleteDesign->edition = 'open,biz,max,ipd'; +$config->group->package->deleteDesign->vision = 'rnd,lite,or'; +$config->group->package->deleteDesign->order = 15; +$config->group->package->deleteDesign->subset = 'design'; +$config->group->package->deleteDesign->privs = array(); +$config->group->package->deleteDesign->privs['design-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('design-browse'), 'recommend' => array('design-assignTo', 'design-create', 'design-edit', 'design-linkCommit', 'design-submit', 'design-unlinkCommit')); + +$config->group->package->manageReview = new stdclass(); +$config->group->package->manageReview->edition = 'open,biz,max,ipd'; +$config->group->package->manageReview->vision = 'rnd,lite,or'; +$config->group->package->manageReview->order = 10; +$config->group->package->manageReview->subset = 'projectreview'; +$config->group->package->manageReview->privs = array(); +$config->group->package->manageReview->privs['review-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index'), 'recommend' => array('review-view')); +$config->group->package->manageReview->privs['review-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('review-browse'), 'recommend' => array('review-edit', 'review-recall', 'review-report', 'review-submit', 'review-toAudit')); +$config->group->package->manageReview->privs['review-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('review-browse'), 'recommend' => array('review-create', 'review-delete', 'review-recall', 'review-report', 'review-submit', 'review-toAudit')); +$config->group->package->manageReview->privs['review-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('review-browse'), 'recommend' => array()); +$config->group->package->manageReview->privs['review-submit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('review-browse'), 'recommend' => array('review-create', 'review-edit', 'review-recall', 'review-report', 'review-toAudit')); +$config->group->package->manageReview->privs['review-recall'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('review-browse'), 'recommend' => array('review-create', 'review-delete', 'review-edit', 'review-report', 'review-submit', 'review-toAudit')); +$config->group->package->manageReview->privs['review-report'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('review-browse'), 'recommend' => array('review-create', 'review-delete', 'review-edit', 'review-recall', 'review-submit', 'review-toAudit')); +$config->group->package->manageReview->privs['review-toAudit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('review-browse'), 'recommend' => array('review-create', 'review-delete', 'review-edit', 'review-recall', 'review-report', 'review-submit')); +$config->group->package->manageReview->privs['review-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('review-browse'), 'recommend' => array('review-create', 'review-edit')); + +$config->group->package->manageIssue = new stdclass(); +$config->group->package->manageIssue->edition = 'open,biz,max,ipd'; +$config->group->package->manageIssue->vision = 'rnd,lite,or'; +$config->group->package->manageIssue->order = 5; +$config->group->package->manageIssue->subset = 'projectreview'; +$config->group->package->manageIssue->privs = array(); +$config->group->package->manageIssue->privs['reviewissue-issue'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index', 'review-browse'), 'recommend' => array()); +$config->group->package->manageIssue->privs['reviewissue-updateStatus'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('reviewissue-issue'), 'recommend' => array('reviewissue-create', 'reviewissue-delete', 'reviewissue-edit', 'reviewissue-resolved')); +$config->group->package->manageIssue->privs['reviewissue-resolved'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('reviewissue-issue'), 'recommend' => array('reviewissue-create', 'reviewissue-delete', 'reviewissue-edit', 'reviewissue-updateStatus')); +$config->group->package->manageIssue->privs['reviewissue-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('reviewissue-issue'), 'recommend' => array('reviewissue-delete', 'reviewissue-edit', 'reviewissue-resolved', 'reviewissue-updateStatus')); +$config->group->package->manageIssue->privs['reviewissue-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('reviewissue-issue'), 'recommend' => array('reviewissue-create', 'reviewissue-delete', 'reviewissue-resolved', 'reviewissue-updateStatus')); +$config->group->package->manageIssue->privs['reviewissue-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('reviewissue-issue'), 'recommend' => array()); +$config->group->package->manageIssue->privs['reviewissue-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('reviewissue-issue'), 'recommend' => array('reviewissue-create', 'reviewissue-edit', 'reviewissue-resolved', 'reviewissue-updateStatus')); + +$config->group->package->projectSetting = new stdclass(); +$config->group->package->projectSetting->edition = 'open,biz,max,ipd'; +$config->group->package->projectSetting->vision = 'rnd,lite,or'; +$config->group->package->projectSetting->order = 5; +$config->group->package->projectSetting->subset = 'cm'; +$config->group->package->projectSetting->privs = array(); +$config->group->package->projectSetting->privs['cm-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('cm-browse', 'cm-view'), 'recommend' => array('cm-delete', 'cm-edit', 'review-browse')); +$config->group->package->projectSetting->privs['cm-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('cm-browse', 'cm-view'), 'recommend' => array('cm-create', 'cm-edit')); +$config->group->package->projectSetting->privs['cm-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('cm-browse', 'cm-view'), 'recommend' => array('cm-create', 'cm-delete')); +$config->group->package->projectSetting->privs['cm-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index'), 'recommend' => array('cm-view')); +$config->group->package->projectSetting->privs['cm-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('cm-browse'), 'recommend' => array()); +$config->group->package->projectSetting->privs['cm-report'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('cm-browse'), 'recommend' => array()); + +$config->group->package->browseProjectRelease = new stdclass(); +$config->group->package->browseProjectRelease->edition = 'open,biz,max,ipd'; +$config->group->package->browseProjectRelease->vision = 'rnd,lite,or'; +$config->group->package->browseProjectRelease->order = 5; +$config->group->package->browseProjectRelease->subset = 'projectrelease'; +$config->group->package->browseProjectRelease->privs = array(); +$config->group->package->browseProjectRelease->privs['projectrelease-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index'), 'recommend' => array('projectrelease-create', 'projectrelease-edit', 'projectrelease-view')); +$config->group->package->browseProjectRelease->privs['projectrelease-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-create', 'projectrelease-edit')); + +$config->group->package->projectWeekly = new stdclass(); +$config->group->package->projectWeekly->edition = 'open,biz,max,ipd'; +$config->group->package->projectWeekly->vision = 'rnd,lite,or'; +$config->group->package->projectWeekly->order = 5; +$config->group->package->projectWeekly->subset = 'projectreport'; +$config->group->package->projectWeekly->privs = array(); +$config->group->package->projectWeekly->privs['weekly-index'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('project-index'), 'recommend' => array()); +$config->group->package->projectWeekly->privs['weekly-exportweeklyreport'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('weekly-index'), 'recommend' => array('weekly-index')); + +$config->group->package->projectMilestone = new stdclass(); +$config->group->package->projectMilestone->edition = 'open,biz,max,ipd'; +$config->group->package->projectMilestone->vision = 'rnd,lite,or'; +$config->group->package->projectMilestone->order = 10; +$config->group->package->projectMilestone->subset = 'projectreport'; +$config->group->package->projectMilestone->privs = array(); +$config->group->package->projectMilestone->privs['milestone-index'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('project-index', 'weekly-index'), 'recommend' => array('milestone-saveOtherProblem')); +$config->group->package->projectMilestone->privs['milestone-saveOtherProblem'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('milestone-index', 'weekly-index'), 'recommend' => array()); + +$config->group->package->researchPlan = new stdclass(); +$config->group->package->researchPlan->edition = 'open,biz,max,ipd'; +$config->group->package->researchPlan->vision = 'rnd,lite,or'; +$config->group->package->researchPlan->order = 5; +$config->group->package->researchPlan->subset = 'projectresearch'; +$config->group->package->researchPlan->privs = array(); +$config->group->package->researchPlan->privs['researchplan-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index'), 'recommend' => array('researchplan-create', 'researchplan-edit', 'researchplan-view')); +$config->group->package->researchPlan->privs['researchplan-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('researchplan-browse'), 'recommend' => array('researchplan-edit', 'researchplan-view')); +$config->group->package->researchPlan->privs['researchplan-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('researchplan-browse'), 'recommend' => array('researchplan-create', 'researchplan-view')); +$config->group->package->researchPlan->privs['researchplan-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('researchplan-browse'), 'recommend' => array('researchplan-create', 'researchplan-edit', 'researchplan-view')); +$config->group->package->researchPlan->privs['researchplan-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('researchplan-browse'), 'recommend' => array('researchplan-create', 'researchplan-edit')); + +$config->group->package->researchReport = new stdclass(); +$config->group->package->researchReport->edition = 'open,biz,max,ipd'; +$config->group->package->researchReport->vision = 'rnd,lite,or'; +$config->group->package->researchReport->order = 10; +$config->group->package->researchReport->subset = 'projectresearch'; +$config->group->package->researchReport->privs = array(); +$config->group->package->researchReport->privs['researchreport-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index', 'researchplan-browse'), 'recommend' => array('researchreport-create', 'researchreport-edit', 'researchreport-view')); +$config->group->package->researchReport->privs['researchreport-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('researchplan-browse', 'researchreport-browse'), 'recommend' => array('researchreport-edit', 'researchreport-view')); +$config->group->package->researchReport->privs['researchreport-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('researchplan-browse', 'researchreport-browse'), 'recommend' => array('researchreport-create', 'researchreport-view')); +$config->group->package->researchReport->privs['researchreport-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('researchplan-browse', 'researchreport-browse'), 'recommend' => array('researchreport-create', 'researchreport-edit', 'researchreport-view')); +$config->group->package->researchReport->privs['researchreport-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('researchplan-browse', 'researchreport-browse'), 'recommend' => array('researchreport-create', 'researchreport-edit')); + +$config->group->package->budget = new stdclass(); +$config->group->package->budget->edition = 'open,biz,max,ipd'; +$config->group->package->budget->vision = 'rnd,lite,or'; +$config->group->package->budget->order = 15; +$config->group->package->budget->subset = 'workestimation'; +$config->group->package->budget->privs = array(); +$config->group->package->budget->privs['budget-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('project-index', 'workestimation-index'), 'recommend' => array('budget-summary')); +$config->group->package->budget->privs['budget-summary'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('workestimation-index'), 'recommend' => array('budget-browse')); +$config->group->package->budget->privs['budget-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('workestimation-index'), 'recommend' => array('budget-batchCreate')); +$config->group->package->budget->privs['budget-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('workestimation-index'), 'recommend' => array('budget-create')); +$config->group->package->budget->privs['budget-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('budget-browse', 'workestimation-index'), 'recommend' => array('budget-view')); +$config->group->package->budget->privs['budget-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('budget-browse', 'workestimation-index'), 'recommend' => array('budget-edit')); +$config->group->package->budget->privs['budget-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('budget-browse', 'workestimation-index'), 'recommend' => array('budget-create', 'budget-edit')); + +$config->group->package->workEstimation = new stdclass(); +$config->group->package->workEstimation->edition = 'open,biz,max,ipd'; +$config->group->package->workEstimation->vision = 'rnd,lite,or'; +$config->group->package->workEstimation->order = 5; +$config->group->package->workEstimation->subset = 'workestimation'; +$config->group->package->workEstimation->privs = array(); +$config->group->package->workEstimation->privs['workestimation-index'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('project-index'), 'recommend' => array()); + +$config->group->package->durationEstimation = new stdclass(); +$config->group->package->durationEstimation->edition = 'open,biz,max,ipd'; +$config->group->package->durationEstimation->vision = 'rnd,lite,or'; +$config->group->package->durationEstimation->order = 10; +$config->group->package->durationEstimation->subset = 'workestimation'; +$config->group->package->durationEstimation->privs = array(); +$config->group->package->durationEstimation->privs['durationestimation-index'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('budget-browse', 'project-index', 'workestimation-index'), 'recommend' => array('budget-edit', 'durationestimation-create')); +$config->group->package->durationEstimation->privs['durationestimation-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('durationestimation-index', 'workestimation-index'), 'recommend' => array()); + +$config->group->package->browseIssue = new stdclass(); +$config->group->package->browseIssue->edition = 'open,biz,max,ipd'; +$config->group->package->browseIssue->vision = 'rnd,lite,or'; +$config->group->package->browseIssue->order = 5; +$config->group->package->browseIssue->subset = 'issue'; +$config->group->package->browseIssue->privs = array(); +$config->group->package->browseIssue->privs['issue-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('issue-view')); +$config->group->package->browseIssue->privs['issue-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 60, 'depend' => array('issue-browse'), 'recommend' => array()); + +$config->group->package->manageIssue = new stdclass(); +$config->group->package->manageIssue->edition = 'open,biz,max,ipd'; +$config->group->package->manageIssue->vision = 'rnd,lite,or'; +$config->group->package->manageIssue->order = 10; +$config->group->package->manageIssue->subset = 'issue'; +$config->group->package->manageIssue->privs = array(); +$config->group->package->manageIssue->privs['issue-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('issue-browse', 'issue-view'), 'recommend' => array('issue-activate', 'issue-assignTo', 'issue-batchCreate', 'issue-cancel', 'issue-close', 'issue-confirm', 'issue-edit', 'issue-resolve')); +$config->group->package->manageIssue->privs['issue-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('issue-browse'), 'recommend' => array('issue-create')); +$config->group->package->manageIssue->privs['issue-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('issue-browse', 'issue-view'), 'recommend' => array('issue-activate', 'issue-assignTo', 'issue-cancel', 'issue-close', 'issue-confirm', 'issue-create', 'issue-resolve')); +$config->group->package->manageIssue->privs['issue-confirm'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('issue-browse', 'issue-view'), 'recommend' => array('issue-activate', 'issue-assignTo', 'issue-cancel', 'issue-close', 'issue-create', 'issue-edit', 'issue-resolve')); +$config->group->package->manageIssue->privs['issue-assignTo'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('issue-browse', 'issue-view'), 'recommend' => array('issue-activate', 'issue-cancel', 'issue-close', 'issue-confirm', 'issue-create', 'issue-edit', 'issue-resolve')); +$config->group->package->manageIssue->privs['issue-close'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('issue-browse', 'issue-view'), 'recommend' => array('issue-activate', 'issue-assignTo', 'issue-cancel', 'issue-confirm', 'issue-create', 'issue-edit', 'issue-resolve')); +$config->group->package->manageIssue->privs['issue-cancel'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('issue-browse', 'issue-view'), 'recommend' => array('issue-activate', 'issue-assignTo', 'issue-close', 'issue-confirm', 'issue-create', 'issue-edit', 'issue-resolve')); +$config->group->package->manageIssue->privs['issue-activate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array('issue-browse', 'issue-view'), 'recommend' => array('issue-assignTo', 'issue-cancel', 'issue-close', 'issue-confirm', 'issue-create', 'issue-edit', 'issue-resolve')); +$config->group->package->manageIssue->privs['issue-resolve'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('issue-browse', 'issue-view'), 'recommend' => array('issue-activate', 'issue-assignTo', 'issue-cancel', 'issue-close', 'issue-confirm', 'issue-create', 'issue-edit')); + +$config->group->package->importIssue = new stdclass(); +$config->group->package->importIssue->edition = 'open,biz,max,ipd'; +$config->group->package->importIssue->vision = 'rnd,lite,or'; +$config->group->package->importIssue->order = 15; +$config->group->package->importIssue->subset = 'issue'; +$config->group->package->importIssue->privs = array(); +$config->group->package->importIssue->privs['issue-export'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 65, 'depend' => array('issue-browse'), 'recommend' => array()); +$config->group->package->importIssue->privs['issue-importFromLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 80, 'depend' => array('issue-browse'), 'recommend' => array('assetlib-issue', 'assetlib-issuelib')); + +$config->group->package->deleteIssue = new stdclass(); +$config->group->package->deleteIssue->edition = 'open,biz,max,ipd'; +$config->group->package->deleteIssue->vision = 'rnd,lite,or'; +$config->group->package->deleteIssue->order = 20; +$config->group->package->deleteIssue->subset = 'issue'; +$config->group->package->deleteIssue->privs = array(); +$config->group->package->deleteIssue->privs['issue-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('issue-browse'), 'recommend' => array()); + +$config->group->package->importIssueLib = new stdclass(); +$config->group->package->importIssueLib->edition = 'open,biz,max,ipd'; +$config->group->package->importIssueLib->vision = 'rnd,lite,or'; +$config->group->package->importIssueLib->order = 25; +$config->group->package->importIssueLib->subset = 'issue'; +$config->group->package->importIssueLib->privs = array(); +$config->group->package->importIssueLib->privs['issue-importToLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 70, 'depend' => array('issue-view'), 'recommend' => array('issue-batchImportToLib')); +$config->group->package->importIssueLib->privs['issue-batchImportToLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 75, 'depend' => array('issue-browse'), 'recommend' => array('issue-importToLib')); + +$config->group->package->browseRisk = new stdclass(); +$config->group->package->browseRisk->edition = 'open,biz,max,ipd'; +$config->group->package->browseRisk->vision = 'rnd,lite,or'; +$config->group->package->browseRisk->order = 5; +$config->group->package->browseRisk->subset = 'risk'; +$config->group->package->browseRisk->privs = array(); +$config->group->package->browseRisk->privs['risk-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('risk-view')); +$config->group->package->browseRisk->privs['risk-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('risk-browse'), 'recommend' => array()); + +$config->group->package->manageRisk = new stdclass(); +$config->group->package->manageRisk->edition = 'open,biz,max,ipd'; +$config->group->package->manageRisk->vision = 'rnd,lite,or'; +$config->group->package->manageRisk->order = 10; +$config->group->package->manageRisk->subset = 'risk'; +$config->group->package->manageRisk->privs = array(); +$config->group->package->manageRisk->privs['risk-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('risk-activate', 'risk-assignTo', 'risk-batchCreate', 'risk-cancel', 'risk-close', 'risk-edit', 'risk-hangup', 'risk-track')); +$config->group->package->manageRisk->privs['risk-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('risk-activate', 'risk-assignTo', 'risk-cancel', 'risk-close', 'risk-create', 'risk-hangup', 'risk-track')); +$config->group->package->manageRisk->privs['risk-activate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('risk-assignTo', 'risk-cancel', 'risk-close', 'risk-create', 'risk-edit', 'risk-hangup', 'risk-track')); +$config->group->package->manageRisk->privs['risk-close'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('risk-activate', 'risk-assignTo', 'risk-cancel', 'risk-create', 'risk-edit', 'risk-hangup', 'risk-track')); +$config->group->package->manageRisk->privs['risk-hangup'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('risk-activate', 'risk-assignTo', 'risk-cancel', 'risk-close', 'risk-create', 'risk-edit', 'risk-track')); +$config->group->package->manageRisk->privs['risk-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('risk-create')); +$config->group->package->manageRisk->privs['risk-cancel'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('risk-activate', 'risk-assignTo', 'risk-close', 'risk-create', 'risk-edit', 'risk-hangup', 'risk-track')); +$config->group->package->manageRisk->privs['risk-track'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('risk-activate', 'risk-assignTo', 'risk-cancel', 'risk-close', 'risk-create', 'risk-edit', 'risk-hangup')); +$config->group->package->manageRisk->privs['risk-assignTo'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('risk-activate', 'risk-cancel', 'risk-close', 'risk-create', 'risk-edit', 'risk-hangup', 'risk-track')); + +$config->group->package->importRisk = new stdclass(); +$config->group->package->importRisk->edition = 'open,biz,max,ipd'; +$config->group->package->importRisk->vision = 'rnd,lite,or'; +$config->group->package->importRisk->order = 15; +$config->group->package->importRisk->subset = 'risk'; +$config->group->package->importRisk->privs = array(); +$config->group->package->importRisk->privs['risk-importFromLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('risk-browse', 'risk-view'), 'recommend' => array('assetlib-risk', 'assetlib-risklib')); +$config->group->package->importRisk->privs['risk-export'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('risk-browse'), 'recommend' => array()); + +$config->group->package->deleteRisk = new stdclass(); +$config->group->package->deleteRisk->edition = 'open,biz,max,ipd'; +$config->group->package->deleteRisk->vision = 'rnd,lite,or'; +$config->group->package->deleteRisk->order = 20; +$config->group->package->deleteRisk->subset = 'risk'; +$config->group->package->deleteRisk->privs = array(); +$config->group->package->deleteRisk->privs['risk-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('risk-browse'), 'recommend' => array()); + +$config->group->package->importRiskLib = new stdclass(); +$config->group->package->importRiskLib->edition = 'open,biz,max,ipd'; +$config->group->package->importRiskLib->vision = 'rnd,lite,or'; +$config->group->package->importRiskLib->order = 25; +$config->group->package->importRiskLib->subset = 'risk'; +$config->group->package->importRiskLib->privs = array(); +$config->group->package->importRiskLib->privs['risk-importToLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 65, 'depend' => array('risk-view'), 'recommend' => array('risk-batchImportToLib')); +$config->group->package->importRiskLib->privs['risk-batchImportToLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 70, 'depend' => array('risk-browse'), 'recommend' => array('risk-importToLib')); + +$config->group->package->browseOpportunity = new stdclass(); +$config->group->package->browseOpportunity->edition = 'open,biz,max,ipd'; +$config->group->package->browseOpportunity->vision = 'rnd,lite,or'; +$config->group->package->browseOpportunity->order = 5; +$config->group->package->browseOpportunity->subset = 'opportunity'; +$config->group->package->browseOpportunity->privs = array(); +$config->group->package->browseOpportunity->privs['opportunity-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('opportunity-view')); +$config->group->package->browseOpportunity->privs['opportunity-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageOpportunity = new stdclass(); +$config->group->package->manageOpportunity->edition = 'open,biz,max,ipd'; +$config->group->package->manageOpportunity->vision = 'rnd,lite,or'; +$config->group->package->manageOpportunity->order = 10; +$config->group->package->manageOpportunity->subset = 'opportunity'; +$config->group->package->manageOpportunity->privs = array(); +$config->group->package->manageOpportunity->privs['opportunity-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('opportunity-browse', 'opportunity-view'), 'recommend' => array('opportunity-activate', 'opportunity-assignTo', 'opportunity-batchCreate', 'opportunity-cancel', 'opportunity-close', 'opportunity-edit', 'opportunity-hangup', 'opportunity-track')); +$config->group->package->manageOpportunity->privs['opportunity-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('opportunity-browse', 'opportunity-view'), 'recommend' => array('opportunity-activate', 'opportunity-assignTo', 'opportunity-batchEdit', 'opportunity-cancel', 'opportunity-close', 'opportunity-create', 'opportunity-hangup', 'opportunity-track')); +$config->group->package->manageOpportunity->privs['opportunity-activate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('opportunity-browse', 'opportunity-view'), 'recommend' => array('opportunity-assignTo', 'opportunity-batchActivate', 'opportunity-cancel', 'opportunity-close', 'opportunity-create', 'opportunity-edit', 'opportunity-hangup', 'opportunity-track')); +$config->group->package->manageOpportunity->privs['opportunity-close'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('opportunity-browse', 'opportunity-view'), 'recommend' => array('opportunity-activate', 'opportunity-assignTo', 'opportunity-batchClose', 'opportunity-cancel', 'opportunity-create', 'opportunity-edit', 'opportunity-hangup', 'opportunity-track')); +$config->group->package->manageOpportunity->privs['opportunity-hangup'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('opportunity-browse', 'opportunity-view'), 'recommend' => array('opportunity-activate', 'opportunity-assignTo', 'opportunity-batchHangup', 'opportunity-cancel', 'opportunity-close', 'opportunity-create', 'opportunity-edit', 'opportunity-track')); +$config->group->package->manageOpportunity->privs['opportunity-cancel'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 13, 'depend' => array('opportunity-browse', 'opportunity-view'), 'recommend' => array('opportunity-activate', 'opportunity-assignTo', 'opportunity-batchCancel', 'opportunity-close', 'opportunity-create', 'opportunity-edit', 'opportunity-hangup', 'opportunity-track')); +$config->group->package->manageOpportunity->privs['opportunity-track'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 12, 'depend' => array('opportunity-browse', 'opportunity-view'), 'recommend' => array('opportunity-activate', 'opportunity-assignTo', 'opportunity-cancel', 'opportunity-close', 'opportunity-create', 'opportunity-edit', 'opportunity-hangup')); +$config->group->package->manageOpportunity->privs['opportunity-assignTo'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('opportunity-browse', 'opportunity-view'), 'recommend' => array('opportunity-activate', 'opportunity-batchAssignTo', 'opportunity-cancel', 'opportunity-close', 'opportunity-create', 'opportunity-edit', 'opportunity-hangup', 'opportunity-track')); +$config->group->package->manageOpportunity->privs['opportunity-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('opportunity-browse'), 'recommend' => array('opportunity-create')); +$config->group->package->manageOpportunity->privs['opportunity-batchEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('opportunity-browse'), 'recommend' => array('opportunity-edit')); +$config->group->package->manageOpportunity->privs['opportunity-batchAssignTo'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('opportunity-browse'), 'recommend' => array('opportunity-assignTo')); +$config->group->package->manageOpportunity->privs['opportunity-batchClose'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 11, 'depend' => array('opportunity-browse'), 'recommend' => array('opportunity-close')); +$config->group->package->manageOpportunity->privs['opportunity-batchCancel'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 14, 'depend' => array('opportunity-browse'), 'recommend' => array('opportunity-cancel')); +$config->group->package->manageOpportunity->privs['opportunity-batchHangup'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('opportunity-browse'), 'recommend' => array('opportunity-hangup')); +$config->group->package->manageOpportunity->privs['opportunity-batchActivate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('opportunity-browse'), 'recommend' => array('opportunity-activate')); + +$config->group->package->deleteOpportunity = new stdclass(); +$config->group->package->deleteOpportunity->edition = 'open,biz,max,ipd'; +$config->group->package->deleteOpportunity->vision = 'rnd,lite,or'; +$config->group->package->deleteOpportunity->order = 20; +$config->group->package->deleteOpportunity->subset = 'opportunity'; +$config->group->package->deleteOpportunity->privs = array(); +$config->group->package->deleteOpportunity->privs['opportunity-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('opportunity-browse'), 'recommend' => array()); + +$config->group->package->importOpportunityLib = new stdclass(); +$config->group->package->importOpportunityLib->edition = 'open,biz,max,ipd'; +$config->group->package->importOpportunityLib->vision = 'rnd,lite,or'; +$config->group->package->importOpportunityLib->order = 25; +$config->group->package->importOpportunityLib->subset = 'opportunity'; +$config->group->package->importOpportunityLib->privs = array(); +$config->group->package->importOpportunityLib->privs['opportunity-importToLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 95, 'depend' => array('opportunity-view'), 'recommend' => array('opportunity-batchImportToLib')); +$config->group->package->importOpportunityLib->privs['opportunity-batchImportToLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 100, 'depend' => array('opportunity-browse'), 'recommend' => array('opportunity-importToLib')); + +$config->group->package->importOpportunity = new stdclass(); +$config->group->package->importOpportunity->edition = 'open,biz,max,ipd'; +$config->group->package->importOpportunity->vision = 'rnd,lite,or'; +$config->group->package->importOpportunity->order = 15; +$config->group->package->importOpportunity->subset = 'opportunity'; +$config->group->package->importOpportunity->privs = array(); +$config->group->package->importOpportunity->privs['opportunity-importFromLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 105, 'depend' => array('opportunity-browse'), 'recommend' => array('assetlib-opportunity', 'assetlib-opportunitylib')); +$config->group->package->importOpportunity->privs['opportunity-export'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 110, 'depend' => array('opportunity-browse'), 'recommend' => array()); + +$config->group->package->pssp = new stdclass(); +$config->group->package->pssp->edition = 'open,biz,max,ipd'; +$config->group->package->pssp->vision = 'rnd,lite,or'; +$config->group->package->pssp->order = 5; +$config->group->package->pssp->subset = 'pssp'; +$config->group->package->pssp->privs = array(); +$config->group->package->pssp->privs['pssp-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('project-index'), 'recommend' => array()); +$config->group->package->pssp->privs['pssp-update'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('pssp-browse'), 'recommend' => array()); + +$config->group->package->measrecord = new stdclass(); +$config->group->package->measrecord->edition = 'open,biz,max,ipd'; +$config->group->package->measrecord->vision = 'rnd,lite,or'; +$config->group->package->measrecord->order = 5; +$config->group->package->measrecord->subset = 'measrecord'; +$config->group->package->measrecord->privs = array(); +$config->group->package->measrecord->privs['measrecord-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index'), 'recommend' => array()); +$config->group->package->measrecord->privs['report-show'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array()); +$config->group->package->measrecord->privs['report-customeredReport'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array()); +$config->group->package->measrecord->privs['report-viewReport'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('report-customeredReport'), 'recommend' => array()); +$config->group->package->measrecord->privs['report-projectSummary'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array()); +$config->group->package->measrecord->privs['report-projectWorkload'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageAuditPlan = new stdclass(); +$config->group->package->manageAuditPlan->edition = 'open,biz,max,ipd'; +$config->group->package->manageAuditPlan->vision = 'rnd,lite,or'; +$config->group->package->manageAuditPlan->order = 5; +$config->group->package->manageAuditPlan->subset = 'projectauditplan'; +$config->group->package->manageAuditPlan->privs = array(); +$config->group->package->manageAuditPlan->privs['auditplan-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->manageAuditPlan->privs['auditplan-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-assignTo', 'auditplan-batchCreate', 'auditplan-check', 'auditplan-delete', 'auditplan-edit', 'auditplan-nc', 'auditplan-result')); +$config->group->package->manageAuditPlan->privs['auditplan-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-assignTo', 'auditplan-batchEdit', 'auditplan-check', 'auditplan-create', 'auditplan-delete', 'auditplan-nc', 'auditplan-result')); +$config->group->package->manageAuditPlan->privs['auditplan-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-create')); +$config->group->package->manageAuditPlan->privs['auditplan-batchEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-edit')); +$config->group->package->manageAuditPlan->privs['auditplan-nc'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-assignTo', 'auditplan-check', 'auditplan-create', 'auditplan-edit', 'auditplan-result')); +$config->group->package->manageAuditPlan->privs['auditplan-result'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-assignTo', 'auditplan-check', 'auditplan-create', 'auditplan-edit', 'auditplan-nc')); +$config->group->package->manageAuditPlan->privs['auditplan-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-create', 'auditplan-edit')); +$config->group->package->manageAuditPlan->privs['auditplan-assignTo'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-check', 'auditplan-create', 'auditplan-edit', 'auditplan-nc', 'auditplan-result')); + +$config->group->package->nc = new stdclass(); +$config->group->package->nc->edition = 'open,biz,max,ipd'; +$config->group->package->nc->vision = 'rnd,lite,or'; +$config->group->package->nc->order = 10; +$config->group->package->nc->subset = 'projectauditplan'; +$config->group->package->nc->privs = array(); +$config->group->package->nc->privs['nc-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->nc->privs['nc-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('nc-browse'), 'recommend' => array('nc-activate', 'nc-assignTo', 'nc-close', 'nc-delete', 'nc-edit', 'nc-resolve')); +$config->group->package->nc->privs['nc-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('nc-browse'), 'recommend' => array('nc-activate', 'nc-assignTo', 'nc-close', 'nc-create', 'nc-delete', 'nc-resolve')); +$config->group->package->nc->privs['nc-resolve'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('nc-browse'), 'recommend' => array('nc-activate', 'nc-assignTo', 'nc-close', 'nc-create', 'nc-delete', 'nc-edit')); +$config->group->package->nc->privs['nc-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('nc-browse'), 'recommend' => array()); +$config->group->package->nc->privs['nc-close'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('nc-browse'), 'recommend' => array('nc-activate', 'nc-assignTo', 'nc-create', 'nc-delete', 'nc-edit', 'nc-resolve')); +$config->group->package->nc->privs['nc-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('nc-browse'), 'recommend' => array('nc-activate', 'nc-assignTo', 'nc-close', 'nc-create', 'nc-edit', 'nc-resolve')); +$config->group->package->nc->privs['nc-assignTo'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('nc-browse'), 'recommend' => array('nc-activate', 'nc-close', 'nc-create', 'nc-delete', 'nc-edit', 'nc-resolve')); +$config->group->package->nc->privs['nc-activate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('nc-browse'), 'recommend' => array('nc-assignTo', 'nc-close', 'nc-create', 'nc-delete', 'nc-edit', 'nc-resolve')); +$config->group->package->nc->privs['nc-export'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('nc-browse'), 'recommend' => array()); + +$config->group->package->meeting = new stdclass(); +$config->group->package->meeting->edition = 'open,biz,max,ipd'; +$config->group->package->meeting->vision = 'rnd,lite,or'; +$config->group->package->meeting->order = 5; +$config->group->package->meeting->subset = 'meeting'; +$config->group->package->meeting->privs = array(); +$config->group->package->meeting->privs['meeting-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->meeting->privs['meeting-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('meeting-browse'), 'recommend' => array('meeting-delete', 'meeting-edit', 'meeting-minutes', 'meeting-view')); +$config->group->package->meeting->privs['meeting-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('meeting-browse'), 'recommend' => array('meeting-create', 'meeting-delete', 'meeting-minutes', 'meeting-view')); +$config->group->package->meeting->privs['meeting-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('meeting-view'), 'recommend' => array('meeting-create')); +$config->group->package->meeting->privs['meeting-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('meeting-browse'), 'recommend' => array('meeting-create', 'meeting-delete', 'meeting-edit', 'meeting-minutes')); +$config->group->package->meeting->privs['meeting-minutes'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('meeting-browse'), 'recommend' => array('meeting-create', 'meeting-edit', 'meeting-view')); + +$config->group->package->trainPlan = new stdclass(); +$config->group->package->trainPlan->edition = 'open,biz,max,ipd'; +$config->group->package->trainPlan->vision = 'rnd,lite,or'; +$config->group->package->trainPlan->order = 5; +$config->group->package->trainPlan->subset = 'projectgapanalysis'; +$config->group->package->trainPlan->privs = array(); +$config->group->package->trainPlan->privs['trainplan-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->trainPlan->privs['trainplan-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('trainplan-browse'), 'recommend' => array('trainplan-delete', 'trainplan-edit', 'trainplan-finish', 'trainplan-summary')); +$config->group->package->trainPlan->privs['trainplan-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('trainplan-browse'), 'recommend' => array('trainplan-batchEdit', 'trainplan-create', 'trainplan-delete', 'trainplan-finish', 'trainplan-summary')); +$config->group->package->trainPlan->privs['trainplan-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('trainplan-browse'), 'recommend' => array('trainplan-create')); +$config->group->package->trainPlan->privs['trainplan-batchEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('trainplan-browse'), 'recommend' => array('trainplan-edit')); +$config->group->package->trainPlan->privs['trainplan-batchFinish'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('trainplan-browse'), 'recommend' => array('trainplan-finish')); +$config->group->package->trainPlan->privs['trainplan-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('trainplan-view'), 'recommend' => array('trainplan-create', 'trainplan-edit')); +$config->group->package->trainPlan->privs['trainplan-finish'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('trainplan-browse'), 'recommend' => array('trainplan-batchFinish', 'trainplan-create', 'trainplan-delete', 'trainplan-edit', 'trainplan-summary')); +$config->group->package->trainPlan->privs['trainplan-summary'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('trainplan-browse'), 'recommend' => array('trainplan-finish')); +$config->group->package->trainPlan->privs['trainplan-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('trainplan-browse'), 'recommend' => array()); + +$config->group->package->gapAnalysis = new stdclass(); +$config->group->package->gapAnalysis->edition = 'open,biz,max,ipd'; +$config->group->package->gapAnalysis->vision = 'rnd,lite,or'; +$config->group->package->gapAnalysis->order = 10; +$config->group->package->gapAnalysis->subset = 'projectgapanalysis'; +$config->group->package->gapAnalysis->privs = array(); +$config->group->package->gapAnalysis->privs['gapanalysis-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->gapAnalysis->privs['gapanalysis-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('gapanalysis-browse'), 'recommend' => array('gapanalysis-batchCreate', 'gapanalysis-delete', 'gapanalysis-edit')); +$config->group->package->gapAnalysis->privs['gapanalysis-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('gapanalysis-browse'), 'recommend' => array('gapanalysis-batchEdit', 'gapanalysis-create', 'gapanalysis-delete')); +$config->group->package->gapAnalysis->privs['gapanalysis-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('gapanalysis-browse'), 'recommend' => array('gapanalysis-create')); +$config->group->package->gapAnalysis->privs['gapanalysis-batchEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('gapanalysis-browse'), 'recommend' => array('gapanalysis-batchCreate', 'gapanalysis-edit')); +$config->group->package->gapAnalysis->privs['gapanalysis-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('gapanalysis-view'), 'recommend' => array('gapanalysis-create')); +$config->group->package->gapAnalysis->privs['gapanalysis-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('gapanalysis-browse'), 'recommend' => array()); + +$config->group->package->workflowField = new stdclass(); +$config->group->package->workflowField->edition = 'open,biz,max,ipd'; +$config->group->package->workflowField->vision = 'rnd,lite,or'; +$config->group->package->workflowField->order = 10; +$config->group->package->workflowField->subset = 'workflow'; +$config->group->package->workflowField->privs = array(); +$config->group->package->workflowField->privs['workflowfield-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-sort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-import'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-showImport'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 35, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-exportTemplate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-setValue'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 45, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-setExport'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 50, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowField->privs['workflowfield-setSearch'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 55, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflowAction = new stdclass(); +$config->group->package->workflowAction->edition = 'open,biz,max,ipd'; +$config->group->package->workflowAction->vision = 'rnd,lite,or'; +$config->group->package->workflowAction->order = 15; +$config->group->package->workflowAction->subset = 'workflow'; +$config->group->package->workflowAction->privs = array(); +$config->group->package->workflowAction->privs['workflowaction-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowAction->privs['workflowaction-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowAction->privs['workflowaction-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowAction->privs['workflowaction-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowAction->privs['workflowaction-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowAction->privs['workflowaction-sort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowAction->privs['workflowaction-setVerification'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 35, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowAction->privs['workflowaction-setNotice'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowAction->privs['workflowaction-setJS'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 45, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowAction->privs['workflowaction-setCSS'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 50, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflowLayout = new stdclass(); +$config->group->package->workflowLayout->edition = 'open,biz,max,ipd'; +$config->group->package->workflowLayout->vision = 'rnd,lite,or'; +$config->group->package->workflowLayout->order = 20; +$config->group->package->workflowLayout->subset = 'workflow'; +$config->group->package->workflowLayout->privs = array(); +$config->group->package->workflowLayout->privs['workflowlayout-admin'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowLayout->privs['workflowlayout-block'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflowCondition = new stdclass(); +$config->group->package->workflowCondition->edition = 'open,biz,max,ipd'; +$config->group->package->workflowCondition->vision = 'rnd,lite,or'; +$config->group->package->workflowCondition->order = 25; +$config->group->package->workflowCondition->subset = 'workflow'; +$config->group->package->workflowCondition->privs = array(); +$config->group->package->workflowCondition->privs['workflowcondition-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowCondition->privs['workflowcondition-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowCondition->privs['workflowcondition-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowCondition->privs['workflowcondition-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflowLinkage = new stdclass(); +$config->group->package->workflowLinkage->edition = 'open,biz,max,ipd'; +$config->group->package->workflowLinkage->vision = 'rnd,lite,or'; +$config->group->package->workflowLinkage->order = 30; +$config->group->package->workflowLinkage->subset = 'workflow'; +$config->group->package->workflowLinkage->privs = array(); +$config->group->package->workflowLinkage->privs['workflowlinkage-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowLinkage->privs['workflowlinkage-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowLinkage->privs['workflowlinkage-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowLinkage->privs['workflowlinkage-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflowHook = new stdclass(); +$config->group->package->workflowHook->edition = 'open,biz,max,ipd'; +$config->group->package->workflowHook->vision = 'rnd,lite,or'; +$config->group->package->workflowHook->order = 35; +$config->group->package->workflowHook->subset = 'workflow'; +$config->group->package->workflowHook->privs = array(); +$config->group->package->workflowHook->privs['workflowhook-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowHook->privs['workflowhook-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowHook->privs['workflowhook-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowHook->privs['workflowhook-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflowLabel = new stdclass(); +$config->group->package->workflowLabel->edition = 'open,biz,max,ipd'; +$config->group->package->workflowLabel->vision = 'rnd,lite,or'; +$config->group->package->workflowLabel->order = 40; +$config->group->package->workflowLabel->subset = 'workflow'; +$config->group->package->workflowLabel->privs = array(); +$config->group->package->workflowLabel->privs['workflowlabel-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowLabel->privs['workflowlabel-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowLabel->privs['workflowlabel-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowLabel->privs['workflowlabel-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowLabel->privs['workflowlabel-sort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflowReport = new stdclass(); +$config->group->package->workflowReport->edition = 'open,biz,max,ipd'; +$config->group->package->workflowReport->vision = 'rnd,lite,or'; +$config->group->package->workflowReport->order = 50; +$config->group->package->workflowReport->subset = 'workflow'; +$config->group->package->workflowReport->privs = array(); +$config->group->package->workflowReport->privs['workflowreport-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowReport->privs['workflowreport-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowReport->privs['workflowreport-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowReport->privs['workflowreport-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowReport->privs['workflowreport-sort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflowDatasource = new stdclass(); +$config->group->package->workflowDatasource->edition = 'open,biz,max,ipd'; +$config->group->package->workflowDatasource->vision = 'rnd,lite,or'; +$config->group->package->workflowDatasource->order = 55; +$config->group->package->workflowDatasource->subset = 'workflow'; +$config->group->package->workflowDatasource->privs = array(); +$config->group->package->workflowDatasource->privs['workflowdatasource-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowDatasource->privs['workflowdatasource-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowDatasource->privs['workflowdatasource-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowDatasource->privs['workflowdatasource-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflowRule = new stdclass(); +$config->group->package->workflowRule->edition = 'open,biz,max,ipd'; +$config->group->package->workflowRule->vision = 'rnd,lite,or'; +$config->group->package->workflowRule->order = 60; +$config->group->package->workflowRule->subset = 'workflow'; +$config->group->package->workflowRule->privs = array(); +$config->group->package->workflowRule->privs['workflowrule-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowRule->privs['workflowrule-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowRule->privs['workflowrule-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowRule->privs['workflowrule-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflowRule->privs['workflowrule-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->workflow = new stdclass(); +$config->group->package->workflow->edition = 'open,biz,max,ipd'; +$config->group->package->workflow->vision = 'rnd,lite,or'; +$config->group->package->workflow->order = 5; +$config->group->package->workflow->subset = 'workflow'; +$config->group->package->workflow->privs = array(); +$config->group->package->workflow->privs['workflow-browseFlow'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-browseDB'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-copy'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-backup'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 30, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-upgrade'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 35, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 40, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 45, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-flowchart'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 50, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-ui'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 55, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-release'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 60, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-deactivate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 65, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-activate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 70, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-setApproval'] = array('edition' => 'max', 'vision' => 'rnd', 'order' => 75, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-setJS'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 80, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); +$config->group->package->workflow->privs['workflow-setCSS'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 85, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->downloadCode = new stdclass(); +$config->group->package->downloadCode->edition = 'open,biz,max,ipd'; +$config->group->package->downloadCode->vision = 'rnd,lite,or'; +$config->group->package->downloadCode->order = 10; +$config->group->package->downloadCode->subset = 'repocode'; + +$config->group->package->dev = new stdclass(); +$config->group->package->dev->edition = 'open,biz,max,ipd'; +$config->group->package->dev->vision = 'rnd,lite,or'; +$config->group->package->dev->order = 5; +$config->group->package->dev->subset = 'dev'; +$config->group->package->dev->privs = array(); +$config->group->package->dev->privs['dev-api'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->dev->privs['dev-db'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); + +$config->group->package->browseCodeIssue = new stdclass(); +$config->group->package->browseCodeIssue->edition = 'biz,max,ipd'; +$config->group->package->browseCodeIssue->vision = 'rnd,lite,or'; +$config->group->package->browseCodeIssue->order = 2600; +$config->group->package->browseCodeIssue->subset = 'codereview'; +$config->group->package->browseCodeIssue->privs = array(); +$config->group->package->browseCodeIssue->privs['repo-review'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('repo-diff'), 'recommend' => array('repo-addBug', 'repo-editBug')); + +$config->group->package->editor = new stdclass(); +$config->group->package->editor->edition = 'open,biz,max,ipd'; +$config->group->package->editor->vision = 'rnd,lite,or'; +$config->group->package->editor->order = 10; +$config->group->package->editor->subset = 'dev'; +$config->group->package->editor->privs = array(); +$config->group->package->editor->privs['editor-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->editor->privs['editor-extend'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); +$config->group->package->editor->privs['editor-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array(), 'recommend' => array()); +$config->group->package->editor->privs['editor-newPage'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array(), 'recommend' => array()); +$config->group->package->editor->privs['editor-save'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array(), 'recommend' => array()); +$config->group->package->editor->privs['editor-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array(), 'recommend' => array()); +$config->group->package->editor->privs['api-debug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array(), 'recommend' => array()); + +$config->group->package->serverLink = new stdclass(); +$config->group->package->serverLink->edition = 'open,biz,max,ipd'; +$config->group->package->serverLink->vision = 'rnd,lite,or'; +$config->group->package->serverLink->order = 15; +$config->group->package->serverLink->subset = 'dev'; +$config->group->package->serverLink->privs = array(); +$config->group->package->serverLink->privs['app-serverlink'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); + +$config->group->package->browseMR = new stdclass(); +$config->group->package->browseMR->edition = 'open,biz,max,ipd'; +$config->group->package->browseMR->vision = 'rnd,lite,or'; +$config->group->package->browseMR->order = 5; +$config->group->package->browseMR->subset = 'mr'; +$config->group->package->browseMR->privs = array(); +$config->group->package->browseMR->privs['mr-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('mr-accept'), 'recommend' => array('mr-addReview', 'mr-approval', 'mr-close', 'mr-create', 'mr-diff', 'mr-edit', 'mr-link', 'mr-linkBug', 'mr-linkStory', 'mr-linkTask', 'mr-reopen', 'mr-unlink', 'mr-view')); +$config->group->package->browseMR->privs['mr-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('mr-accept'), 'recommend' => array('mr-diff', 'mr-link')); +$config->group->package->browseMR->privs['mr-diff'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('mr-accept'), 'recommend' => array('mr-link', 'mr-view')); +$config->group->package->browseMR->privs['mr-link'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('mr-accept'), 'recommend' => array('mr-diff', 'mr-view')); + +$config->group->package->managePriv = new stdclass(); +$config->group->package->managePriv->edition = 'open,biz,max,ipd'; +$config->group->package->managePriv->vision = 'rnd,lite,or'; +$config->group->package->managePriv->order = 20; +$config->group->package->managePriv->subset = 'staffmanage'; +$config->group->package->managePriv->privs = array(); +$config->group->package->managePriv->privs['group-managePriv'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array('admin-index', 'admin-register', 'group-browse'), 'recommend' => array()); + +$config->group->package->dept = new stdclass(); +$config->group->package->dept->edition = 'open,biz,max,ipd'; +$config->group->package->dept->vision = 'rnd,lite,or'; +$config->group->package->dept->order = 5; +$config->group->package->dept->subset = 'staffmanage'; +$config->group->package->dept->privs = array(); +$config->group->package->dept->privs['dept-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array('admin-index', 'admin-register', 'dept-edit'), 'recommend' => array('dept-delete', 'dept-manageChild', 'dept-updateOrder')); +$config->group->package->dept->privs['dept-updateOrder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 10, 'depend' => array('admin-index', 'admin-register', 'dept-browse'), 'recommend' => array('dept-delete', 'dept-edit', 'dept-manageChild', 'tree-updateOrder')); +$config->group->package->dept->privs['dept-manageChild'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 15, 'depend' => array('admin-index', 'admin-register', 'dept-browse'), 'recommend' => array('dept-delete', 'dept-edit', 'tree-updateOrder')); +$config->group->package->dept->privs['dept-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 20, 'depend' => array('admin-index', 'admin-register', 'dept-browse'), 'recommend' => array('dept-delete', 'dept-manageChild', 'tree-updateOrder')); +$config->group->package->dept->privs['dept-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 25, 'depend' => array('admin-index', 'admin-register', 'dept-browse'), 'recommend' => array('dept-edit', 'dept-manageChild', 'tree-updateOrder')); + +$config->group->package->group = new stdclass(); +$config->group->package->group->edition = 'open,biz,max,ipd'; +$config->group->package->group->vision = 'rnd,lite,or'; +$config->group->package->group->order = 15; +$config->group->package->group->subset = 'staffmanage'; +$config->group->package->group->privs = array(); +$config->group->package->group->privs['group-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->group->privs['group-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array('admin-index', 'admin-register', 'group-browse'), 'recommend' => array('group-copy', 'group-delete', 'group-edit', 'group-manageMember', 'group-manageProjectAdmin', 'group-manageView')); +$config->group->package->group->privs['group-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('admin-index', 'admin-register', 'group-browse'), 'recommend' => array('group-copy', 'group-create', 'group-delete', 'group-manageMember', 'group-manageProjectAdmin', 'group-manageView')); +$config->group->package->group->privs['group-copy'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array('admin-index', 'admin-register', 'group-browse'), 'recommend' => array('group-create', 'group-delete', 'group-edit', 'group-manageMember', 'group-manageProjectAdmin', 'group-manageView')); +$config->group->package->group->privs['group-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 4, 'depend' => array('admin-index', 'admin-register', 'group-browse'), 'recommend' => array('group-copy', 'group-create', 'group-edit', 'group-manageMember', 'group-manageProjectAdmin', 'group-manageView')); +$config->group->package->group->privs['group-manageMember'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array('admin-index', 'admin-register', 'group-browse'), 'recommend' => array('group-copy', 'group-create', 'group-delete', 'group-edit', 'group-manageProjectAdmin', 'group-manageView')); +$config->group->package->group->privs['group-manageProjectAdmin'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 8, 'depend' => array('admin-index', 'admin-register', 'group-browse'), 'recommend' => array('group-copy', 'group-create', 'group-delete', 'group-edit', 'group-manageMember', 'group-manageView')); +$config->group->package->group->privs['group-manageView'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array('admin-index', 'admin-register', 'group-browse'), 'recommend' => array('group-copy', 'group-create', 'group-delete', 'group-edit', 'group-manageMember', 'group-manageProjectAdmin')); + +$config->group->package->user = new stdclass(); +$config->group->package->user->edition = 'open,biz,max,ipd'; +$config->group->package->user->vision = 'rnd,lite,or'; +$config->group->package->user->order = 10; +$config->group->package->user->subset = 'staffmanage'; +$config->group->package->user->privs = array(); +$config->group->package->user->privs['company-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array('user-view')); +$config->group->package->user->privs['user-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('admin-index', 'admin-register', 'company-browse'), 'recommend' => array('user-batchCreate', 'user-delete', 'user-edit', 'user-unlock')); +$config->group->package->user->privs['user-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array('admin-index', 'admin-register', 'company-browse'), 'recommend' => array('user-create')); +$config->group->package->user->privs['user-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array('admin-index', 'admin-register', 'company-browse'), 'recommend' => array()); +$config->group->package->user->privs['user-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 4, 'depend' => array('admin-index', 'admin-register', 'company-browse', 'user-view'), 'recommend' => array('user-batchEdit', 'user-create', 'user-delete', 'user-unlock')); +$config->group->package->user->privs['user-unlock'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array('admin-index', 'admin-register', 'company-browse', 'user-view'), 'recommend' => array('user-create', 'user-delete', 'user-edit')); +$config->group->package->user->privs['user-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 7, 'depend' => array('admin-index', 'admin-register', 'company-browse', 'user-view'), 'recommend' => array('user-create', 'user-edit', 'user-unlock')); +$config->group->package->user->privs['user-batchEdit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array('admin-index', 'admin-register', 'company-browse', 'user-view'), 'recommend' => array('user-edit')); +$config->group->package->user->privs['user-unbind'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->user->privs['user-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,or', 'order' => 9, 'depend' => array('company-browse'), 'recommend' => array()); +$config->group->package->user->privs['user-exportTemplate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,or', 'order' => 10, 'depend' => array('company-browse', 'user-import'), 'recommend' => array()); +$config->group->package->user->privs['user-import'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,or', 'order' => 11, 'depend' => array('company-browse', 'user-exportTemplate'), 'recommend' => array()); +$config->group->package->user->privs['admin-sso'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 65, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); + +$config->group->package->extension = new stdclass(); +$config->group->package->extension->edition = 'open,biz,max,ipd'; +$config->group->package->extension->vision = 'rnd,lite,or'; +$config->group->package->extension->order = 5; +$config->group->package->extension->subset = 'extension'; +$config->group->package->extension->privs = array(); +$config->group->package->extension->privs['extension-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->extension->privs['extension-obtain'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('extension-browse'), 'recommend' => array('extension-activate', 'extension-deactivate', 'extension-erase', 'extension-install', 'extension-structure', 'extension-uninstall', 'extension-upgrade', 'extension-upload')); +$config->group->package->extension->privs['extension-structure'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('extension-browse'), 'recommend' => array('extension-activate', 'extension-deactivate', 'extension-erase', 'extension-install', 'extension-obtain', 'extension-uninstall', 'extension-upgrade', 'extension-upload')); +$config->group->package->extension->privs['extension-install'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('extension-browse'), 'recommend' => array('extension-activate', 'extension-deactivate', 'extension-erase', 'extension-obtain', 'extension-structure', 'extension-uninstall', 'extension-upgrade', 'extension-upload')); +$config->group->package->extension->privs['extension-uninstall'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('extension-browse'), 'recommend' => array('extension-activate', 'extension-deactivate', 'extension-erase', 'extension-install', 'extension-obtain', 'extension-structure', 'extension-upgrade', 'extension-upload')); +$config->group->package->extension->privs['extension-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('extension-browse'), 'recommend' => array('extension-deactivate', 'extension-erase', 'extension-install', 'extension-obtain', 'extension-structure', 'extension-uninstall', 'extension-upgrade', 'extension-upload')); +$config->group->package->extension->privs['extension-deactivate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array('extension-browse'), 'recommend' => array('extension-activate', 'extension-erase', 'extension-install', 'extension-obtain', 'extension-structure', 'extension-uninstall', 'extension-upgrade', 'extension-upload')); +$config->group->package->extension->privs['extension-upload'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('extension-browse'), 'recommend' => array('extension-activate', 'extension-deactivate', 'extension-erase', 'extension-install', 'extension-obtain', 'extension-structure', 'extension-uninstall', 'extension-upgrade')); +$config->group->package->extension->privs['extension-erase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('extension-browse'), 'recommend' => array('extension-activate', 'extension-deactivate', 'extension-install', 'extension-obtain', 'extension-structure', 'extension-uninstall', 'extension-upgrade', 'extension-upload')); +$config->group->package->extension->privs['extension-upgrade'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 9, 'depend' => array('extension-browse'), 'recommend' => array('extension-activate', 'extension-deactivate', 'extension-erase', 'extension-install', 'extension-obtain', 'extension-structure', 'extension-uninstall', 'extension-upload')); + +$config->group->package->message = new stdclass(); +$config->group->package->message->edition = 'open,biz,max,ipd'; +$config->group->package->message->vision = 'rnd,lite,or'; +$config->group->package->message->order = 5; +$config->group->package->message->subset = 'notifysetting'; +$config->group->package->message->privs = array(); +$config->group->package->message->privs['message-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->message->privs['message-browser'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 10, 'depend' => array(), 'recommend' => array()); +$config->group->package->message->privs['message-setting'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 15, 'depend' => array(), 'recommend' => array()); + +$config->group->package->mail = new stdclass(); +$config->group->package->mail->edition = 'open,biz,max,ipd'; +$config->group->package->mail->vision = 'rnd,lite,or'; +$config->group->package->mail->order = 10; +$config->group->package->mail->subset = 'notifysetting'; +$config->group->package->mail->privs = array(); +$config->group->package->mail->privs['mail-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->mail->privs['mail-detect'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->mail->privs['mail-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 1, 'depend' => array('message-index'), 'recommend' => array()); +$config->group->package->mail->privs['mail-save'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 3, 'depend' => array('mail-edit'), 'recommend' => array('mail-reset')); +$config->group->package->mail->privs['mail-test'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 2, 'depend' => array('mail-edit'), 'recommend' => array()); +$config->group->package->mail->privs['mail-reset'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 4, 'depend' => array('mail-edit'), 'recommend' => array('mail-save')); +$config->group->package->mail->privs['mail-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 6, 'depend' => array('mail-edit'), 'recommend' => array()); +$config->group->package->mail->privs['mail-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 7, 'depend' => array('mail-browse'), 'recommend' => array()); +$config->group->package->mail->privs['mail-batchDelete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 8, 'depend' => array('mail-browse'), 'recommend' => array('mail-delete')); +$config->group->package->mail->privs['mail-resend'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 9, 'depend' => array('mail-browse'), 'recommend' => array()); + +$config->group->package->webhook = new stdclass(); +$config->group->package->webhook->edition = 'open,biz,max,ipd'; +$config->group->package->webhook->vision = 'rnd,lite,or'; +$config->group->package->webhook->order = 15; +$config->group->package->webhook->subset = 'notifysetting'; +$config->group->package->webhook->privs = array(); +$config->group->package->webhook->privs['webhook-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->webhook->privs['webhook-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 10, 'depend' => array('webhook-browse'), 'recommend' => array('webhook-bind', 'webhook-chooseDept', 'webhook-delete', 'webhook-edit', 'webhook-log')); +$config->group->package->webhook->privs['webhook-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 15, 'depend' => array('webhook-browse'), 'recommend' => array('webhook-bind', 'webhook-chooseDept', 'webhook-create', 'webhook-delete', 'webhook-log')); +$config->group->package->webhook->privs['webhook-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 20, 'depend' => array('webhook-browse'), 'recommend' => array('webhook-bind', 'webhook-chooseDept', 'webhook-create', 'webhook-edit', 'webhook-log')); +$config->group->package->webhook->privs['webhook-log'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 25, 'depend' => array('webhook-browse'), 'recommend' => array('webhook-bind', 'webhook-chooseDept', 'webhook-create', 'webhook-delete', 'webhook-edit')); +$config->group->package->webhook->privs['webhook-bind'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 30, 'depend' => array('webhook-chooseDept'), 'recommend' => array()); +$config->group->package->webhook->privs['webhook-chooseDept'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 35, 'depend' => array('webhook-browse'), 'recommend' => array('webhook-create', 'webhook-delete', 'webhook-edit')); + +$config->group->package->gitlab = new stdclass(); +$config->group->package->gitlab->edition = 'open,biz,max,ipd'; +$config->group->package->gitlab->vision = 'rnd,lite,or'; +$config->group->package->gitlab->order = 10; +$config->group->package->gitlab->subset = 'repo'; + +$config->group->package->sms = new stdclass(); +$config->group->package->sms->edition = 'open,biz,max,ipd'; +$config->group->package->sms->vision = 'rnd,lite,or'; +$config->group->package->sms->order = 20; +$config->group->package->sms->subset = 'notifysetting'; +$config->group->package->sms->privs = array(); +$config->group->package->sms->privs['sms-index'] = array('edition' => 'biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->sms->privs['sms-test'] = array('edition' => 'biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 10, 'depend' => array('sms-index'), 'recommend' => array()); +$config->group->package->sms->privs['sms-reset'] = array('edition' => 'biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 15, 'depend' => array('sms-index'), 'recommend' => array()); + +$config->group->package->gogs = new stdclass(); +$config->group->package->gogs->edition = 'open,biz,max,ipd'; +$config->group->package->gogs->vision = 'rnd,lite,or'; +$config->group->package->gogs->order = 15; +$config->group->package->gogs->subset = 'repo'; + +$config->group->package->gitea = new stdclass(); +$config->group->package->gitea->edition = 'open,biz,max,ipd'; +$config->group->package->gitea->vision = 'rnd,lite,or'; +$config->group->package->gitea->order = 20; +$config->group->package->gitea->subset = 'repo'; + +$config->group->package->sonarqube = new stdclass(); +$config->group->package->sonarqube->edition = 'open,biz,max,ipd'; +$config->group->package->sonarqube->vision = 'rnd,lite,or'; +$config->group->package->sonarqube->order = 30; +$config->group->package->sonarqube->subset = 'repo'; + +$config->group->package->repoRules = new stdclass(); +$config->group->package->repoRules->edition = 'open,biz,max,ipd'; +$config->group->package->repoRules->vision = 'rnd'; +$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->edition = 'open,biz,max,ipd'; +$config->group->package->browseJob->vision = 'rnd,lite,or'; +$config->group->package->browseJob->order = 5; +$config->group->package->browseJob->subset = 'pipeline'; +$config->group->package->browseJob->privs = array(); +$config->group->package->browseJob->privs['job-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('job-create', 'job-edit')); +$config->group->package->browseJob->privs['job-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('job-browse'), 'recommend' => array('job-create', 'job-edit')); +$config->group->package->browseJob->privs['job-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('job-browse'), 'recommend' => array('compile-browse', 'compile-logs', 'job-exec')); + +$config->group->package->manageJob = new stdclass(); +$config->group->package->manageJob->edition = 'open,biz,max,ipd'; +$config->group->package->manageJob->vision = 'rnd,lite,or'; +$config->group->package->manageJob->order = 10; +$config->group->package->manageJob->subset = 'pipeline'; +$config->group->package->manageJob->privs = array(); +$config->group->package->manageJob->privs['compile-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('job-browse'), 'recommend' => array('compile-logs', 'job-exec', 'job-view')); +$config->group->package->manageJob->privs['compile-logs'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('job-browse'), 'recommend' => array('compile-browse', 'job-exec', 'job-view')); +$config->group->package->manageJob->privs['compile-syncCompile'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('job-browse'), 'recommend' => array()); +$config->group->package->manageJob->privs['job-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('job-browse'), 'recommend' => array('job-edit')); +$config->group->package->manageJob->privs['job-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('job-browse'), 'recommend' => array('job-create')); +$config->group->package->manageJob->privs['job-exec'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('job-browse'), 'recommend' => array('compile-browse', 'compile-logs', 'job-view')); + +$config->group->package->manageMR = new stdclass(); +$config->group->package->manageMR->edition = 'open,biz,max,ipd'; +$config->group->package->manageMR->vision = 'rnd,lite,or'; +$config->group->package->manageMR->order = 10; +$config->group->package->manageMR->subset = 'mr'; +$config->group->package->manageMR->privs = array(); +$config->group->package->manageMR->privs['mr-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('mr-accept'), 'recommend' => array('mr-edit')); +$config->group->package->manageMR->privs['mr-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('mr-accept'), 'recommend' => array('mr-create', 'mr-linkBug', 'mr-linkStory', 'mr-linkTask', 'mr-unlink')); +$config->group->package->manageMR->privs['mr-accept'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array(), 'recommend' => array('mr-browse', 'mr-create', 'mr-edit')); +$config->group->package->manageMR->privs['mr-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('mr-accept', 'mr-link'), 'recommend' => array('mr-approval', 'mr-close', 'mr-diff', 'mr-linkBug', 'mr-linkTask', 'mr-reopen', 'mr-unlink')); +$config->group->package->manageMR->privs['mr-linkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('mr-accept', 'mr-link'), 'recommend' => array('mr-linkStory', 'mr-linkTask', 'mr-unlink')); +$config->group->package->manageMR->privs['mr-linkTask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('mr-accept', 'mr-link'), 'recommend' => array('mr-linkBug', 'mr-linkStory', 'mr-unlink')); +$config->group->package->manageMR->privs['mr-unlink'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array('mr-accept'), 'recommend' => array('mr-link', 'mr-linkBug', 'mr-linkStory', 'mr-linkTask')); +$config->group->package->manageMR->privs['mr-approval'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array('mr-accept'), 'recommend' => array('mr-close', 'mr-reopen')); +$config->group->package->manageMR->privs['mr-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array('mr-accept'), 'recommend' => array('mr-approval', 'mr-reopen')); +$config->group->package->manageMR->privs['mr-reopen'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 55, 'depend' => array('mr-accept'), 'recommend' => array('mr-approval', 'mr-close')); + +$config->group->package->backup = new stdclass(); +$config->group->package->backup->edition = 'open,biz,max,ipd'; +$config->group->package->backup->vision = 'rnd,lite,or'; +$config->group->package->backup->order = 5; +$config->group->package->backup->subset = 'admin'; +$config->group->package->backup->privs = array(); +$config->group->package->backup->privs['backup-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->backup->privs['backup-backup'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 2, 'depend' => array('backup-index'), 'recommend' => array()); +$config->group->package->backup->privs['backup-restore'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 3, 'depend' => array('backup-index'), 'recommend' => array()); +$config->group->package->backup->privs['backup-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 4, 'depend' => array('backup-index'), 'recommend' => array()); +$config->group->package->backup->privs['backup-setting'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 1, 'depend' => array('backup-index'), 'recommend' => array('backup-change')); +$config->group->package->backup->privs['backup-rmPHPHeader'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 5, 'depend' => array('backup-index'), 'recommend' => array()); +$config->group->package->backup->privs['backup-change'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'lite,rnd,or', 'order' => 6, 'depend' => array('backup-setting'), 'recommend' => array()); + +$config->group->package->trash = new stdclass(); +$config->group->package->trash->edition = 'open,biz,max,ipd'; +$config->group->package->trash->vision = 'rnd,lite,or'; +$config->group->package->trash->order = 15; +$config->group->package->trash->subset = 'systemsetting'; +$config->group->package->trash->privs = array(); +$config->group->package->trash->privs['action-trash'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->trash->privs['action-undelete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array('action-trash'), 'recommend' => array()); +$config->group->package->trash->privs['action-hideOne'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('action-trash'), 'recommend' => array('action-hideAll')); +$config->group->package->trash->privs['action-hideAll'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array('action-trash'), 'recommend' => array('action-hideOne')); + +$config->group->package->security = new stdclass(); +$config->group->package->security->edition = 'open,biz,max,ipd'; +$config->group->package->security->vision = 'rnd,lite,or'; +$config->group->package->security->order = 20; +$config->group->package->security->subset = 'systemsetting'; +$config->group->package->security->privs = array(); +$config->group->package->security->privs['admin-checkWeak'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array('admin-index'), 'recommend' => array()); +$config->group->package->security->privs['admin-resetPWDSetting'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 2, 'depend' => array('admin-index'), 'recommend' => array()); +$config->group->package->security->privs['admin-safe'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array('admin-index'), 'recommend' => array()); + +$config->group->package->cron = new stdclass(); +$config->group->package->cron->edition = 'open,biz,max,ipd'; +$config->group->package->cron->vision = 'rnd,lite,or'; +$config->group->package->cron->order = 25; +$config->group->package->cron->subset = 'systemsetting'; +$config->group->package->cron->privs = array(); +$config->group->package->cron->privs['cron-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->cron->privs['cron-turnon'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('cron-index'), 'recommend' => array()); +$config->group->package->cron->privs['cron-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('cron-index'), 'recommend' => array('cron-delete', 'cron-edit', 'cron-toggle')); +$config->group->package->cron->privs['cron-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('cron-index'), 'recommend' => array('cron-create', 'cron-delete', 'cron-toggle')); +$config->group->package->cron->privs['cron-toggle'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('cron-index'), 'recommend' => array('cron-create', 'cron-delete', 'cron-edit')); +$config->group->package->cron->privs['cron-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('cron-index'), 'recommend' => array('cron-create', 'cron-edit', 'cron-toggle')); +$config->group->package->cron->privs['cron-openProcess'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('cron-index'), 'recommend' => array()); + +$config->group->package->ldap = new stdclass(); +$config->group->package->ldap->edition = 'open,biz,max,ipd'; +$config->group->package->ldap->vision = 'rnd,lite,or'; +$config->group->package->ldap->order = 30; +$config->group->package->ldap->subset = 'systemsetting'; +$config->group->package->ldap->privs = array(); +$config->group->package->ldap->privs['user-importldap'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,or', 'order' => 15, 'depend' => array('ldap-set'), 'recommend' => array()); +$config->group->package->ldap->privs['ldap-set'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); + +$config->group->package->chat = new stdclass(); +$config->group->package->chat->edition = 'open,biz,max,ipd'; +$config->group->package->chat->vision = 'rnd,lite,or'; +$config->group->package->chat->order = 35; +$config->group->package->chat->subset = 'systemsetting'; +$config->group->package->chat->privs = array(); +$config->group->package->chat->privs['admin-xuanxuan'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array(), 'recommend' => array()); +$config->group->package->chat->privs['conference-admin'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array()); +$config->group->package->chat->privs['setting-xuanxuan'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->chat->privs['im-downloadXxdPackage'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array(), 'recommend' => array()); +$config->group->package->chat->privs['im-debug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array(), 'recommend' => array()); +$config->group->package->chat->privs['client-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array(), 'recommend' => array()); +$config->group->package->chat->privs['client-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->chat->privs['client-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array(), 'recommend' => array()); +$config->group->package->chat->privs['client-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array(), 'recommend' => array()); + +$config->group->package->jenkins = new stdclass(); +$config->group->package->jenkins->edition = 'open,biz,max,ipd'; +$config->group->package->jenkins->vision = 'rnd,lite,or'; +$config->group->package->jenkins->order = 25; +$config->group->package->jenkins->subset = 'repo'; + +$config->group->package->systemSetting = new stdclass(); +$config->group->package->systemSetting->edition = 'open,biz,max,ipd'; +$config->group->package->systemSetting->vision = 'rnd,lite,or'; +$config->group->package->systemSetting->order = 5; +$config->group->package->systemSetting->subset = 'systemsetting'; +$config->group->package->systemSetting->privs = array(); +$config->group->package->systemSetting->privs['admin-tableEngine'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 45, 'depend' => array('admin-index'), 'recommend' => array()); +$config->group->package->systemSetting->privs['custom-timezone'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 45, 'depend' => array('admin-index'), 'recommend' => array()); +$config->group->package->systemSetting->privs['custom-libreoffice'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 100, 'depend' => array(), 'recommend' => array()); +$config->group->package->systemSetting->privs['search-buildIndex'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 35, 'depend' => array('admin-index'), 'recommend' => array()); + +$config->group->package->search = new stdclass(); +$config->group->package->search->edition = 'open,biz,max,ipd'; +$config->group->package->search->vision = 'rnd,lite,or'; +$config->group->package->search->order = 5; +$config->group->package->search->subset = 'search'; +$config->group->package->search->privs = array(); +$config->group->package->search->privs['search-buildForm'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->search->privs['search-buildQuery'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array('search-buildForm'), 'recommend' => array()); +$config->group->package->search->privs['search-saveQuery'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('search-buildForm'), 'recommend' => array('search-deleteQuery')); +$config->group->package->search->privs['search-deleteQuery'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array('search-buildForm'), 'recommend' => array('search-saveQuery')); +$config->group->package->search->privs['search-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 4, 'depend' => array(), 'recommend' => array()); + +$config->group->package->comment = new stdclass(); +$config->group->package->comment->edition = 'open,biz,max,ipd'; +$config->group->package->comment->vision = 'rnd,lite,or'; +$config->group->package->comment->order = 5; +$config->group->package->comment->subset = 'generalcomment'; +$config->group->package->comment->privs = array(); +$config->group->package->comment->privs['action-comment'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->comment->privs['action-editComment'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 10, 'depend' => array('action-comment'), 'recommend' => array()); + +$config->group->package->module = new stdclass(); +$config->group->package->module->edition = 'open,biz,max,ipd'; +$config->group->package->module->vision = 'rnd,lite,or'; +$config->group->package->module->order = 5; +$config->group->package->module->subset = 'tree'; +$config->group->package->module->privs = array(); +$config->group->package->module->privs['tree-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array('tree-edit'), 'recommend' => array('tree-delete', 'tree-manageChild')); +$config->group->package->module->privs['tree-browseTask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('tree-edit'), 'recommend' => array('tree-delete', 'tree-manageChild')); +$config->group->package->module->privs['tree-updateOrder'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->module->privs['tree-manageChild'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array('tree-edit'), 'recommend' => array('tree-delete')); +$config->group->package->module->privs['tree-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 7, 'depend' => array(), 'recommend' => array()); +$config->group->package->module->privs['tree-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 8, 'depend' => array(), 'recommend' => array()); +$config->group->package->module->privs['tree-editHost'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array(), 'recommend' => array()); +$config->group->package->module->privs['tree-fix'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 9, 'depend' => array(), 'recommend' => array()); +$config->group->package->module->privs['tree-browsehost'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array(), 'recommend' => array()); +$config->group->package->module->privs['tree-browsegroup'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array()); + +$config->group->package->file = new stdclass(); +$config->group->package->file->edition = 'open,biz,max,ipd'; +$config->group->package->file->vision = 'rnd,lite,or'; +$config->group->package->file->order = 5; +$config->group->package->file->subset = 'file'; +$config->group->package->file->privs = array(); +$config->group->package->file->privs['file-download'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array(), 'recommend' => array()); +$config->group->package->file->privs['file-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->file->privs['file-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array(), 'recommend' => array('file-edit')); +$config->group->package->file->privs['file-uploadImages'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array(), 'recommend' => array()); +$config->group->package->file->privs['file-setPublic'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 25, 'depend' => array(), 'recommend' => array()); +$config->group->package->file->privs['file-preview'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 26, 'depend' => array(), 'recommend' => array()); + +$config->group->package->commonEffort = new stdclass(); +$config->group->package->commonEffort->edition = 'open,biz,max,ipd'; +$config->group->package->commonEffort->vision = 'rnd,lite,or'; +$config->group->package->commonEffort->order = 5; +$config->group->package->commonEffort->subset = 'generaleffort'; +$config->group->package->commonEffort->privs = array(); +$config->group->package->commonEffort->privs['effort-createForObject'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array(), 'recommend' => array('effort-delete', 'effort-edit')); + +$config->group->package->docTemplate = new stdclass(); +$config->group->package->docTemplate->edition = 'open,biz,max,ipd'; +$config->group->package->docTemplate->vision = 'rnd,lite,or'; +$config->group->package->docTemplate->order = 5; +$config->group->package->docTemplate->subset = 'doctemplate'; +$config->group->package->docTemplate->privs = array(); +$config->group->package->docTemplate->privs['baseline-templateType'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->docTemplate->privs['baseline-template'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array()); +$config->group->package->docTemplate->privs['baseline-createTemplate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('baseline-template'), 'recommend' => array('baseline-delete', 'baseline-editBook', 'baseline-editTemplate', 'baseline-manageBook')); +$config->group->package->docTemplate->privs['baseline-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('baseline-template'), 'recommend' => array()); +$config->group->package->docTemplate->privs['baseline-editTemplate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('baseline-template'), 'recommend' => array('baseline-createTemplate', 'baseline-delete', 'baseline-editBook', 'baseline-manageBook')); +$config->group->package->docTemplate->privs['baseline-editBook'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('baseline-template'), 'recommend' => array('baseline-createTemplate', 'baseline-delete', 'baseline-editTemplate', 'baseline-manageBook')); +$config->group->package->docTemplate->privs['baseline-manageBook'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('baseline-template'), 'recommend' => array('baseline-createTemplate', 'baseline-delete', 'baseline-editBook', 'baseline-editTemplate')); +$config->group->package->docTemplate->privs['baseline-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('baseline-template'), 'recommend' => array('baseline-createTemplate')); + +$config->group->package->importStoryLib = new stdclass(); +$config->group->package->importStoryLib->edition = 'open,biz,max,ipd'; +$config->group->package->importStoryLib->vision = 'rnd,lite,or'; +$config->group->package->importStoryLib->order = 30; +$config->group->package->importStoryLib->subset = 'story'; +$config->group->package->importStoryLib->privs = array(); +$config->group->package->importStoryLib->privs['story-importToLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 165, 'depend' => array('story-view'), 'recommend' => array('story-batchImportToLib')); +$config->group->package->importStoryLib->privs['story-batchImportToLib'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 170, 'depend' => array('product-browse'), 'recommend' => array('story-importToLib')); + +$config->group->package->projectStakeholder = new stdclass(); +$config->group->package->projectStakeholder->edition = 'open,biz,max,ipd'; +$config->group->package->projectStakeholder->vision = 'rnd,lite,or'; +$config->group->package->projectStakeholder->order = 5; +$config->group->package->projectStakeholder->subset = 'projectsettings'; +$config->group->package->projectStakeholder->privs = array(); +$config->group->package->projectStakeholder->privs['stakeholder-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index'), 'recommend' => array('stakeholder-view')); +$config->group->package->projectStakeholder->privs['stakeholder-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('stakeholder-browse'), 'recommend' => array('stakeholder-batchCreate', 'stakeholder-communicate', 'stakeholder-delete', 'stakeholder-edit', 'stakeholder-expect', 'stakeholder-userIssue')); +$config->group->package->projectStakeholder->privs['stakeholder-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('stakeholder-browse'), 'recommend' => array('stakeholder-create')); +$config->group->package->projectStakeholder->privs['stakeholder-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('stakeholder-browse'), 'recommend' => array('stakeholder-batchCreate', 'stakeholder-communicate', 'stakeholder-create', 'stakeholder-delete', 'stakeholder-expect', 'stakeholder-userIssue')); +$config->group->package->projectStakeholder->privs['stakeholder-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('stakeholder-browse'), 'recommend' => array('stakeholder-batchCreate', 'stakeholder-communicate', 'stakeholder-create', 'stakeholder-edit', 'stakeholder-expect', 'stakeholder-userIssue')); +$config->group->package->projectStakeholder->privs['stakeholder-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('stakeholder-browse'), 'recommend' => array()); +$config->group->package->projectStakeholder->privs['stakeholder-communicate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('stakeholder-browse'), 'recommend' => array('stakeholder-batchCreate', 'stakeholder-create', 'stakeholder-delete', 'stakeholder-edit', 'stakeholder-expect', 'stakeholder-userIssue')); +$config->group->package->projectStakeholder->privs['stakeholder-expect'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('stakeholder-browse'), 'recommend' => array('stakeholder-batchCreate', 'stakeholder-communicate', 'stakeholder-create', 'stakeholder-delete', 'stakeholder-edit', 'stakeholder-userIssue')); +$config->group->package->projectStakeholder->privs['stakeholder-userIssue'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('stakeholder-browse'), 'recommend' => array('stakeholder-batchCreate', 'stakeholder-communicate', 'stakeholder-create', 'stakeholder-delete', 'stakeholder-edit', 'stakeholder-expect')); + +$config->group->package->projectBuild = new stdclass(); +$config->group->package->projectBuild->edition = 'open,biz,max,ipd'; +$config->group->package->projectBuild->vision = 'rnd,lite,or'; +$config->group->package->projectBuild->order = 5; +$config->group->package->projectBuild->subset = 'projectbuild'; +$config->group->package->projectBuild->privs = array(); +$config->group->package->projectBuild->privs['projectbuild-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('project-index'), 'recommend' => array('projectbuild-view')); +$config->group->package->projectBuild->privs['projectbuild-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array('projectbuild-batchUnlinkBug', 'projectbuild-batchUnlinkStory', 'projectbuild-delete', 'projectbuild-edit', 'projectbuild-linkBug', 'projectbuild-linkStory', 'projectbuild-unlinkBug', 'projectbuild-unlinkStory')); +$config->group->package->projectBuild->privs['projectbuild-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array('projectbuild-batchUnlinkBug', 'projectbuild-batchUnlinkStory', 'projectbuild-create', 'projectbuild-delete', 'projectbuild-linkBug', 'projectbuild-linkStory', 'projectbuild-unlinkBug', 'projectbuild-unlinkStory')); +$config->group->package->projectBuild->privs['projectbuild-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('projectbuild-browse'), 'recommend' => array()); +$config->group->package->projectBuild->privs['projectbuild-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array('projectbuild-batchUnlinkBug', 'projectbuild-batchUnlinkStory', 'projectbuild-create', 'projectbuild-edit', 'projectbuild-linkBug', 'projectbuild-linkStory', 'projectbuild-unlinkBug', 'projectbuild-unlinkStory')); +$config->group->package->projectBuild->privs['projectbuild-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('projectbuild-create', 'projectbuild-delete', 'projectbuild-edit', 'projectbuild-linkBug', 'projectbuild-unlinkStory')); +$config->group->package->projectBuild->privs['projectbuild-unlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array(), 'recommend' => array('projectbuild-batchUnlinkStory', 'projectbuild-create', 'projectbuild-delete', 'projectbuild-edit', 'projectbuild-linkStory')); +$config->group->package->projectBuild->privs['projectbuild-batchUnlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array(), 'recommend' => array('projectbuild-unlinkStory')); +$config->group->package->projectBuild->privs['projectbuild-linkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array(), 'recommend' => array('projectbuild-create', 'projectbuild-delete', 'projectbuild-edit', 'projectbuild-unlinkBug')); +$config->group->package->projectBuild->privs['projectbuild-unlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array(), 'recommend' => array('projectbuild-batchUnlinkStory', 'projectbuild-create', 'projectbuild-delete', 'projectbuild-edit', 'projectbuild-linkStory')); +$config->group->package->projectBuild->privs['projectbuild-batchUnlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array('projectbuild-unlinkBug')); + +$config->group->package->importToCaseLib = new stdclass(); +$config->group->package->importToCaseLib->edition = 'open,biz,max,ipd'; +$config->group->package->importToCaseLib->vision = 'rnd,lite,or'; +$config->group->package->importToCaseLib->order = 35; +$config->group->package->importToCaseLib->subset = 'testcase'; +$config->group->package->importToCaseLib->privs = array(); +$config->group->package->importToCaseLib->privs['testcase-importToLib'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 135, 'depend' => array('testcase-view'), 'recommend' => array()); + +$config->group->package->commonSetting = new stdclass(); +$config->group->package->commonSetting->edition = 'open,biz,max,ipd'; +$config->group->package->commonSetting->vision = 'rnd,lite,or'; +$config->group->package->commonSetting->order = 5; +$config->group->package->commonSetting->subset = 'modelconfig'; +$config->group->package->commonSetting->privs = array(); +$config->group->package->commonSetting->privs['stage-setType'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array(), 'recommend' => array()); +$config->group->package->commonSetting->privs['custom-flow'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 35, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->commonSetting->privs['custom-estimate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 50, 'depend' => array(), 'recommend' => array()); +$config->group->package->commonSetting->privs['custom-code'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 80, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->commonSetting->privs['custom-hours'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 85, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->commonSetting->privs['custom-percent'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 90, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->commonSetting->privs['subject-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array(), 'recommend' => array()); + +$config->group->package->stageSetting = new stdclass(); +$config->group->package->stageSetting->edition = 'open,biz,max,ipd'; +$config->group->package->stageSetting->vision = 'rnd,lite,or'; +$config->group->package->stageSetting->order = 15; +$config->group->package->stageSetting->subset = 'modelconfig'; +$config->group->package->stageSetting->privs = array(); +$config->group->package->stageSetting->privs['stage-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->stageSetting->privs['stage-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array('stage-batchCreate', 'stage-delete', 'stage-edit')); +$config->group->package->stageSetting->privs['stage-batchCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array('stage-create')); +$config->group->package->stageSetting->privs['stage-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array('stage-create', 'stage-delete')); +$config->group->package->stageSetting->privs['stage-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('stage-create', 'stage-edit')); +$config->group->package->stageSetting->privs['stage-plusBrowse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array()); + +$config->group->package->classify = new stdclass(); +$config->group->package->classify->edition = 'open,biz,max,ipd'; +$config->group->package->classify->vision = 'rnd,lite,or'; +$config->group->package->classify->order = 30; +$config->group->package->classify->subset = 'modelconfig'; +$config->group->package->classify->privs = array(); +$config->group->package->classify->privs['classify-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); + +$config->group->package->cmcl = new stdclass(); +$config->group->package->cmcl->edition = 'open,biz,max,ipd'; +$config->group->package->cmcl->vision = 'rnd,lite,or'; +$config->group->package->cmcl->order = 50; +$config->group->package->cmcl->subset = 'modelconfig'; +$config->group->package->cmcl->privs = array(); +$config->group->package->cmcl->privs['cmcl-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array('cmcl-delete', 'cmcl-edit')); +$config->group->package->cmcl->privs['cmcl-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('cmcl-batchCreate', 'cmcl-edit')); +$config->group->package->cmcl->privs['cmcl-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array('cmcl-batchCreate', 'cmcl-delete')); +$config->group->package->cmcl->privs['cmcl-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->cmcl->privs['cmcl-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array()); +$config->group->package->cmcl->privs['cmcl-waterfallplusBrowse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array()); + +$config->group->package->auditcl = new stdclass(); +$config->group->package->auditcl->edition = 'open,biz,max,ipd'; +$config->group->package->auditcl->vision = 'rnd,lite,or'; +$config->group->package->auditcl->order = 20; +$config->group->package->auditcl->subset = 'modelconfig'; +$config->group->package->auditcl->privs = array(); +$config->group->package->auditcl->privs['auditcl-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('auditcl-batchEdit', 'auditcl-delete', 'auditcl-edit')); +$config->group->package->auditcl->privs['auditcl-batchEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array(), 'recommend' => array('auditcl-batchCreate', 'auditcl-delete', 'auditcl-edit')); +$config->group->package->auditcl->privs['auditcl-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array(), 'recommend' => array('auditcl-batchCreate', 'auditcl-batchEdit', 'auditcl-edit')); +$config->group->package->auditcl->privs['auditcl-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array(), 'recommend' => array('auditcl-batchCreate', 'auditcl-batchEdit', 'auditcl-delete')); +$config->group->package->auditcl->privs['auditcl-scrumBrowse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->auditcl->privs['auditcl-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array()); +$config->group->package->auditcl->privs['auditcl-agilePlusBrowse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array()); +$config->group->package->auditcl->privs['auditcl-waterfallplusBrowse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array()); + +$config->group->package->reviewcl = new stdclass(); +$config->group->package->reviewcl->edition = 'open,biz,max,ipd'; +$config->group->package->reviewcl->vision = 'rnd,lite,or'; +$config->group->package->reviewcl->order = 45; +$config->group->package->reviewcl->subset = 'modelconfig'; +$config->group->package->reviewcl->privs = array(); +$config->group->package->reviewcl->privs['reviewcl-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->reviewcl->privs['reviewcl-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('reviewcl-batchCreate', 'reviewcl-delete', 'reviewcl-edit', 'reviewcl-view')); +$config->group->package->reviewcl->privs['reviewcl-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array(), 'recommend' => array('reviewcl-create')); +$config->group->package->reviewcl->privs['reviewcl-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array(), 'recommend' => array('reviewcl-create', 'reviewcl-edit', 'reviewcl-view')); +$config->group->package->reviewcl->privs['reviewcl-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array(), 'recommend' => array('reviewcl-create', 'reviewcl-delete', 'reviewcl-view')); +$config->group->package->reviewcl->privs['reviewcl-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array()); +$config->group->package->reviewcl->privs['reviewcl-waterfallplusBrowse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array()); +$config->group->package->reviewcl->privs['reviewsetting-version'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array()); +$config->group->package->reviewcl->privs['reviewsetting-waterfallplusVersion'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array()); + +$config->group->package->process = new stdclass(); +$config->group->package->process->edition = 'open,biz,max,ipd'; +$config->group->package->process->vision = 'rnd,lite,or'; +$config->group->package->process->order = 25; +$config->group->package->process->subset = 'modelconfig'; +$config->group->package->process->privs = array(); +$config->group->package->process->privs['process-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('process-activityList', 'process-batchCreate', 'process-delete', 'process-edit', 'process-updateOrder', 'process-view')); +$config->group->package->process->privs['process-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array(), 'recommend' => array('process-create')); +$config->group->package->process->privs['process-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array(), 'recommend' => array('process-create')); +$config->group->package->process->privs['process-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array(), 'recommend' => array('process-activityList', 'process-create', 'process-delete', 'process-updateOrder', 'process-view')); +$config->group->package->process->privs['process-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array('process-activityList')); +$config->group->package->process->privs['process-updateOrder'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array(), 'recommend' => array('process-create', 'process-edit')); +$config->group->package->process->privs['process-activityList'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array('process-create', 'process-edit', 'process-view')); +$config->group->package->process->privs['process-scrumBrowse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->process->privs['process-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array()); +$config->group->package->process->privs['process-agilePlusBrowse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array()); +$config->group->package->process->privs['process-waterfallPlusBrowse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array()); + +$config->group->package->activity = new stdclass(); +$config->group->package->activity->edition = 'open,biz,max,ipd'; +$config->group->package->activity->vision = 'rnd,lite,or'; +$config->group->package->activity->order = 35; +$config->group->package->activity->subset = 'modelconfig'; +$config->group->package->activity->privs = array(); +$config->group->package->activity->privs['activity-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->activity->privs['activity-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('activity-browse'), 'recommend' => array('activity-assignTo', 'activity-batchCreate', 'activity-delete', 'activity-edit', 'activity-outputList', 'activity-updateOrder', 'activity-view')); +$config->group->package->activity->privs['activity-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('activity-browse'), 'recommend' => array('activity-create')); +$config->group->package->activity->privs['activity-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('activity-browse'), 'recommend' => array('activity-create')); +$config->group->package->activity->privs['activity-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('activity-browse'), 'recommend' => array('activity-assignTo', 'activity-batchCreate', 'activity-create', 'activity-delete', 'activity-outputList', 'activity-updateOrder', 'activity-view')); +$config->group->package->activity->privs['activity-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('activity-browse'), 'recommend' => array('activity-outputList')); +$config->group->package->activity->privs['activity-assignTo'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('activity-browse'), 'recommend' => array('activity-create', 'activity-edit')); +$config->group->package->activity->privs['activity-outputList'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('activity-browse'), 'recommend' => array('activity-create', 'activity-edit', 'activity-view')); +$config->group->package->activity->privs['activity-updateOrder'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('activity-browse'), 'recommend' => array('activity-create', 'activity-edit')); + +$config->group->package->zoutput = new stdclass(); +$config->group->package->zoutput->edition = 'open,biz,max,ipd'; +$config->group->package->zoutput->vision = 'rnd,lite,or'; +$config->group->package->zoutput->order = 40; +$config->group->package->zoutput->subset = 'modelconfig'; +$config->group->package->zoutput->privs = array(); +$config->group->package->zoutput->privs['zoutput-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->zoutput->privs['zoutput-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('zoutput-browse'), 'recommend' => array('zoutput-batchCreate', 'zoutput-delete', 'zoutput-edit', 'zoutput-updateOrder', 'zoutput-view')); +$config->group->package->zoutput->privs['zoutput-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('zoutput-browse'), 'recommend' => array('zoutput-batchEdit', 'zoutput-create', 'zoutput-delete', 'zoutput-updateOrder', 'zoutput-view')); +$config->group->package->zoutput->privs['zoutput-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('zoutput-browse'), 'recommend' => array('zoutput-create')); +$config->group->package->zoutput->privs['zoutput-batchEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('zoutput-browse'), 'recommend' => array('zoutput-edit')); +$config->group->package->zoutput->privs['zoutput-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('zoutput-browse'), 'recommend' => array('zoutput-create')); +$config->group->package->zoutput->privs['zoutput-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('zoutput-browse'), 'recommend' => array()); +$config->group->package->zoutput->privs['zoutput-updateOrder'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('zoutput-browse'), 'recommend' => array('zoutput-create', 'zoutput-edit')); + +$config->group->package->custom = new stdclass(); +$config->group->package->custom->edition = 'open,biz,max,ipd'; +$config->group->package->custom->vision = 'rnd,lite,or'; +$config->group->package->custom->order = 5; +$config->group->package->custom->subset = 'featureconfig'; +$config->group->package->custom->privs = array(); +$config->group->package->custom->privs['custom-set'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->custom->privs['custom-product'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->custom->privs['custom-execution'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 9, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->custom->privs['custom-required'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->custom->privs['custom-restore'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->custom->privs['custom-editStoryConcept'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 7, 'depend' => array('admin-index', 'admin-register', 'custom-browseStoryConcept'), 'recommend' => array()); +$config->group->package->custom->privs['custom-browseStoryConcept'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 4, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->custom->privs['custom-setDefaultConcept'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array('admin-index', 'admin-register', 'custom-browseStoryConcept'), 'recommend' => array()); +$config->group->package->custom->privs['custom-deleteStoryConcept'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 8, 'depend' => array('admin-index', 'admin-register', 'custom-browseStoryConcept'), 'recommend' => array()); +$config->group->package->custom->privs['custom-kanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 11, 'depend' => array('admin-index', 'admin-register'), 'recommend' => array()); +$config->group->package->custom->privs['custom-setStoryConcept'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array('admin-index', 'admin-register', 'custom-browseStoryConcept'), 'recommend' => array()); +$config->group->package->custom->privs['custom-limitTaskDate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('admin-index', 'admin-register', 'custom-execution'), 'recommend' => array()); + +$config->group->package->cmcl = new stdclass(); +$config->group->package->cmcl->edition = 'open,biz,max,ipd'; +$config->group->package->cmcl->vision = 'rnd,lite,or'; +$config->group->package->cmcl->order = 10; +$config->group->package->cmcl->subset = 'featureconfig'; +$config->group->package->cmcl->privs = array(); +$config->group->package->cmcl->privs['approval-progress'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); +$config->group->package->cmcl->privs['approvalflow-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array()); +$config->group->package->cmcl->privs['approvalflow-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('approvalflow-browse'), 'recommend' => array('approvalflow-delete', 'approvalflow-design', 'approvalflow-edit', 'approvalflow-view')); +$config->group->package->cmcl->privs['approvalflow-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('approvalflow-browse'), 'recommend' => array('approvalflow-create', 'approvalflow-delete', 'approvalflow-design', 'approvalflow-view')); +$config->group->package->cmcl->privs['approvalflow-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('approvalflow-browse'), 'recommend' => array()); +$config->group->package->cmcl->privs['approvalflow-design'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('approvalflow-browse'), 'recommend' => array('approvalflow-create', 'approvalflow-delete', 'approvalflow-edit', 'approvalflow-view')); +$config->group->package->cmcl->privs['approvalflow-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('approvalflow-browse'), 'recommend' => array('approvalflow-create', 'approvalflow-design', 'approvalflow-edit', 'approvalflow-view')); +$config->group->package->cmcl->privs['approvalflow-role'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->cmcl->privs['approvalflow-createRole'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('approvalflow-role'), 'recommend' => array('approvalflow-deleteRole', 'approvalflow-editRole')); +$config->group->package->cmcl->privs['approvalflow-editRole'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('approvalflow-role'), 'recommend' => array('approvalflow-createRole', 'approvalflow-deleteRole')); +$config->group->package->cmcl->privs['approvalflow-deleteRole'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('approvalflow-role'), 'recommend' => array('approvalflow-createRole', 'approvalflow-editRole')); + +$config->group->package->measurement = new stdclass(); +$config->group->package->measurement->edition = 'open,biz,max,ipd'; +$config->group->package->measurement->vision = 'rnd,lite,or'; +$config->group->package->measurement->order = 15; +$config->group->package->measurement->subset = 'featureconfig'; +$config->group->package->measurement->privs = array(); +$config->group->package->measurement->privs['measurement-settips'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['measurement-setSQL'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('measurement-browse'), 'recommend' => array('measurement-createBasic', 'measurement-delete', 'measurement-editBasic')); +$config->group->package->measurement->privs['measurement-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['measurement-createBasic'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('measurement-browse'), 'recommend' => array('measurement-delete', 'measurement-editBasic', 'measurement-setSQL')); +$config->group->package->measurement->privs['measurement-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('measurement-browse'), 'recommend' => array('measurement-batchEdit', 'measurement-createBasic', 'measurement-editBasic', 'measurement-setSQL')); +$config->group->package->measurement->privs['measurement-editBasic'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('measurement-browse'), 'recommend' => array('measurement-batchEdit', 'measurement-createBasic', 'measurement-delete', 'measurement-setSQL')); +$config->group->package->measurement->privs['measurement-searchMeas'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 14, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['measurement-template'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['measurement-createTemplate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 23, 'depend' => array('measurement-template'), 'recommend' => array('measurement-editTemplate', 'measurement-viewTemplate')); +$config->group->package->measurement->privs['measurement-editTemplate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array(), 'recommend' => array('measurement-createTemplate', 'measurement-viewTemplate')); +$config->group->package->measurement->privs['measurement-viewTemplate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['measurement-batchEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('measurement-browse'), 'recommend' => array('measurement-editBasic')); +$config->group->package->measurement->privs['measurement-saveReport'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 24, 'depend' => array('measurement-viewTemplate'), 'recommend' => array()); +$config->group->package->measurement->privs['report-custom'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 17, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['report-editReport'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 18, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['report-useReport'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 19, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['report-deleteReport'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['report-saveReport'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 21, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['report-crystalExport'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 22, 'depend' => array(), 'recommend' => array()); +$config->group->package->measurement->privs['report-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array(), 'recommend' => array()); + +$config->group->package->usercl = new stdclass(); +$config->group->package->usercl->edition = 'open,biz,max,ipd'; +$config->group->package->usercl->vision = 'rnd,lite,or'; +$config->group->package->usercl->order = 25; +$config->group->package->usercl->subset = 'featureconfig'; + +$config->group->package->meetingroom = new stdclass(); +$config->group->package->meetingroom->edition = 'open,biz,max,ipd'; +$config->group->package->meetingroom->vision = 'rnd,lite,or'; +$config->group->package->meetingroom->order = 30; +$config->group->package->meetingroom->subset = 'featureconfig'; +$config->group->package->meetingroom->privs = array(); +$config->group->package->meetingroom->privs['meetingroom-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->meetingroom->privs['meetingroom-create'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('meetingroom-browse'), 'recommend' => array('meetingroom-batchCreate', 'meetingroom-delete', 'meetingroom-edit', 'meetingroom-view')); +$config->group->package->meetingroom->privs['meetingroom-edit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('meetingroom-browse'), 'recommend' => array('meetingroom-batchEdit', 'meetingroom-create', 'meetingroom-delete', 'meetingroom-view')); +$config->group->package->meetingroom->privs['meetingroom-delete'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('meetingroom-view'), 'recommend' => array('meetingroom-create', 'meetingroom-edit')); +$config->group->package->meetingroom->privs['meetingroom-view'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('meetingroom-browse'), 'recommend' => array('meetingroom-batchCreate', 'meetingroom-batchEdit', 'meetingroom-create', 'meetingroom-delete', 'meetingroom-edit')); +$config->group->package->meetingroom->privs['meetingroom-batchCreate'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('meetingroom-browse'), 'recommend' => array('meetingroom-create')); +$config->group->package->meetingroom->privs['meetingroom-batchEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('meetingroom-browse'), 'recommend' => array('meetingroom-create')); + +$config->group->package->sqlBuilder = new stdclass(); +$config->group->package->sqlBuilder->edition = 'open,biz,max,ipd'; +$config->group->package->sqlBuilder->vision = 'rnd,lite,or'; +$config->group->package->sqlBuilder->order = 20; +$config->group->package->sqlBuilder->subset = 'featureconfig'; +$config->group->package->sqlBuilder->privs = array(); +$config->group->package->sqlBuilder->privs['sqlbuilder-browseSQLView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->sqlBuilder->privs['sqlbuilder-createSQLView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('sqlbuilder-browseSQLView'), 'recommend' => array('sqlbuilder-deleteSQLView', 'sqlbuilder-editSQLView')); +$config->group->package->sqlBuilder->privs['sqlbuilder-editSQLView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('sqlbuilder-browseSQLView'), 'recommend' => array('sqlbuilder-createSQLView', 'sqlbuilder-deleteSQLView')); +$config->group->package->sqlBuilder->privs['sqlbuilder-deleteSQLView'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('sqlbuilder-browseSQLView'), 'recommend' => array('sqlbuilder-createSQLView', 'sqlbuilder-editSQLView')); + +$config->group->package->designSetting = new stdclass(); +$config->group->package->designSetting->edition = 'open,biz,max,ipd'; +$config->group->package->designSetting->vision = 'rnd,lite,or'; +$config->group->package->designSetting->order = 55; +$config->group->package->designSetting->subset = 'modelconfig'; +$config->group->package->designSetting->privs = array(); +$config->group->package->designSetting->privs['design-setType'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 65, 'depend' => array(), 'recommend' => array()); +$config->group->package->designSetting->privs['design-setPlusType'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 70, 'depend' => array(), 'recommend' => array()); + +$config->group->package->kanbanSpace = new stdclass(); +$config->group->package->kanbanSpace->edition = 'open,biz,max,ipd'; +$config->group->package->kanbanSpace->vision = 'rnd,lite,or'; +$config->group->package->kanbanSpace->order = 5; +$config->group->package->kanbanSpace->subset = 'managespace'; +$config->group->package->kanbanSpace->privs = array(); +$config->group->package->kanbanSpace->privs['kanban-space'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array('kanban-createSpace')); +$config->group->package->kanbanSpace->privs['kanban-createSpace'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('kanban-space'), 'recommend' => array('kanban-activateSpace', 'kanban-closeSpace', 'kanban-editSpace')); +$config->group->package->kanbanSpace->privs['kanban-editSpace'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('kanban-space'), 'recommend' => array('kanban-activateSpace', 'kanban-closeSpace', 'kanban-createSpace')); +$config->group->package->kanbanSpace->privs['kanban-closeSpace'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('kanban-space'), 'recommend' => array('kanban-activateSpace', 'kanban-createSpace', 'kanban-editSpace')); +$config->group->package->kanbanSpace->privs['kanban-activateSpace'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('kanban-space'), 'recommend' => array('kanban-closeSpace', 'kanban-createSpace', 'kanban-editSpace')); + +$config->group->package->deleteKanbanSpace = new stdclass(); +$config->group->package->deleteKanbanSpace->edition = 'open,biz,max,ipd'; +$config->group->package->deleteKanbanSpace->vision = 'rnd,lite,or'; +$config->group->package->deleteKanbanSpace->order = 10; +$config->group->package->deleteKanbanSpace->subset = 'managespace'; +$config->group->package->deleteKanbanSpace->privs = array(); +$config->group->package->deleteKanbanSpace->privs['kanban-deleteSpace'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 25, 'depend' => array('kanban-space'), 'recommend' => array()); + +$config->group->package->browseKanban = new stdclass(); +$config->group->package->browseKanban->edition = 'open,biz,max,ipd'; +$config->group->package->browseKanban->vision = 'rnd,lite,or'; +$config->group->package->browseKanban->order = 5; +$config->group->package->browseKanban->subset = 'kanban'; +$config->group->package->browseKanban->privs = array(); +$config->group->package->browseKanban->privs['kanban-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 45, 'depend' => array('kanban-space'), 'recommend' => array('kanban-activate', 'kanban-close', 'kanban-create', 'kanban-edit', 'kanban-setting')); + +$config->group->package->manageKanban = new stdclass(); +$config->group->package->manageKanban->edition = 'open,biz,max,ipd'; +$config->group->package->manageKanban->vision = 'rnd,lite,or'; +$config->group->package->manageKanban->order = 10; +$config->group->package->manageKanban->subset = 'kanban'; +$config->group->package->manageKanban->privs = array(); +$config->group->package->manageKanban->privs['kanban-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('kanban-view'), 'recommend' => array('kanban-activate', 'kanban-close', 'kanban-edit', 'kanban-setting')); +$config->group->package->manageKanban->privs['kanban-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('kanban-view'), 'recommend' => array('kanban-activate', 'kanban-close', 'kanban-create', 'kanban-setting')); +$config->group->package->manageKanban->privs['kanban-close'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('kanban-view'), 'recommend' => array('kanban-activate', 'kanban-create', 'kanban-edit', 'kanban-setting')); +$config->group->package->manageKanban->privs['kanban-createRegion'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 14, 'depend' => array('kanban-view'), 'recommend' => array('kanban-deleteRegion', 'kanban-editRegion', 'kanban-sortRegion')); +$config->group->package->manageKanban->privs['kanban-editRegion'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createRegion', 'kanban-deleteRegion', 'kanban-sortRegion')); +$config->group->package->manageKanban->privs['kanban-sortRegion'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 16, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createRegion', 'kanban-deleteRegion', 'kanban-editRegion')); +$config->group->package->manageKanban->privs['kanban-sortGroup'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 22, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createLane', 'kanban-deleteLane', 'kanban-editLaneColor', 'kanban-editLaneName', 'kanban-sortLane')); +$config->group->package->manageKanban->privs['kanban-deleteRegion'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 17, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createRegion', 'kanban-editRegion', 'kanban-sortRegion')); +$config->group->package->manageKanban->privs['kanban-createLane'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 18, 'depend' => array('kanban-view'), 'recommend' => array('kanban-deleteLane', 'kanban-editLaneColor', 'kanban-editLaneName', 'kanban-sortGroup', 'kanban-sortLane')); +$config->group->package->manageKanban->privs['kanban-sortLane'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 21, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createLane', 'kanban-deleteLane', 'kanban-editLaneColor', 'kanban-editLaneName', 'kanban-sortGroup')); +$config->group->package->manageKanban->privs['kanban-deleteLane'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 23, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createLane', 'kanban-editLaneColor', 'kanban-editLaneName', 'kanban-sortGroup', 'kanban-sortLane')); +$config->group->package->manageKanban->privs['kanban-createColumn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveColumn', 'kanban-deleteColumn', 'kanban-restoreColumn', 'kanban-setColumn', 'kanban-setWIP', 'kanban-sortColumn', 'kanban-splitColumn', 'kanban-viewArchivedColumn')); +$config->group->package->manageKanban->privs['kanban-setColumn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveColumn', 'kanban-createColumn', 'kanban-deleteColumn', 'kanban-restoreColumn', 'kanban-setWIP', 'kanban-sortColumn', 'kanban-splitColumn', 'kanban-viewArchivedColumn')); +$config->group->package->manageKanban->privs['kanban-setWIP'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 19, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveColumn', 'kanban-createColumn', 'kanban-deleteColumn', 'kanban-restoreColumn', 'kanban-setColumn', 'kanban-sortColumn', 'kanban-splitColumn', 'kanban-viewArchivedColumn')); +$config->group->package->manageKanban->privs['kanban-sortColumn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 9, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveColumn', 'kanban-createColumn', 'kanban-deleteColumn', 'kanban-restoreColumn', 'kanban-setColumn', 'kanban-setWIP', 'kanban-splitColumn', 'kanban-viewArchivedColumn')); +$config->group->package->manageKanban->privs['kanban-deleteColumn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 13, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveColumn', 'kanban-createColumn', 'kanban-restoreColumn', 'kanban-setColumn', 'kanban-setWIP', 'kanban-sortColumn', 'kanban-splitColumn', 'kanban-viewArchivedColumn')); +$config->group->package->manageKanban->privs['kanban-viewArchivedColumn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 11, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveColumn', 'kanban-createColumn', 'kanban-deleteColumn', 'kanban-restoreColumn', 'kanban-setColumn', 'kanban-setWIP', 'kanban-sortColumn', 'kanban-splitColumn')); +$config->group->package->manageKanban->privs['kanban-setting'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('kanban-view'), 'recommend' => array('kanban-activate', 'kanban-close', 'kanban-create', 'kanban-edit')); +$config->group->package->manageKanban->privs['kanban-activate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('kanban-view'), 'recommend' => array('kanban-close', 'kanban-create', 'kanban-edit', 'kanban-setting')); +$config->group->package->manageKanban->privs['kanban-editLaneColor'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createLane', 'kanban-deleteLane', 'kanban-editLaneName', 'kanban-sortGroup', 'kanban-sortLane')); +$config->group->package->manageKanban->privs['kanban-editLaneName'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 20, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createLane', 'kanban-deleteLane', 'kanban-editLaneColor', 'kanban-sortGroup', 'kanban-sortLane')); +$config->group->package->manageKanban->privs['kanban-splitColumn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveColumn', 'kanban-createColumn', 'kanban-deleteColumn', 'kanban-restoreColumn', 'kanban-setColumn', 'kanban-setWIP', 'kanban-sortColumn', 'kanban-viewArchivedColumn')); +$config->group->package->manageKanban->privs['kanban-archiveColumn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createColumn', 'kanban-deleteColumn', 'kanban-restoreColumn', 'kanban-setColumn', 'kanban-setWIP', 'kanban-sortColumn', 'kanban-splitColumn', 'kanban-viewArchivedColumn')); +$config->group->package->manageKanban->privs['kanban-restoreColumn'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 12, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveColumn', 'kanban-createColumn', 'kanban-deleteColumn', 'kanban-setColumn', 'kanban-setWIP', 'kanban-sortColumn', 'kanban-splitColumn', 'kanban-viewArchivedColumn')); + +$config->group->package->deleteKanban = new stdclass(); +$config->group->package->deleteKanban->edition = 'open,biz,max,ipd'; +$config->group->package->deleteKanban->vision = 'rnd,lite,or'; +$config->group->package->deleteKanban->order = 15; +$config->group->package->deleteKanban->subset = 'kanban'; +$config->group->package->deleteKanban->privs = array(); +$config->group->package->deleteKanban->privs['kanban-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 55, 'depend' => array('kanban-view'), 'recommend' => array('kanban-create', 'kanban-edit')); + +$config->group->package->deleteZANode = new stdclass(); +$config->group->package->deleteZANode->edition = 'open,biz,max,ipd'; +$config->group->package->deleteZANode->vision = 'rnd,lite,or'; +$config->group->package->deleteZANode->order = 20; +$config->group->package->deleteZANode->subset = 'zanode'; +$config->group->package->deleteZANode->privs = array(); +$config->group->package->deleteZANode->privs['zanode-destroy'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('zanode-browse', 'zanode-view'), 'recommend' => array()); + +$config->group->package->autotesting = new stdclass(); +$config->group->package->autotesting->edition = 'open,biz,max,ipd'; +$config->group->package->autotesting->vision = 'rnd,lite,or'; +$config->group->package->autotesting->order = 45; +$config->group->package->autotesting->subset = 'testcase'; +$config->group->package->autotesting->privs = array(); +$config->group->package->autotesting->privs['testcase-automation'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 140, 'depend' => array('testcase-browse'), 'recommend' => array()); +$config->group->package->autotesting->privs['testcase-showScript'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 145, 'depend' => array('testcase-browse'), 'recommend' => array()); + +$config->group->package->executionTesting = new stdclass(); +$config->group->package->executionTesting->edition = 'open,biz,max,ipd'; +$config->group->package->executionTesting->vision = 'rnd,lite,or'; +$config->group->package->executionTesting->order = 5; +$config->group->package->executionTesting->subset = 'executionqa'; +$config->group->package->executionTesting->privs = array(); +$config->group->package->executionTesting->privs['execution-testcase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array(), 'recommend' => array('execution-testreport', 'execution-testtask')); +$config->group->package->executionTesting->privs['execution-bug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('execution-testcase', 'execution-testreport', 'execution-testtask')); +$config->group->package->executionTesting->privs['execution-testtask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array(), 'recommend' => array('execution-testcase', 'execution-testreport')); +$config->group->package->executionTesting->privs['execution-testreport'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array(), 'recommend' => array('execution-testcase', 'execution-testtask')); + +$config->group->package->manageEffort = new stdclass(); +$config->group->package->manageEffort->edition = 'open,biz,max,ipd'; +$config->group->package->manageEffort->vision = 'rnd,lite,or'; +$config->group->package->manageEffort->order = 5; +$config->group->package->manageEffort->subset = 'effort'; +$config->group->package->manageEffort->privs = array(); +$config->group->package->manageEffort->privs['my-effort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('effort-calendar'), 'recommend' => array()); +$config->group->package->manageEffort->privs['effort-calendar'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->manageEffort->privs['effort-batchCreate'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array('effort-calendar'), 'recommend' => array('effort-delete', 'effort-edit', 'effort-view')); +$config->group->package->manageEffort->privs['effort-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 4, 'depend' => array(), 'recommend' => array('effort-batchCreate', 'effort-batchEdit', 'effort-createForObject', 'effort-delete', 'effort-export', 'effort-view')); +$config->group->package->manageEffort->privs['effort-batchEdit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array('my-effort'), 'recommend' => array('effort-edit')); +$config->group->package->manageEffort->privs['effort-view'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array('effort-calendar'), 'recommend' => array('effort-delete', 'effort-edit', 'my-effort')); +$config->group->package->manageEffort->privs['effort-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array(), 'recommend' => array('effort-batchCreate', 'effort-batchEdit', 'effort-createForObject', 'effort-edit', 'effort-export', 'effort-view')); +$config->group->package->manageEffort->privs['effort-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 7, 'depend' => array('effort-calendar', 'my-effort'), 'recommend' => array('effort-view')); + +$config->group->package->projectTesting = new stdclass(); +$config->group->package->projectTesting->edition = 'open,biz,max,ipd'; +$config->group->package->projectTesting->vision = 'rnd,lite,or'; +$config->group->package->projectTesting->order = 5; +$config->group->package->projectTesting->subset = 'projectqa'; +$config->group->package->projectTesting->privs = array(); +$config->group->package->projectTesting->privs['project-bug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 140, 'depend' => array('project-index'), 'recommend' => array('project-testcase', 'project-testreport', 'project-testtask')); +$config->group->package->projectTesting->privs['project-testcase'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 145, 'depend' => array('project-index'), 'recommend' => array('project-testreport', 'project-testtask')); +$config->group->package->projectTesting->privs['project-testtask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 150, 'depend' => array('project-index'), 'recommend' => array('project-testcase', 'project-testreport')); +$config->group->package->projectTesting->privs['project-testreport'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 155, 'depend' => array('project-index'), 'recommend' => array('project-testtask')); + +$config->group->package->track = new stdclass(); +$config->group->package->track->edition = 'open,biz,max,ipd'; +$config->group->package->track->vision = 'rnd,lite,or'; +$config->group->package->track->order = 5; +$config->group->package->track->subset = 'projecttrack'; +$config->group->package->track->privs = array(); +$config->group->package->track->privs['projectstory-track'] = array('edition' => 'max', 'vision' => 'rnd', 'order' => 10, 'depend' => array('project-index'), 'recommend' => array('design-revision', 'projectstory-story', 'projectstory-view')); + +$config->group->package->workflowRelation = new stdclass(); +$config->group->package->workflowRelation->edition = 'open,biz,max,ipd'; +$config->group->package->workflowRelation->vision = 'rnd,lite,or'; +$config->group->package->workflowRelation->order = 65; +$config->group->package->workflowRelation->subset = 'workflow'; +$config->group->package->workflowRelation->privs = array(); +$config->group->package->workflowRelation->privs['workflowrelation-admin'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('workflow-browseFlow'), 'recommend' => array()); + +$config->group->package->template = new stdclass(); +$config->group->package->template->edition = 'open,biz,max,ipd'; +$config->group->package->template->vision = 'rnd,lite,or'; +$config->group->package->template->order = 5; +$config->group->package->template->subset = 'generaltemplate'; +$config->group->package->template->privs = array(); +$config->group->package->template->privs['user-setPublicTemplate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 10, 'depend' => array(), 'recommend' => array()); +$config->group->package->template->privs['datatable-setGlobal'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array(), 'recommend' => array()); + +$config->group->package->table = new stdclass(); +$config->group->package->table->edition = 'open,biz,max,ipd'; +$config->group->package->table->vision = 'rnd,lite,or'; +$config->group->package->table->order = 5; +$config->group->package->table->subset = 'datatable'; + +$config->group->package->automation = new stdclass(); +$config->group->package->automation->edition = 'open,biz,max,ipd'; +$config->group->package->automation->vision = 'rnd,lite,or'; +$config->group->package->automation->order = 5; +$config->group->package->automation->subset = 'ci'; +$config->group->package->automation->privs = array(); +$config->group->package->automation->privs['ci-commitResult'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('ci-checkCompileStatus')); +$config->group->package->automation->privs['ci-checkCompileStatus'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array('ci-commitResult')); + +$config->group->package->git = new stdclass(); +$config->group->package->git->edition = 'open,biz,max,ipd'; +$config->group->package->git->vision = 'rnd'; +$config->group->package->git->order = 2480; +$config->group->package->git->subset = 'repo'; +$config->group->package->git->privs = array(); +$config->group->package->git->privs['git-diff'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('git-apiSync', 'git-cat')); +$config->group->package->git->privs['git-cat'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array('git-apiSync', 'git-diff')); +$config->group->package->git->privs['git-apiSync'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array(), 'recommend' => array('git-cat', 'git-diff')); + +$config->group->package->subversion = new stdclass(); +$config->group->package->subversion->edition = 'open,biz,max,ipd'; +$config->group->package->subversion->vision = 'rnd'; +$config->group->package->subversion->order = 2460; +$config->group->package->subversion->subset = 'repo'; +$config->group->package->subversion->privs = array(); +$config->group->package->subversion->privs['svn-diff'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('svn-apiSync', 'svn-cat'), 'recommend' => array()); +$config->group->package->subversion->privs['svn-cat'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('svn-apiSync', 'svn-diff'), 'recommend' => array()); +$config->group->package->subversion->privs['svn-apiSync'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('svn-cat', 'svn-diff'), 'recommend' => array()); + +$config->group->package->ping = new stdclass(); +$config->group->package->ping->edition = 'open,biz,max,ipd'; +$config->group->package->ping->vision = 'rnd,lite,or'; +$config->group->package->ping->order = 5; +$config->group->package->ping->subset = 'generalping'; +$config->group->package->ping->privs = array(); +$config->group->package->ping->privs['misc-ping'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array(), 'recommend' => array()); + +$config->group->package->review = new stdclass(); +$config->group->package->review->edition = 'open,biz,max,ipd'; +$config->group->package->review->vision = 'rnd,lite,or'; +$config->group->package->review->order = 20; +$config->group->package->review->subset = 'projectsettings'; +$config->group->package->review->privs = array(); +$config->group->package->review->privs['project-approval'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageProjectRelease = new stdclass(); +$config->group->package->manageProjectRelease->edition = 'open,biz,max,ipd'; +$config->group->package->manageProjectRelease->vision = 'rnd,lite,or'; +$config->group->package->manageProjectRelease->order = 10; +$config->group->package->manageProjectRelease->subset = 'projectrelease'; +$config->group->package->manageProjectRelease->privs = array(); +$config->group->package->manageProjectRelease->privs['projectrelease-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-changeStatus', 'projectrelease-delete', 'projectrelease-edit', 'projectrelease-linkBug', 'projectrelease-linkStory', 'projectrelease-unlinkBug', 'projectrelease-unlinkStory')); +$config->group->package->manageProjectRelease->privs['projectrelease-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-changeStatus', 'projectrelease-create', 'projectrelease-delete', 'projectrelease-linkBug', 'projectrelease-linkStory', 'projectrelease-unlinkBug', 'projectrelease-unlinkStory')); +$config->group->package->manageProjectRelease->privs['projectrelease-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-changeStatus', 'projectrelease-create', 'projectrelease-delete', 'projectrelease-edit', 'projectrelease-linkBug', 'projectrelease-unlinkBug', 'projectrelease-unlinkStory')); +$config->group->package->manageProjectRelease->privs['projectrelease-unlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-batchUnlinkStory', 'projectrelease-changeStatus', 'projectrelease-create', 'projectrelease-delete', 'projectrelease-edit', 'projectrelease-linkBug', 'projectrelease-linkStory', 'projectrelease-unlinkBug')); +$config->group->package->manageProjectRelease->privs['projectrelease-batchUnlinkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-unlinkStory')); +$config->group->package->manageProjectRelease->privs['projectrelease-linkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-changeStatus', 'projectrelease-create', 'projectrelease-delete', 'projectrelease-edit', 'projectrelease-linkStory', 'projectrelease-unlinkBug', 'projectrelease-unlinkStory')); +$config->group->package->manageProjectRelease->privs['projectrelease-unlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-batchUnlinkBug', 'projectrelease-changeStatus', 'projectrelease-create', 'projectrelease-delete', 'projectrelease-edit', 'projectrelease-linkBug', 'projectrelease-linkStory', 'projectrelease-unlinkStory')); +$config->group->package->manageProjectRelease->privs['projectrelease-batchUnlinkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-unlinkBug')); +$config->group->package->manageProjectRelease->privs['projectrelease-changeStatus'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 11, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-create', 'projectrelease-delete', 'projectrelease-edit', 'projectrelease-linkBug', 'projectrelease-linkStory', 'projectrelease-unlinkBug', 'projectrelease-unlinkStory')); + +$config->group->package->deleteProjectRelease = new stdclass(); +$config->group->package->deleteProjectRelease->edition = 'open,biz,max,ipd'; +$config->group->package->deleteProjectRelease->vision = 'rnd,lite,or'; +$config->group->package->deleteProjectRelease->order = 25; +$config->group->package->deleteProjectRelease->subset = 'projectrelease'; +$config->group->package->deleteProjectRelease->privs = array(); +$config->group->package->deleteProjectRelease->privs['projectrelease-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('projectrelease-browse'), 'recommend' => array('projectrelease-changeStatus', 'projectrelease-create', 'projectrelease-edit', 'projectrelease-linkBug', 'projectrelease-linkStory', 'projectrelease-unlinkBug', 'projectrelease-unlinkStory')); + +$config->group->package->importProjectRelease = new stdclass(); +$config->group->package->importProjectRelease->edition = 'open,biz,max,ipd'; +$config->group->package->importProjectRelease->vision = 'rnd,lite,or'; +$config->group->package->importProjectRelease->order = 20; +$config->group->package->importProjectRelease->subset = 'projectrelease'; +$config->group->package->importProjectRelease->privs = array(); +$config->group->package->importProjectRelease->privs['projectrelease-export'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 12, 'depend' => array('projectrelease-browse', 'projectrelease-view'), 'recommend' => array()); + +$config->group->package->projectReleaseNotify = new stdclass(); +$config->group->package->projectReleaseNotify->edition = 'open,biz,max,ipd'; +$config->group->package->projectReleaseNotify->vision = 'rnd,lite,or'; +$config->group->package->projectReleaseNotify->order = 15; +$config->group->package->projectReleaseNotify->subset = 'projectrelease'; +$config->group->package->projectReleaseNotify->privs = array(); +$config->group->package->projectReleaseNotify->privs['projectrelease-notify'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 13, 'depend' => array('projectrelease-browse'), 'recommend' => array()); + +$config->group->package->gantt = new stdclass(); +$config->group->package->gantt->edition = 'open,biz,max,ipd'; +$config->group->package->gantt->vision = 'rnd,lite,or'; +$config->group->package->gantt->order = 10; +$config->group->package->gantt->subset = 'programplan'; +$config->group->package->gantt->privs = array(); +$config->group->package->gantt->privs['programplan-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('project-index'), 'recommend' => array('programplan-ganttEdit')); +$config->group->package->gantt->privs['programplan-ganttEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('programplan-browse'), 'recommend' => array()); + +$config->group->package->executionRelation = new stdclass(); +$config->group->package->executionRelation->edition = 'open,biz,max,ipd'; +$config->group->package->executionRelation->vision = 'rnd,lite,or'; +$config->group->package->executionRelation->order = 10; +$config->group->package->executionRelation->subset = 'executionview'; +$config->group->package->executionRelation->privs = array(); +$config->group->package->executionRelation->privs['execution-deleterelation'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('execution-gantt', 'execution-relation'), 'recommend' => array()); +$config->group->package->executionRelation->privs['execution-maintainrelation'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('execution-gantt', 'execution-relation'), 'recommend' => array()); +$config->group->package->executionRelation->privs['execution-relation'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('execution-gantt'), 'recommend' => array('execution-deleterelation', 'execution-maintainrelation')); + +$config->group->package->browseBuild = new stdclass(); +$config->group->package->browseBuild->edition = 'open,biz,max,ipd'; +$config->group->package->browseBuild->vision = 'rnd,lite,or'; +$config->group->package->browseBuild->order = 5; +$config->group->package->browseBuild->subset = 'build'; +$config->group->package->browseBuild->privs = array(); +$config->group->package->browseBuild->privs['execution-build'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('build-create', 'build-edit', 'build-linkBug', 'build-linkStory', 'build-unlinkBug', 'build-unlinkStory', 'build-view')); +$config->group->package->browseBuild->privs['build-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('execution-build'), 'recommend' => array('build-create', 'build-edit', 'build-linkBug', 'build-linkStory', 'build-unlinkBug', 'build-unlinkStory')); + +$config->group->package->browseExecutionStory = new stdclass(); +$config->group->package->browseExecutionStory->edition = 'open,biz,max,ipd'; +$config->group->package->browseExecutionStory->vision = 'rnd,lite,or'; +$config->group->package->browseExecutionStory->order = 5; +$config->group->package->browseExecutionStory->subset = 'executionstory'; +$config->group->package->browseExecutionStory->privs = array(); +$config->group->package->browseExecutionStory->privs['execution-story'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array(), 'recommend' => array('execution-linkStory', 'execution-storyEstimate', 'execution-storyKanban', 'execution-storySort', 'execution-storyView', 'execution-unlinkStory')); +$config->group->package->browseExecutionStory->privs['execution-storyKanban'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('execution-story'), 'recommend' => array('execution-linkStory', 'execution-storyEstimate', 'execution-storySort', 'execution-storyView', 'execution-unlinkStory')); +$config->group->package->browseExecutionStory->privs['execution-storyView'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('execution-story'), 'recommend' => array('execution-linkStory', 'execution-storyEstimate', 'execution-storyKanban', 'execution-storySort', 'execution-unlinkStory')); + +$config->group->package->manageCard = new stdclass(); +$config->group->package->manageCard->edition = 'open,biz,max,ipd'; +$config->group->package->manageCard->vision = 'rnd,lite,or'; +$config->group->package->manageCard->order = 20; +$config->group->package->manageCard->subset = 'kanban'; +$config->group->package->manageCard->privs = array(); +$config->group->package->manageCard->privs['kanban-createCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 0, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-batchCreateCard', 'kanban-deleteCard', 'kanban-editCard', 'kanban-moveCard', 'kanban-restoreCard', 'kanban-setCardColor', 'kanban-sortCard', 'kanban-viewArchivedCard', 'kanban-viewCard')); +$config->group->package->manageCard->privs['kanban-editCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-createCard', 'kanban-deleteCard', 'kanban-moveCard', 'kanban-restoreCard', 'kanban-setCardColor', 'kanban-sortCard', 'kanban-viewArchivedCard', 'kanban-viewCard')); +$config->group->package->manageCard->privs['kanban-viewCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-createCard', 'kanban-deleteCard', 'kanban-editCard', 'kanban-moveCard', 'kanban-restoreCard', 'kanban-setCardColor', 'kanban-sortCard', 'kanban-viewArchivedCard')); +$config->group->package->manageCard->privs['kanban-sortCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 7, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-createCard', 'kanban-deleteCard', 'kanban-editCard', 'kanban-moveCard', 'kanban-restoreCard', 'kanban-setCardColor', 'kanban-viewArchivedCard', 'kanban-viewCard')); +$config->group->package->manageCard->privs['kanban-deleteCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 8, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-createCard', 'kanban-editCard', 'kanban-moveCard', 'kanban-restoreCard', 'kanban-setCardColor', 'kanban-sortCard', 'kanban-viewArchivedCard', 'kanban-viewCard')); +$config->group->package->manageCard->privs['kanban-assigntoCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 4, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-createCard', 'kanban-deleteCard', 'kanban-editCard', 'kanban-moveCard', 'kanban-restoreCard', 'kanban-setCardColor', 'kanban-sortCard', 'kanban-viewArchivedCard', 'kanban-viewCard')); +$config->group->package->manageCard->privs['kanban-moveCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-createCard', 'kanban-deleteCard', 'kanban-editCard', 'kanban-restoreCard', 'kanban-setCardColor', 'kanban-sortCard', 'kanban-viewArchivedCard', 'kanban-viewCard')); +$config->group->package->manageCard->privs['kanban-setCardColor'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-createCard', 'kanban-deleteCard', 'kanban-editCard', 'kanban-moveCard', 'kanban-restoreCard', 'kanban-sortCard', 'kanban-viewArchivedCard', 'kanban-viewCard')); +$config->group->package->manageCard->privs['kanban-batchCreateCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createCard')); +$config->group->package->manageCard->privs['kanban-archiveCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 9, 'depend' => array('kanban-view'), 'recommend' => array('kanban-createCard', 'kanban-deleteCard', 'kanban-editCard', 'kanban-moveCard', 'kanban-restoreCard', 'kanban-setCardColor', 'kanban-sortCard', 'kanban-viewArchivedCard', 'kanban-viewCard')); +$config->group->package->manageCard->privs['kanban-viewArchivedCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 10, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-createCard', 'kanban-deleteCard', 'kanban-editCard', 'kanban-moveCard', 'kanban-restoreCard', 'kanban-setCardColor', 'kanban-sortCard', 'kanban-viewCard')); +$config->group->package->manageCard->privs['kanban-restoreCard'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 11, 'depend' => array('kanban-view'), 'recommend' => array('kanban-archiveCard', 'kanban-createCard', 'kanban-deleteCard', 'kanban-editCard', 'kanban-moveCard', 'kanban-setCardColor', 'kanban-sortCard', 'kanban-viewArchivedCard', 'kanban-viewCard')); + +$config->group->package->browseProjectStory = new stdclass(); +$config->group->package->browseProjectStory->edition = 'open,biz,max,ipd'; +$config->group->package->browseProjectStory->vision = 'rnd,lite,or'; +$config->group->package->browseProjectStory->order = 5; +$config->group->package->browseProjectStory->subset = 'projectstory'; +$config->group->package->browseProjectStory->privs = array(); +$config->group->package->browseProjectStory->privs['projectstory-story'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 5, 'depend' => array('project-index'), 'recommend' => array('projectstory-view')); +$config->group->package->browseProjectStory->privs['projectstory-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 15, 'depend' => array('projectstory-story'), 'recommend' => array()); + +$config->group->package->chckAuditPlan = new stdclass(); +$config->group->package->chckAuditPlan->edition = 'open,biz,max,ipd'; +$config->group->package->chckAuditPlan->vision = 'rnd,lite,or'; +$config->group->package->chckAuditPlan->order = 15; +$config->group->package->chckAuditPlan->subset = 'projectauditplan'; +$config->group->package->chckAuditPlan->privs = array(); +$config->group->package->chckAuditPlan->privs['auditplan-batchCheck'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-check')); +$config->group->package->chckAuditPlan->privs['auditplan-check'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('auditplan-browse'), 'recommend' => array('auditplan-assignTo', 'auditplan-batchCheck', 'auditplan-create', 'auditplan-edit', 'auditplan-nc', 'auditplan-result')); + +$config->group->package->reviewAssess = new stdclass(); +$config->group->package->reviewAssess->edition = 'open,biz,max,ipd'; +$config->group->package->reviewAssess->vision = 'rnd,lite,or'; +$config->group->package->reviewAssess->order = 15; +$config->group->package->reviewAssess->subset = 'projectreview'; +$config->group->package->reviewAssess->privs = array(); +$config->group->package->reviewAssess->privs['review-assess'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('review-browse'), 'recommend' => array('review-report')); + +$config->group->package->reviewAudit = new stdclass(); +$config->group->package->reviewAudit->edition = 'open,biz,max,ipd'; +$config->group->package->reviewAudit->vision = 'rnd,lite,or'; +$config->group->package->reviewAudit->order = 20; +$config->group->package->reviewAudit->subset = 'projectreview'; +$config->group->package->reviewAudit->privs = array(); +$config->group->package->reviewAudit->privs['review-audit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('review-browse'), 'recommend' => array()); + +$config->group->package->dimension = new stdclass(); +$config->group->package->dimension->edition = 'open,biz,max,ipd'; +$config->group->package->dimension->vision = 'rnd,lite,or'; +$config->group->package->dimension->order = 5; +$config->group->package->dimension->subset = 'dimension'; +$config->group->package->dimension->privs = array(); +$config->group->package->dimension->privs['dimension-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->dimension->privs['dimension-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('dimension-browse'), 'recommend' => array('dimension-delete', 'dimension-edit')); +$config->group->package->dimension->privs['dimension-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('dimension-browse'), 'recommend' => array('dimension-create', 'dimension-delete')); +$config->group->package->dimension->privs['dimension-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('dimension-browse'), 'recommend' => array('dimension-create', 'dimension-edit')); + +$config->group->package->browseScreen = new stdclass(); +$config->group->package->browseScreen->edition = 'open,biz,max,ipd'; +$config->group->package->browseScreen->vision = 'rnd,lite,or'; +$config->group->package->browseScreen->order = 5; +$config->group->package->browseScreen->subset = 'screen'; +$config->group->package->browseScreen->privs = array(); +$config->group->package->browseScreen->privs['screen-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseScreen->privs['screen-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseScreen->privs['screen-annualData'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('screen-browse'), 'recommend' => array()); + +$config->group->package->manageScreen = new stdclass(); +$config->group->package->manageScreen->edition = 'open,biz,max,ipd'; +$config->group->package->manageScreen->vision = 'rnd,lite,or'; +$config->group->package->manageScreen->order = 10; +$config->group->package->manageScreen->subset = 'screen'; +$config->group->package->manageScreen->privs = array(); +$config->group->package->manageScreen->privs['screen-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('screen-browse'), 'recommend' => array('screen-design', 'screen-edit', 'screen-publish')); +$config->group->package->manageScreen->privs['screen-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('screen-browse'), 'recommend' => array('screen-create', 'screen-design', 'screen-publish')); +$config->group->package->manageScreen->privs['screen-design'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('screen-browse'), 'recommend' => array('screen-create', 'screen-edit', 'screen-publish')); +$config->group->package->manageScreen->privs['screen-publish'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('screen-browse'), 'recommend' => array('screen-create', 'screen-design', 'screen-edit')); + +$config->group->package->deleteScreen = new stdclass(); +$config->group->package->deleteScreen->edition = 'open,biz,max,ipd'; +$config->group->package->deleteScreen->vision = 'rnd,lite,or'; +$config->group->package->deleteScreen->order = 15; +$config->group->package->deleteScreen->subset = 'screen'; +$config->group->package->deleteScreen->privs = array(); +$config->group->package->deleteScreen->privs['screen-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('screen-browse'), 'recommend' => array()); + +$config->group->package->screenDataPermission = new stdclass(); +$config->group->package->screenDataPermission->edition = 'open,biz,max,ipd'; +$config->group->package->screenDataPermission->vision = 'rnd,lite,or'; +$config->group->package->screenDataPermission->order = 20; +$config->group->package->screenDataPermission->subset = 'screen'; +$config->group->package->screenDataPermission->privs = array(); +$config->group->package->screenDataPermission->privs['screen-allAnnualData'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('screen-annualData'), 'recommend' => array()); + +$config->group->package->browsePivot = new stdclass(); +$config->group->package->browsePivot->edition = 'open,biz,max,ipd'; +$config->group->package->browsePivot->vision = 'rnd,lite,or'; +$config->group->package->browsePivot->order = 5; +$config->group->package->browsePivot->subset = 'pivot'; +$config->group->package->browsePivot->privs = array(); +$config->group->package->browsePivot->privs['pivot-preview'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-projectDeviation'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-productSummary'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-bugCreate'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-bugAssign'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-workload'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 11, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-casesrun'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-storyLinkedBug'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-testcase'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-build'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-workSummary'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 12, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-roadmap'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-productInvest'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-bugSummary'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 14, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-bugAssignSummary'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->browsePivot->privs['pivot-workAssignSummary'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 13, 'depend' => array('pivot-preview'), 'recommend' => array()); + +$config->group->package->designPivot = new stdclass(); +$config->group->package->designPivot->edition = 'open,biz,max,ipd'; +$config->group->package->designPivot->vision = 'rnd,lite,or'; +$config->group->package->designPivot->order = 10; +$config->group->package->designPivot->subset = 'pivot'; +$config->group->package->designPivot->privs = array(); +$config->group->package->designPivot->privs['pivot-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('pivot-preview'), 'recommend' => array()); +$config->group->package->designPivot->privs['pivot-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('pivot-browse'), 'recommend' => array('pivot-delete', 'pivot-design', 'pivot-edit')); +$config->group->package->designPivot->privs['pivot-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('pivot-browse'), 'recommend' => array('pivot-create', 'pivot-delete', 'pivot-design')); +$config->group->package->designPivot->privs['pivot-design'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('pivot-browse'), 'recommend' => array('pivot-create', 'pivot-delete', 'pivot-edit')); +$config->group->package->designPivot->privs['pivot-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('pivot-browse'), 'recommend' => array('pivot-create', 'pivot-design', 'pivot-edit')); + +$config->group->package->exportPivot = new stdclass(); +$config->group->package->exportPivot->edition = 'open,biz,max,ipd'; +$config->group->package->exportPivot->vision = 'rnd,lite,or'; +$config->group->package->exportPivot->order = 15; +$config->group->package->exportPivot->subset = 'pivot'; +$config->group->package->exportPivot->privs = array(); +$config->group->package->exportPivot->privs['pivot-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('pivot-preview'), 'recommend' => array()); + +$config->group->package->pivotDataPermission = new stdclass(); +$config->group->package->pivotDataPermission->edition = 'open,biz,max,ipd'; +$config->group->package->pivotDataPermission->vision = 'rnd,lite,or'; +$config->group->package->pivotDataPermission->order = 20; +$config->group->package->pivotDataPermission->subset = 'pivot'; +$config->group->package->pivotDataPermission->privs = array(); +$config->group->package->pivotDataPermission->privs['pivot-showProduct'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array(), 'recommend' => array()); +$config->group->package->pivotDataPermission->privs['pivot-showProject'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 45, 'depend' => array(), 'recommend' => array()); + +$config->group->package->browseChart = new stdclass(); +$config->group->package->browseChart->edition = 'open,biz,max,ipd'; +$config->group->package->browseChart->vision = 'rnd,lite,or'; +$config->group->package->browseChart->order = 5; +$config->group->package->browseChart->subset = 'chart'; +$config->group->package->browseChart->privs = array(); +$config->group->package->browseChart->privs['chart-preview'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); + +$config->group->package->designChart = new stdclass(); +$config->group->package->designChart->edition = 'open,biz,max,ipd'; +$config->group->package->designChart->vision = 'rnd,lite,or'; +$config->group->package->designChart->order = 10; +$config->group->package->designChart->subset = 'chart'; +$config->group->package->designChart->privs = array(); +$config->group->package->designChart->privs['chart-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('chart-preview'), 'recommend' => array()); +$config->group->package->designChart->privs['chart-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('chart-browse'), 'recommend' => array('chart-delete', 'chart-design', 'chart-edit')); +$config->group->package->designChart->privs['chart-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('chart-browse'), 'recommend' => array('chart-create', 'chart-delete', 'chart-design')); +$config->group->package->designChart->privs['chart-design'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('chart-browse'), 'recommend' => array('chart-create', 'chart-delete', 'chart-edit')); +$config->group->package->designChart->privs['chart-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('chart-browse'), 'recommend' => array('chart-create', 'chart-design', 'chart-edit')); + +$config->group->package->exportChart = new stdclass(); +$config->group->package->exportChart->edition = 'open,biz,max,ipd'; +$config->group->package->exportChart->vision = 'rnd,lite,or'; +$config->group->package->exportChart->order = 15; +$config->group->package->exportChart->subset = 'chart'; +$config->group->package->exportChart->privs = array(); +$config->group->package->exportChart->privs['chart-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('chart-preview'), 'recommend' => array()); + +$config->group->package->browseDataview = new stdclass(); +$config->group->package->browseDataview->edition = 'open,biz,max,ipd'; +$config->group->package->browseDataview->vision = 'rnd,lite,or'; +$config->group->package->browseDataview->order = 5; +$config->group->package->browseDataview->subset = 'dataview'; +$config->group->package->browseDataview->privs = array(); +$config->group->package->browseDataview->privs['dataview-browse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageDataview = new stdclass(); +$config->group->package->manageDataview->edition = 'open,biz,max,ipd'; +$config->group->package->manageDataview->vision = 'rnd,lite,or'; +$config->group->package->manageDataview->order = 10; +$config->group->package->manageDataview->subset = 'dataview'; +$config->group->package->manageDataview->privs = array(); +$config->group->package->manageDataview->privs['dataview-create'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('dataview-browse'), 'recommend' => array('dataview-edit', 'dataview-query')); +$config->group->package->manageDataview->privs['dataview-edit'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('dataview-browse'), 'recommend' => array('dataview-create', 'dataview-query')); +$config->group->package->manageDataview->privs['dataview-query'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('dataview-browse'), 'recommend' => array('dataview-create', 'dataview-edit')); + +$config->group->package->deleteDataview = new stdclass(); +$config->group->package->deleteDataview->edition = 'open,biz,max,ipd'; +$config->group->package->deleteDataview->vision = 'rnd,lite,or'; +$config->group->package->deleteDataview->order = 15; +$config->group->package->deleteDataview->subset = 'dataview'; +$config->group->package->deleteDataview->privs = array(); +$config->group->package->deleteDataview->privs['dataview-delete'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('dataview-browse'), 'recommend' => array()); + +$config->group->package->browseDoc = new stdclass(); +$config->group->package->browseDoc->edition = 'open,biz,max,ipd'; +$config->group->package->browseDoc->vision = 'rnd,lite,or'; +$config->group->package->browseDoc->order = 10; +$config->group->package->browseDoc->subset = 'doc'; +$config->group->package->browseDoc->privs = array(); +$config->group->package->browseDoc->privs['doc-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array(), 'recommend' => array('doc-mySpace', 'doc-productSpace', 'doc-projectSpace', 'doc-teamSpace', 'doc-view')); +$config->group->package->browseDoc->privs['doc-mySpace'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array(), 'recommend' => array('doc-index', 'doc-productSpace', 'doc-projectSpace', 'doc-teamSpace', 'doc-view')); +$config->group->package->browseDoc->privs['doc-myView'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array('doc-mySpace'), 'recommend' => array('doc-myCollection', 'doc-myCreation', 'doc-myEdited')); +$config->group->package->browseDoc->privs['doc-myCollection'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 7, 'depend' => array('doc-mySpace'), 'recommend' => array('doc-myCreation', 'doc-myEdited', 'doc-myView')); +$config->group->package->browseDoc->privs['doc-myCreation'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 8, 'depend' => array('doc-mySpace'), 'recommend' => array('doc-myCollection', 'doc-myEdited', 'doc-myView')); +$config->group->package->browseDoc->privs['doc-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array(), 'recommend' => array('doc-diff', 'doc-displaySetting', 'doc-index', 'doc-myCollection', 'doc-myCreation', 'doc-myEdited', 'doc-mySpace', 'doc-myView', 'doc-productSpace', 'doc-projectSpace', 'doc-teamSpace')); +$config->group->package->browseDoc->privs['doc-productSpace'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 2, 'depend' => array(), 'recommend' => array('doc-index', 'doc-mySpace', 'doc-projectSpace', 'doc-teamSpace', 'doc-view')); +$config->group->package->browseDoc->privs['doc-projectSpace'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array(), 'recommend' => array('doc-index', 'doc-mySpace', 'doc-productSpace', 'doc-teamSpace', 'doc-view')); +$config->group->package->browseDoc->privs['doc-teamSpace'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 4, 'depend' => array(), 'recommend' => array('doc-index', 'doc-mySpace', 'doc-productSpace', 'doc-projectSpace', 'doc-view')); +$config->group->package->browseDoc->privs['doc-displaySetting'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 10, 'depend' => array('doc-view'), 'recommend' => array()); +$config->group->package->browseDoc->privs['doc-diff'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 11, 'depend' => array('doc-view'), 'recommend' => array()); +$config->group->package->browseDoc->privs['doc-myEdited'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 9, 'depend' => array('doc-mySpace'), 'recommend' => array('doc-myCollection', 'doc-myCreation', 'doc-myView')); + +$config->group->package->manageDoc = new stdclass(); +$config->group->package->manageDoc->edition = 'open,biz,max,ipd'; +$config->group->package->manageDoc->vision = 'rnd,lite,or'; +$config->group->package->manageDoc->order = 15; +$config->group->package->manageDoc->subset = 'doc'; +$config->group->package->manageDoc->privs = array(); +$config->group->package->manageDoc->privs['doc-createLib'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 0, 'depend' => array(), 'recommend' => array('doc-editLib', 'doc-showFiles')); +$config->group->package->manageDoc->privs['doc-editLib'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 1, 'depend' => array(), 'recommend' => array('doc-createLib', 'doc-showFiles')); +$config->group->package->manageDoc->privs['doc-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 3, 'depend' => array(), 'recommend' => array('doc-collect', 'doc-edit')); +$config->group->package->manageDoc->privs['doc-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 4, 'depend' => array(), 'recommend' => array('doc-collect', 'doc-create')); +$config->group->package->manageDoc->privs['doc-collect'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 8, 'depend' => array(), 'recommend' => array('doc-create', 'doc-edit')); +$config->group->package->manageDoc->privs['doc-showFiles'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 2, 'depend' => array(), 'recommend' => array('doc-createLib', 'doc-editLib')); +$config->group->package->manageDoc->privs['doc-addCatalog'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array(), 'recommend' => array('doc-editCatalog', 'doc-sortCatalog')); +$config->group->package->manageDoc->privs['doc-editCatalog'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 6, 'depend' => array(), 'recommend' => array('doc-addCatalog', 'doc-sortCatalog')); +$config->group->package->manageDoc->privs['doc-sortCatalog'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,or', 'order' => 7, 'depend' => array(), 'recommend' => array('doc-addCatalog', 'doc-editCatalog')); + +$config->group->package->deleteDoc = new stdclass(); +$config->group->package->deleteDoc->edition = 'open,biz,max,ipd'; +$config->group->package->deleteDoc->vision = 'rnd,lite,or'; +$config->group->package->deleteDoc->order = 20; +$config->group->package->deleteDoc->subset = 'doc'; +$config->group->package->deleteDoc->privs = array(); +$config->group->package->deleteDoc->privs['doc-deleteLib'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 40, 'depend' => array(), 'recommend' => array()); +$config->group->package->deleteDoc->privs['doc-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 60, 'depend' => array(), 'recommend' => array()); +$config->group->package->deleteDoc->privs['doc-deleteFile'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 65, 'depend' => array(), 'recommend' => array()); +$config->group->package->deleteDoc->privs['doc-deleteCatalog'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 110, 'depend' => array(), 'recommend' => array()); + +$config->group->package->exportDoc = new stdclass(); +$config->group->package->exportDoc->edition = 'open,biz,max,ipd'; +$config->group->package->exportDoc->vision = 'rnd,lite,or'; +$config->group->package->exportDoc->order = 25; +$config->group->package->exportDoc->subset = 'doc'; +$config->group->package->exportDoc->privs = array(); +$config->group->package->exportDoc->privs['doc-mine2export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 125, 'depend' => array('doc-mySpace'), 'recommend' => array()); +$config->group->package->exportDoc->privs['doc-product2export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 130, 'depend' => array('doc-productSpace'), 'recommend' => array()); +$config->group->package->exportDoc->privs['doc-project2export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 135, 'depend' => array('doc-projectSpace'), 'recommend' => array()); +$config->group->package->exportDoc->privs['doc-custom2export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 140, 'depend' => array('doc-teamSpace'), 'recommend' => array()); + +$config->group->package->browseAPI = new stdclass(); +$config->group->package->browseAPI->edition = 'open,biz,max,ipd'; +$config->group->package->browseAPI->vision = 'rnd,lite,or'; +$config->group->package->browseAPI->order = 5; +$config->group->package->browseAPI->subset = 'api'; +$config->group->package->browseAPI->privs = array(); +$config->group->package->browseAPI->privs['api-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageAPI = new stdclass(); +$config->group->package->manageAPI->edition = 'open,biz,max,ipd'; +$config->group->package->manageAPI->vision = 'rnd,lite,or'; +$config->group->package->manageAPI->order = 10; +$config->group->package->manageAPI->subset = 'api'; +$config->group->package->manageAPI->privs = array(); +$config->group->package->manageAPI->privs['api-createLib'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('api-index'), 'recommend' => array('api-editLib')); +$config->group->package->manageAPI->privs['api-editLib'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('api-index'), 'recommend' => array('api-createLib')); +$config->group->package->manageAPI->privs['api-createRelease'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('api-index'), 'recommend' => array('api-create', 'api-edit', 'api-releases')); +$config->group->package->manageAPI->privs['api-releases'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('api-index'), 'recommend' => array('api-create', 'api-createRelease', 'api-edit')); +$config->group->package->manageAPI->privs['api-struct'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 8, 'depend' => array('api-index'), 'recommend' => array('api-createStruct', 'api-editStruct')); +$config->group->package->manageAPI->privs['api-createStruct'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 6, 'depend' => array('api-index'), 'recommend' => array('api-editStruct', 'api-struct')); +$config->group->package->manageAPI->privs['api-editStruct'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 7, 'depend' => array('api-index'), 'recommend' => array('api-createStruct', 'api-struct')); +$config->group->package->manageAPI->privs['api-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('api-index'), 'recommend' => array('api-createRelease', 'api-edit', 'api-releases')); +$config->group->package->manageAPI->privs['api-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('api-index'), 'recommend' => array('api-create', 'api-createRelease', 'api-releases')); +$config->group->package->manageAPI->privs['api-addCatalog'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 9, 'depend' => array('api-index'), 'recommend' => array('api-editCatalog')); +$config->group->package->manageAPI->privs['api-editCatalog'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('api-index'), 'recommend' => array('api-addCatalog')); +$config->group->package->manageAPI->privs['api-sortCatalog'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 60, 'depend' => array('api-index'), 'recommend' => array()); + +$config->group->package->exportAPI = new stdclass(); +$config->group->package->exportAPI->edition = 'open,biz,max,ipd'; +$config->group->package->exportAPI->vision = 'rnd,lite,or'; +$config->group->package->exportAPI->order = 15; +$config->group->package->exportAPI->subset = 'api'; +$config->group->package->exportAPI->privs = array(); +$config->group->package->exportAPI->privs['api-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 110, 'depend' => array('api-index'), 'recommend' => array()); + +$config->group->package->deleteAPI = new stdclass(); +$config->group->package->deleteAPI->edition = 'open,biz,max,ipd'; +$config->group->package->deleteAPI->vision = 'rnd,lite,or'; +$config->group->package->deleteAPI->order = 20; +$config->group->package->deleteAPI->subset = 'api'; +$config->group->package->deleteAPI->privs = array(); +$config->group->package->deleteAPI->privs['api-deleteLib'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array('api-index'), 'recommend' => array()); +$config->group->package->deleteAPI->privs['api-deleteRelease'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 3, 'depend' => array('api-index'), 'recommend' => array()); +$config->group->package->deleteAPI->privs['api-deleteStruct'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 2, 'depend' => array('api-index'), 'recommend' => array()); +$config->group->package->deleteAPI->privs['api-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 1, 'depend' => array('api-index'), 'recommend' => array()); +$config->group->package->deleteAPI->privs['api-deleteCatalog'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('api-index'), 'recommend' => array()); + +$config->group->package->callAPI = new stdclass(); +$config->group->package->callAPI->edition = 'open,biz,max,ipd'; +$config->group->package->callAPI->vision = 'rnd,lite,or'; +$config->group->package->callAPI->order = 25; +$config->group->package->callAPI->subset = 'api'; +$config->group->package->callAPI->privs = array(); +$config->group->package->callAPI->privs['api-getModel'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->callAPI->privs['api-sql'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 105, 'depend' => array(), 'recommend' => array()); + +$config->group->package->scene = new stdclass(); +$config->group->package->scene->edition = 'open,biz,max,ipd'; +$config->group->package->scene->vision = 'rnd,lite,or'; +$config->group->package->scene->order = 5; +$config->group->package->scene->subset = 'testcase'; +$config->group->package->scene->privs = array(); +$config->group->package->scene->privs['testcase-createScene'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('testcase-browse'), 'recommend' => array('testcase-batchChangeScene', 'testcase-changeScene', 'testcase-editScene')); +$config->group->package->scene->privs['testcase-editScene'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('testcase-browse'), 'recommend' => array('testcase-batchChangeScene', 'testcase-changeScene', 'testcase-createScene')); +$config->group->package->scene->privs['testcase-deleteScene'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('testcase-browse'), 'recommend' => array()); +$config->group->package->scene->privs['testcase-changeScene'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('testcase-browse'), 'recommend' => array('testcase-batchChangeScene', 'testcase-createScene', 'testcase-editScene')); +$config->group->package->scene->privs['testcase-batchChangeScene'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('testcase-browse'), 'recommend' => array('testcase-changeScene', 'testcase-createScene', 'testcase-editScene')); + +$config->group->package->executionTree = new stdclass(); +$config->group->package->executionTree->edition = 'open,biz,max,ipd'; +$config->group->package->executionTree->vision = 'rnd,lite,or'; +$config->group->package->executionTree->order = 20; +$config->group->package->executionTree->subset = 'executionview'; +$config->group->package->executionTree->privs = array(); +$config->group->package->executionTree->privs['execution-tree'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 1, 'depend' => array(), 'recommend' => array('execution-calendar', 'execution-gantt', 'execution-grouptask', 'execution-taskEffort', 'execution-treeStory', 'execution-treeTask')); +$config->group->package->executionTree->privs['execution-treeTask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 2, 'depend' => array('execution-tree'), 'recommend' => array('execution-treeStory')); +$config->group->package->executionTree->privs['execution-treeStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 3, 'depend' => array('execution-tree'), 'recommend' => array('execution-treeTask')); + +$config->group->package->taskEffort = new stdclass(); +$config->group->package->taskEffort->edition = 'open,biz,max,ipd'; +$config->group->package->taskEffort->vision = 'rnd,lite,or'; +$config->group->package->taskEffort->order = 25; +$config->group->package->taskEffort->subset = 'executionview'; +$config->group->package->taskEffort->privs = array(); +$config->group->package->taskEffort->privs['execution-taskEffort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array(), 'recommend' => array('execution-calendar', 'execution-computeTaskEffort', 'execution-gantt', 'execution-grouptask', 'execution-tree')); +$config->group->package->taskEffort->privs['execution-computeTaskEffort'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('execution-taskEffort'), 'recommend' => array()); + +$config->group->package->taskCalendar = new stdclass(); +$config->group->package->taskCalendar->edition = 'open,biz,max,ipd'; +$config->group->package->taskCalendar->vision = 'rnd,lite,or'; +$config->group->package->taskCalendar->order = 30; +$config->group->package->taskCalendar->subset = 'executionview'; +$config->group->package->taskCalendar->privs = array(); +$config->group->package->taskCalendar->privs['execution-calendar'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd,lite', 'order' => 6, 'depend' => array(), 'recommend' => array('execution-gantt', 'execution-grouptask', 'execution-taskEffort', 'execution-tree')); + +$config->group->package->browseDemandPool = new stdclass(); +$config->group->package->browseDemandPool->edition = 'open,biz,max,ipd'; +$config->group->package->browseDemandPool->vision = 'rnd,lite,or'; +$config->group->package->browseDemandPool->order = 5; +$config->group->package->browseDemandPool->subset = 'demandpool'; +$config->group->package->browseDemandPool->privs = array(); +$config->group->package->browseDemandPool->privs['demandpool-browse'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 10, 'depend' => array(), 'recommend' => array('demandpool-edit', 'demandpool-view')); +$config->group->package->browseDemandPool->privs['demandpool-view'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 40, 'depend' => array('demandpool-browse'), 'recommend' => array('demandpool-activate', 'demandpool-close', 'demandpool-delete', 'demandpool-edit')); + +$config->group->package->browseCharter = new stdclass(); +$config->group->package->browseCharter->edition = 'open,biz,max,ipd'; +$config->group->package->browseCharter->vision = 'rnd,lite,or'; +$config->group->package->browseCharter->order = 5; +$config->group->package->browseCharter->subset = 'charter'; +$config->group->package->browseCharter->privs = array(); +$config->group->package->browseCharter->privs['charter-browse'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 10, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseCharter->privs['charter-view'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 40, 'depend' => array('charter-browse'), 'recommend' => array()); +$config->group->package->browseCharter->privs['charter-loadRoadmapStories'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 70, 'depend' => array('charter-browse', 'charter-view'), 'recommend' => array()); + +$config->group->package->manageDemandPool = new stdclass(); +$config->group->package->manageDemandPool->edition = 'open,biz,max,ipd'; +$config->group->package->manageDemandPool->vision = 'rnd,lite,or'; +$config->group->package->manageDemandPool->order = 5; +$config->group->package->manageDemandPool->subset = 'demandpool'; +$config->group->package->manageDemandPool->privs = array(); +$config->group->package->manageDemandPool->privs['demandpool-create'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 20, 'depend' => array('demandpool-browse'), 'recommend' => array('demandpool-close', 'demandpool-edit', 'demandpool-view')); +$config->group->package->manageDemandPool->privs['demandpool-edit'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 30, 'depend' => array('demandpool-browse', 'demandpool-view'), 'recommend' => array('demandpool-close', 'demandpool-create')); +$config->group->package->manageDemandPool->privs['demandpool-close'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 50, 'depend' => array('demandpool-browse', 'demandpool-view'), 'recommend' => array('demandpool-activate', 'demandpool-create', 'demandpool-edit')); +$config->group->package->manageDemandPool->privs['demandpool-activate'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 60, 'depend' => array('demandpool-browse', 'demandpool-view'), 'recommend' => array('demandpool-close', 'demandpool-create', 'demandpool-edit')); + +$config->group->package->manageCharter = new stdclass(); +$config->group->package->manageCharter->edition = 'open,biz,max,ipd'; +$config->group->package->manageCharter->vision = 'rnd,lite,or'; +$config->group->package->manageCharter->order = 5; +$config->group->package->manageCharter->subset = 'charter'; +$config->group->package->manageCharter->privs = array(); +$config->group->package->manageCharter->privs['charter-create'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 20, 'depend' => array('charter-browse'), 'recommend' => array('charter-delete', 'charter-edit')); +$config->group->package->manageCharter->privs['charter-edit'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 30, 'depend' => array('charter-browse', 'charter-loadRoadmapStories', 'charter-view'), 'recommend' => array('charter-create', 'charter-delete')); +$config->group->package->manageCharter->privs['charter-delete'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 50, 'depend' => array('charter-browse', 'charter-view'), 'recommend' => array()); +$config->group->package->manageCharter->privs['charter-close'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 80, 'depend' => array('charter-browse', 'charter-view'), 'recommend' => array('charter-activate', 'charter-create', 'charter-edit')); +$config->group->package->manageCharter->privs['charter-activate'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 90, 'depend' => array('charter-browse', 'charter-view'), 'recommend' => array('charter-close', 'charter-create', 'charter-edit')); + +$config->group->package->reviewCharter = new stdclass(); +$config->group->package->reviewCharter->edition = 'open,biz,max,ipd'; +$config->group->package->reviewCharter->vision = 'rnd,lite,or'; +$config->group->package->reviewCharter->order = 5; +$config->group->package->reviewCharter->subset = 'charter'; +$config->group->package->reviewCharter->privs = array(); +$config->group->package->reviewCharter->privs['charter-review'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 60, 'depend' => array('charter-browse', 'charter-loadRoadmapStories', 'charter-view'), 'recommend' => array()); + +$config->group->package->browseDemand = new stdclass(); +$config->group->package->browseDemand->edition = 'open,biz,max,ipd'; +$config->group->package->browseDemand->vision = 'rnd,lite,or'; +$config->group->package->browseDemand->order = 5; +$config->group->package->browseDemand->subset = 'demand'; +$config->group->package->browseDemand->privs = array(); +$config->group->package->browseDemand->privs['demand-browse'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 10, 'depend' => array(), 'recommend' => array('demand-view')); +$config->group->package->browseDemand->privs['demand-view'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 50, 'depend' => array('demand-browse'), 'recommend' => array('demand-assignTo', 'demand-change', 'demand-create', 'demand-edit', 'demand-recall', 'demand-review', 'demand-submitReview')); +$config->group->package->browseDemand->privs['demand-track'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 110, 'depend' => array(), 'recommend' => array('demand-browse', 'demand-view')); + +$config->group->package->manageDemand = new stdclass(); +$config->group->package->manageDemand->edition = 'open,biz,max,ipd'; +$config->group->package->manageDemand->vision = 'rnd,lite,or'; +$config->group->package->manageDemand->order = 5; +$config->group->package->manageDemand->subset = 'demand'; +$config->group->package->manageDemand->privs = array(); +$config->group->package->manageDemand->privs['demand-create'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 20, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array('demand-assignTo', 'demand-batchCreate', 'demand-change', 'demand-edit', 'demand-recall', 'demand-submitReview')); +$config->group->package->manageDemand->privs['demand-batchCreate'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 30, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array('demand-create')); +$config->group->package->manageDemand->privs['demand-edit'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 40, 'depend' => array('demand-browse'), 'recommend' => array('demand-assignTo', 'demand-batchCreate')); +$config->group->package->manageDemand->privs['demand-assignTo'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 60, 'depend' => array('demand-browse'), 'recommend' => array('demand-activate', 'demand-close', 'demand-create', 'demand-edit')); +$config->group->package->manageDemand->privs['demand-change'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 70, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array('demand-activate', 'demand-assignTo', 'demand-batchCreate', 'demand-close', 'demand-create', 'demand-edit')); +$config->group->package->manageDemand->privs['demand-manageTree'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 120, 'depend' => array('demand-browse'), 'recommend' => array()); +$config->group->package->manageDemand->privs['demand-close'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 180, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array('demand-activate', 'demand-assignTo', 'demand-batchCreate', 'demand-create', 'demand-edit')); +$config->group->package->manageDemand->privs['demand-activate'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 190, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array('demand-assignTo', 'demand-batchCreate', 'demand-close', 'demand-create', 'demand-edit')); +$config->group->package->manageDemand->privs['demand-distribute'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 200, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array('demand-assignTo', 'demand-batchCreate', 'demand-create', 'demand-edit')); + +$config->group->package->reviewDemand = new stdclass(); +$config->group->package->reviewDemand->edition = 'open,biz,max,ipd'; +$config->group->package->reviewDemand->vision = 'rnd,lite,or'; +$config->group->package->reviewDemand->order = 5; +$config->group->package->reviewDemand->subset = 'demand'; +$config->group->package->reviewDemand->privs = array(); +$config->group->package->reviewDemand->privs['demand-review'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 80, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array('demand-activate', 'demand-assignTo', 'demand-batchCreate', 'demand-change', 'demand-close', 'demand-create', 'demand-edit')); +$config->group->package->reviewDemand->privs['demand-submitReview'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 90, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array('demand-activate', 'demand-assignTo', 'demand-batchCreate', 'demand-change', 'demand-close', 'demand-create', 'demand-edit')); +$config->group->package->reviewDemand->privs['demand-recall'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 100, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array('demand-activate', 'demand-assignTo', 'demand-batchCreate', 'demand-change', 'demand-close', 'demand-create', 'demand-edit')); + +$config->group->package->importDemand = new stdclass(); +$config->group->package->importDemand->edition = 'open,biz,max,ipd'; +$config->group->package->importDemand->vision = 'rnd,lite,or'; +$config->group->package->importDemand->order = 5; +$config->group->package->importDemand->subset = 'demand'; +$config->group->package->importDemand->privs = array(); +$config->group->package->importDemand->privs['demand-export'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 210, 'depend' => array('demand-browse'), 'recommend' => array('demand-exportTemplate', 'demand-import')); +$config->group->package->importDemand->privs['demand-exportTemplate'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 220, 'depend' => array('demand-browse'), 'recommend' => array('demand-export')); +$config->group->package->importDemand->privs['demand-import'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 230, 'depend' => array('demand-browse', 'demand-exportTemplate'), 'recommend' => array('demand-batchCreate', 'demand-create', 'demand-export')); + +$config->group->package->deleteDemand = new stdclass(); +$config->group->package->deleteDemand->edition = 'open,biz,max,ipd'; +$config->group->package->deleteDemand->vision = 'rnd,lite,or'; +$config->group->package->deleteDemand->order = 5; +$config->group->package->deleteDemand->subset = 'demand'; +$config->group->package->deleteDemand->privs = array(); +$config->group->package->deleteDemand->privs['demand-delete'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 170, 'depend' => array('demand-browse', 'demand-view'), 'recommend' => array()); + +$config->group->package->admin = new stdclass(); +$config->group->package->admin->edition = 'open,biz,max,ipd'; +$config->group->package->admin->vision = 'rnd,lite,or'; +$config->group->package->admin->order = 5; +$config->group->package->admin->subset = 'admin'; +$config->group->package->admin->privs = array(); +$config->group->package->admin->privs['admin-index'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->admin->privs['admin-register'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd,lite,or', 'order' => 25, 'depend' => array(), 'recommend' => array()); + +$config->group->package->browseRoadmap = new stdclass(); +$config->group->package->browseRoadmap->edition = 'open,biz,max,ipd'; +$config->group->package->browseRoadmap->vision = 'rnd,lite,or'; +$config->group->package->browseRoadmap->order = 5; +$config->group->package->browseRoadmap->subset = 'roadmap'; +$config->group->package->browseRoadmap->privs = array(); +$config->group->package->browseRoadmap->privs['roadmap-browse'] = array('edition' => 'ipd', 'vision' => 'or,rnd', 'order' => 10, 'depend' => array(), 'recommend' => array('roadmap-create', 'roadmap-edit', 'roadmap-view')); +$config->group->package->browseRoadmap->privs['roadmap-view'] = array('edition' => 'ipd', 'vision' => 'or,rnd', 'order' => 20, 'depend' => array('roadmap-browse'), 'recommend' => array('roadmap-edit', 'roadmap-linkUR')); + +$config->group->package->manageRoadmap = new stdclass(); +$config->group->package->manageRoadmap->edition = 'open,biz,max,ipd'; +$config->group->package->manageRoadmap->vision = 'rnd,lite,or'; +$config->group->package->manageRoadmap->order = 5; +$config->group->package->manageRoadmap->subset = 'roadmap'; +$config->group->package->manageRoadmap->privs = array(); +$config->group->package->manageRoadmap->privs['roadmap-linkUR'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 30, 'depend' => array('roadmap-browse', 'roadmap-view'), 'recommend' => array('roadmap-batchUnlinkUR', 'roadmap-unlinkUR')); +$config->group->package->manageRoadmap->privs['roadmap-create'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 40, 'depend' => array('roadmap-browse', 'roadmap-view'), 'recommend' => array('roadmap-edit')); +$config->group->package->manageRoadmap->privs['roadmap-edit'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 50, 'depend' => array('roadmap-browse', 'roadmap-view'), 'recommend' => array('roadmap-create')); +$config->group->package->manageRoadmap->privs['roadmap-close'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 60, 'depend' => array('roadmap-browse', 'roadmap-view'), 'recommend' => array('roadmap-activate')); +$config->group->package->manageRoadmap->privs['roadmap-activate'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 80, 'depend' => array('roadmap-browse', 'roadmap-view'), 'recommend' => array('roadmap-close')); +$config->group->package->manageRoadmap->privs['roadmap-unlinkUR'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 90, 'depend' => array('roadmap-browse', 'roadmap-view'), 'recommend' => array('roadmap-batchUnlinkUR')); +$config->group->package->manageRoadmap->privs['roadmap-batchUnlinkUR'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 100, 'depend' => array('roadmap-browse', 'roadmap-view'), 'recommend' => array('roadmap-unlinkUR')); + +$config->group->package->deleteRoadmap = new stdclass(); +$config->group->package->deleteRoadmap->edition = 'open,biz,max,ipd'; +$config->group->package->deleteRoadmap->vision = 'rnd,lite,or'; +$config->group->package->deleteRoadmap->order = 5; +$config->group->package->deleteRoadmap->subset = 'roadmap'; +$config->group->package->deleteRoadmap->privs = array(); +$config->group->package->deleteRoadmap->privs['roadmap-delete'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 70, 'depend' => array('roadmap-browse', 'roadmap-view'), 'recommend' => array()); + +$config->group->package->deleteDemandPool = new stdclass(); +$config->group->package->deleteDemandPool->edition = 'open,biz,max,ipd'; +$config->group->package->deleteDemandPool->vision = 'rnd,lite,or'; +$config->group->package->deleteDemandPool->order = 5; +$config->group->package->deleteDemandPool->subset = 'demandpool'; +$config->group->package->deleteDemandPool->privs = array(); +$config->group->package->deleteDemandPool->privs['demandpool-delete'] = array('edition' => 'ipd', 'vision' => 'or', 'order' => 70, 'depend' => array('demandpool-browse', 'demandpool-view'), 'recommend' => array('demandpool-create', 'demandpool-edit')); + +$config->group->package->exportDatatable = new stdclass(); +$config->group->package->exportDatatable->edition = 'biz,max,ipd'; +$config->group->package->exportDatatable->vision = 'rnd'; +$config->group->package->exportDatatable->order = 20; +$config->group->package->exportDatatable->subset = 'dataview'; +$config->group->package->exportDatatable->privs = array(); +$config->group->package->exportDatatable->privs['dataview-export'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('dataview-browse', 'dataview-query'), 'recommend' => array()); + +$config->group->package->executePrompt = new stdclass(); +$config->group->package->executePrompt->edition = 'open,biz,max'; +$config->group->package->executePrompt->vision = 'rnd'; +$config->group->package->executePrompt->order = 2040; +$config->group->package->executePrompt->subset = 'ai'; +$config->group->package->executePrompt->privs = array(); +$config->group->package->executePrompt->privs['ai-promptExecute'] = array('edition' => 'open,biz,max', 'vision' => 'rnd', 'order' => 85, 'depend' => array('ai-promptExecutionReset'), 'recommend' => array()); +$config->group->package->executePrompt->privs['ai-promptExecutionReset'] = array('edition' => 'open,biz,max', 'vision' => 'rnd', 'order' => 95, 'depend' => array('ai-promptExecute'), 'recommend' => array()); + +$config->group->package->manageLLM = new stdclass(); +$config->group->package->manageLLM->edition = 'open,biz,max'; +$config->group->package->manageLLM->vision = 'rnd'; +$config->group->package->manageLLM->order = 2060; +$config->group->package->manageLLM->subset = 'ai'; +$config->group->package->manageLLM->privs = array(); +$config->group->package->manageLLM->privs['ai-models'] = array('edition' => 'open,biz,max', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->manageLLM->privs['ai-editModel'] = array('edition' => 'open,biz,max', 'vision' => 'rnd', 'order' => 10, 'depend' => array('ai-models', 'ai-testConnection'), 'recommend' => array()); +$config->group->package->manageLLM->privs['ai-testConnection'] = array('edition' => 'open,biz,max', 'vision' => 'rnd', 'order' => 15, 'depend' => array('ai-editModel', 'ai-models'), 'recommend' => array()); + +$config->group->package->browsePrompt = new stdclass(); +$config->group->package->browsePrompt->edition = 'open,biz,max'; +$config->group->package->browsePrompt->vision = 'rnd'; +$config->group->package->browsePrompt->order = 2080; +$config->group->package->browsePrompt->subset = 'ai'; +$config->group->package->browsePrompt->privs = array(); +$config->group->package->browsePrompt->privs['ai-prompts'] = array('edition' => 'open,biz,max', 'vision' => 'rnd', 'order' => 75, 'depend' => array(), 'recommend' => array()); +$config->group->package->browsePrompt->privs['ai-promptView'] = array('edition' => 'open,biz,max', 'vision' => 'rnd', 'order' => 80, 'depend' => array('ai-prompts'), 'recommend' => array()); + +$config->group->package->managePrompt = new stdclass(); +$config->group->package->managePrompt->edition = 'biz,max'; +$config->group->package->managePrompt->vision = 'rnd'; +$config->group->package->managePrompt->order = 2100; +$config->group->package->managePrompt->subset = 'ai'; +$config->group->package->managePrompt->privs = array(); +$config->group->package->managePrompt->privs['ai-createPrompt'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 20, 'depend' => array('ai-prompts', 'ai-promptView'), 'recommend' => array('ai-promptAssignRole', 'ai-promptAudit', 'ai-promptDelete', 'ai-promptEdit', 'ai-promptFinalize', 'ai-promptSelectDataSource', 'ai-promptSetPurpose', 'ai-promptSetTargetForm')); +$config->group->package->managePrompt->privs['ai-promptEdit'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 25, 'depend' => array('ai-createPrompt', 'ai-prompts', 'ai-promptView'), 'recommend' => array()); +$config->group->package->managePrompt->privs['ai-promptAssignRole'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 35, 'depend' => array('ai-createPrompt', 'ai-promptAudit', 'ai-promptExecute', 'ai-promptFinalize', 'ai-prompts', 'ai-promptSelectDataSource', 'ai-promptSetPurpose', 'ai-promptSetTargetForm', 'ai-promptView', 'ai-roleTemplates'), 'recommend' => array()); +$config->group->package->managePrompt->privs['ai-promptSelectDataSource'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 40, 'depend' => array('ai-createPrompt', 'ai-promptAssignRole', 'ai-promptAudit', 'ai-promptExecute', 'ai-promptFinalize', 'ai-prompts', 'ai-promptSetPurpose', 'ai-promptSetTargetForm', 'ai-promptView'), 'recommend' => array()); +$config->group->package->managePrompt->privs['ai-promptSetPurpose'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 45, 'depend' => array('ai-createPrompt', 'ai-promptAssignRole', 'ai-promptAudit', 'ai-promptExecute', 'ai-promptFinalize', 'ai-prompts', 'ai-promptSelectDataSource', 'ai-promptSetTargetForm', 'ai-promptView'), 'recommend' => array()); +$config->group->package->managePrompt->privs['ai-promptSetTargetForm'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 50, 'depend' => array('ai-createPrompt', 'ai-promptAssignRole', 'ai-promptAudit', 'ai-promptExecute', 'ai-promptFinalize', 'ai-prompts', 'ai-promptSelectDataSource', 'ai-promptSetPurpose', 'ai-promptView'), 'recommend' => array()); +$config->group->package->managePrompt->privs['ai-promptFinalize'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 55, 'depend' => array('ai-createPrompt', 'ai-promptAssignRole', 'ai-promptAudit', 'ai-promptExecute', 'ai-prompts', 'ai-promptSelectDataSource', 'ai-promptSetPurpose', 'ai-promptSetTargetForm', 'ai-promptView'), 'recommend' => array()); +$config->group->package->managePrompt->privs['ai-promptAudit'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 60, 'depend' => array('ai-createPrompt', 'ai-promptAssignRole', 'ai-promptExecute', 'ai-promptFinalize', 'ai-prompts', 'ai-promptSelectDataSource', 'ai-promptSetPurpose', 'ai-promptSetTargetForm', 'ai-promptView'), 'recommend' => array()); +$config->group->package->managePrompt->privs['ai-roleTemplates'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 90, 'depend' => array('ai-promptAssignRole'), 'recommend' => array()); + +$config->group->package->publishPrompt = new stdclass(); +$config->group->package->publishPrompt->edition = 'open,biz,max'; +$config->group->package->publishPrompt->vision = 'rnd'; +$config->group->package->publishPrompt->order = 2120; +$config->group->package->publishPrompt->subset = 'ai'; +$config->group->package->publishPrompt->privs = array(); +$config->group->package->publishPrompt->privs['ai-promptPublish'] = array('edition' => 'open,biz,max', 'vision' => 'rnd', 'order' => 65, 'depend' => array('ai-prompts', 'ai-promptView'), 'recommend' => array()); +$config->group->package->publishPrompt->privs['ai-promptUnpublish'] = array('edition' => 'open,biz,max', 'vision' => 'rnd', 'order' => 70, 'depend' => array('ai-prompts', 'ai-promptView'), 'recommend' => array()); + +$config->group->package->deletePrompt = new stdclass(); +$config->group->package->deletePrompt->edition = 'biz,max'; +$config->group->package->deletePrompt->vision = 'rnd'; +$config->group->package->deletePrompt->order = 2140; +$config->group->package->deletePrompt->subset = 'ai'; +$config->group->package->deletePrompt->privs = array(); +$config->group->package->deletePrompt->privs['ai-promptDelete'] = array('edition' => 'biz,max', 'vision' => 'rnd', 'order' => 30, 'depend' => array('ai-prompts', 'ai-promptView'), 'recommend' => array()); + +$config->group->package->dashboard = new stdclass(); +$config->group->package->dashboard->edition = 'open,biz,max,ipd'; +$config->group->package->dashboard->vision = 'rnd'; +$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->edition = 'open,biz,max,ipd'; +$config->group->package->resource->vision = 'rnd'; +$config->group->package->resource->order = 2200; +$config->group->package->resource->subset = 'ops'; + +$config->group->package->manageServiceProvider = new stdclass(); +$config->group->package->manageServiceProvider->edition = 'open,biz,max,ipd'; +$config->group->package->manageServiceProvider->vision = 'rnd'; +$config->group->package->manageServiceProvider->order = 2300; +$config->group->package->manageServiceProvider->subset = 'ops'; +$config->group->package->manageServiceProvider->privs = array(); +$config->group->package->manageServiceProvider->privs['ops-provide'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageCity = new stdclass(); +$config->group->package->manageCity->edition = 'open,biz,max,ipd'; +$config->group->package->manageCity->vision = 'rnd'; +$config->group->package->manageCity->order = 2320; +$config->group->package->manageCity->subset = 'ops'; +$config->group->package->manageCity->privs = array(); +$config->group->package->manageCity->privs['ops-city'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageCPU = new stdclass(); +$config->group->package->manageCPU->edition = 'open,biz,max,ipd'; +$config->group->package->manageCPU->vision = 'rnd'; +$config->group->package->manageCPU->order = 2340; +$config->group->package->manageCPU->subset = 'ops'; +$config->group->package->manageCPU->privs = array(); +$config->group->package->manageCPU->privs['ops-cpubrand'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageOS = new stdclass(); +$config->group->package->manageOS->edition = 'open,biz,max,ipd'; +$config->group->package->manageOS->vision = 'rnd'; +$config->group->package->manageOS->order = 2360; +$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->browseRepo = new stdclass(); +$config->group->package->browseRepo->edition = 'open,biz,max,ipd'; +$config->group->package->browseRepo->vision = 'rnd'; +$config->group->package->browseRepo->order = 2420; +$config->group->package->browseRepo->subset = 'repo'; +$config->group->package->browseRepo->privs = array(); +$config->group->package->browseRepo->privs['repo-maintain'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('repo-browse', 'repo-create', 'repo-edit')); +$config->group->package->browseRepo->privs['repo-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('repo-maintain'), 'recommend' => array('repo-create', 'repo-edit')); + +$config->group->package->manageRepo = new stdclass(); +$config->group->package->manageRepo->edition = 'open,biz,max,ipd'; +$config->group->package->manageRepo->vision = 'rnd'; +$config->group->package->manageRepo->order = 2440; +$config->group->package->manageRepo->subset = 'repo'; +$config->group->package->manageRepo->privs = array(); +$config->group->package->manageRepo->privs['repo-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('repo-maintain'), 'recommend' => array('repo-edit', 'repo-import')); +$config->group->package->manageRepo->privs['repo-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('repo-maintain'), 'recommend' => array('repo-create')); +$config->group->package->manageRepo->privs['repo-apiGetRepoByUrl'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('repo-maintain'), 'recommend' => array()); +$config->group->package->manageRepo->privs['repo-import'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('repo-maintain'), 'recommend' => array('repo-create')); + +$config->group->package->deleteRepo = new stdclass(); +$config->group->package->deleteRepo->edition = 'open,biz,max,ipd'; +$config->group->package->deleteRepo->vision = 'rnd'; +$config->group->package->deleteRepo->order = 2500; +$config->group->package->deleteRepo->subset = 'repo'; +$config->group->package->deleteRepo->privs = array(); +$config->group->package->deleteRepo->privs['repo-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('repo-maintain'), 'recommend' => array('repo-create', 'repo-edit')); + +$config->group->package->browseCode = new stdclass(); +$config->group->package->browseCode->edition = 'open,biz,max,ipd'; +$config->group->package->browseCode->vision = 'rnd'; +$config->group->package->browseCode->order = 2540; +$config->group->package->browseCode->subset = 'repocode'; +$config->group->package->browseCode->privs = array(); +$config->group->package->browseCode->privs['repo-showSyncCommit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 0, 'depend' => array(), 'recommend' => array('repo-blame', 'repo-linkBug', 'repo-linkStory', 'repo-linkTask', 'repo-log', 'repo-revision', 'repo-unlink', 'repo-view')); +$config->group->package->browseCode->privs['repo-view'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array(), 'recommend' => array('repo-blame', 'repo-linkBug', 'repo-linkStory', 'repo-linkTask', 'repo-log', 'repo-revision', 'repo-showSyncCommit', 'repo-unlink')); +$config->group->package->browseCode->privs['repo-log'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('repo-blame', 'repo-linkBug', 'repo-linkStory', 'repo-linkTask', 'repo-revision', 'repo-showSyncCommit', 'repo-unlink', 'repo-view')); +$config->group->package->browseCode->privs['repo-revision'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array('repo-blame', 'repo-linkBug', 'repo-linkStory', 'repo-linkTask', 'repo-log', 'repo-showSyncCommit', 'repo-unlink', 'repo-view')); + +$config->group->package->manageCode = new stdclass(); +$config->group->package->manageCode->edition = 'open,biz,max,ipd'; +$config->group->package->manageCode->vision = 'rnd'; +$config->group->package->manageCode->order = 2560; +$config->group->package->manageCode->subset = 'repocode'; +$config->group->package->manageCode->privs = array(); +$config->group->package->manageCode->privs['repo-diff'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array(), 'recommend' => array('repo-addBug', 'repo-editBug', 'repo-review')); +$config->group->package->manageCode->privs['repo-blame'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array(), 'recommend' => array('repo-linkBug', 'repo-linkStory', 'repo-linkTask', 'repo-log', 'repo-revision', 'repo-showSyncCommit', 'repo-unlink', 'repo-view')); +$config->group->package->manageCode->privs['repo-download'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array('repo-downloadCode')); +$config->group->package->manageCode->privs['repo-downloadCode'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('repo-download')); +$config->group->package->manageCode->privs['repo-linkStory'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array(), 'recommend' => array('repo-blame', 'repo-linkBug', 'repo-linkTask', 'repo-log', 'repo-revision', 'repo-showSyncCommit', 'repo-unlink', 'repo-view')); +$config->group->package->manageCode->privs['repo-linkBug'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array(), 'recommend' => array('repo-blame', 'repo-linkStory', 'repo-linkTask', 'repo-log', 'repo-revision', 'repo-showSyncCommit', 'repo-unlink', 'repo-view')); +$config->group->package->manageCode->privs['repo-linkTask'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array(), 'recommend' => array('repo-blame', 'repo-linkBug', 'repo-linkStory', 'repo-log', 'repo-revision', 'repo-showSyncCommit', 'repo-unlink', 'repo-view')); +$config->group->package->manageCode->privs['repo-unlink'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 40, 'depend' => array(), 'recommend' => array('repo-blame', 'repo-linkBug', 'repo-linkStory', 'repo-linkTask', 'repo-log', 'repo-revision', 'repo-showSyncCommit', 'repo-view')); + +$config->group->package->manageCodeIssue = new stdclass(); +$config->group->package->manageCodeIssue->edition = 'biz,max,ipd'; +$config->group->package->manageCodeIssue->vision = 'rnd'; +$config->group->package->manageCodeIssue->order = 2620; +$config->group->package->manageCodeIssue->subset = 'codereview'; +$config->group->package->manageCodeIssue->privs = array(); +$config->group->package->manageCodeIssue->privs['repo-addBug'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array('repo-diff'), 'recommend' => array('mr-addReview', 'repo-addComment', 'repo-editBug', 'repo-editComment', 'repo-review')); +$config->group->package->manageCodeIssue->privs['repo-editBug'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('repo-diff'), 'recommend' => array('repo-addBug', 'repo-addComment', 'repo-editComment', 'repo-review')); +$config->group->package->manageCodeIssue->privs['repo-addComment'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('repo-diff'), 'recommend' => array('repo-addBug', 'repo-editBug', 'repo-editComment', 'repo-review')); +$config->group->package->manageCodeIssue->privs['repo-editComment'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 25, 'depend' => array('repo-diff'), 'recommend' => array('repo-addBug', 'repo-addComment', 'repo-editBug', 'repo-review')); +$config->group->package->manageCodeIssue->privs['repo-deleteComment'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 35, 'depend' => array('repo-diff'), 'recommend' => array('repo-addBug', 'repo-addComment', 'repo-editBug', 'repo-editComment', 'repo-review')); + +$config->group->package->deleteCodeIssue = new stdclass(); +$config->group->package->deleteCodeIssue->edition = 'biz,max,ipd'; +$config->group->package->deleteCodeIssue->vision = 'rnd'; +$config->group->package->deleteCodeIssue->order = 2640; +$config->group->package->deleteCodeIssue->subset = 'codereview'; +$config->group->package->deleteCodeIssue->privs = array(); +$config->group->package->deleteCodeIssue->privs['repo-deleteBug'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 30, 'depend' => array('repo-diff'), 'recommend' => array('repo-addBug', 'repo-addComment', 'repo-editBug', 'repo-editComment', 'repo-review')); + +$config->group->package->deleteMR = new stdclass(); +$config->group->package->deleteMR->edition = 'open,biz,max,ipd'; +$config->group->package->deleteMR->vision = 'rnd'; +$config->group->package->deleteMR->order = 2680; +$config->group->package->deleteMR->subset = 'mr'; +$config->group->package->deleteMR->privs = array(); +$config->group->package->deleteMR->privs['mr-delete'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 4, 'depend' => array('mr-accept'), 'recommend' => array('mr-create', 'mr-edit')); + +$config->group->package->deleteJob = new stdclass(); +$config->group->package->deleteJob->edition = 'open,biz,max,ipd'; +$config->group->package->deleteJob->vision = 'rnd'; +$config->group->package->deleteJob->order = 2720; +$config->group->package->deleteJob->subset = 'pipeline'; + +$config->group->package->browseArtifactrepo = new stdclass(); +$config->group->package->browseArtifactrepo->edition = 'open,biz,max,ipd'; +$config->group->package->browseArtifactrepo->vision = 'rnd'; +$config->group->package->browseArtifactrepo->order = 2780; +$config->group->package->browseArtifactrepo->subset = 'artifactrepo'; +$config->group->package->browseArtifactrepo->privs = array(); +$config->group->package->browseArtifactrepo->privs['artifactrepo-browse'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->browseArtifactrepo->privs['artifactrepo-ajaxGetArtifactRepos'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); + +$config->group->package->manageArtifactrepo = new stdclass(); +$config->group->package->manageArtifactrepo->edition = 'open,biz,max,ipd'; +$config->group->package->manageArtifactrepo->vision = 'rnd'; +$config->group->package->manageArtifactrepo->order = 2800; +$config->group->package->manageArtifactrepo->subset = 'artifactrepo'; +$config->group->package->manageArtifactrepo->privs = array(); +$config->group->package->manageArtifactrepo->privs['artifactrepo-create'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array()); +$config->group->package->manageArtifactrepo->privs['artifactrepo-edit'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array(), 'recommend' => array()); +$config->group->package->manageArtifactrepo->privs['artifactrepo-ajaxUpdateArtifactRepos'] = array('edition' => 'open,biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array(), 'recommend' => array()); + +$config->group->package->deleteArtifactrepo = new stdclass(); +$config->group->package->deleteArtifactrepo->edition = 'open,biz,max,ipd'; +$config->group->package->deleteArtifactrepo->vision = 'rnd'; +$config->group->package->deleteArtifactrepo->order = 2820; +$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->edition = 'open,biz,max,ipd'; +$config->group->package->application->vision = 'rnd'; +$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->edition = 'open,biz,max,ipd'; +$config->group->package->application->vision = 'rnd'; +$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->trainPracticeLib = new stdclass(); +$config->group->package->trainPracticeLib->edition = 'open,biz,max,ipd'; +$config->group->package->trainPracticeLib->vision = 'rnd'; +$config->group->package->trainPracticeLib->order = 8; +$config->group->package->trainPracticeLib->subset = 'traincourse'; +$config->group->package->trainPracticeLib->privs = array(); +$config->group->package->trainPracticeLib->privs['traincourse-practice'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 5, 'depend' => array(), 'recommend' => array('traincourse-practiceBrowse', 'traincourse-practiceView')); +$config->group->package->trainPracticeLib->privs['traincourse-practiceBrowse'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 10, 'depend' => array('traincourse-practice'), 'recommend' => array('traincourse-practiceView')); +$config->group->package->trainPracticeLib->privs['traincourse-practiceView'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('traincourse-practice', 'traincourse-practiceBrowse'), 'recommend' => array()); +$config->group->package->trainPracticeLib->privs['traincourse-updatePractice'] = array('edition' => 'biz,max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('traincourse-practice', 'traincourse-practiceBrowse'), 'recommend' => array('traincourse-practiceView')); diff --git a/module/group/view/privbygroup.html.php b/module/group/view/privbygroup.html.php index 37ae99bf65..4b24165aca 100644 --- a/module/group/view/privbygroup.html.php +++ b/module/group/view/privbygroup.html.php @@ -50,25 +50,25 @@
name;?> - + {$lang->group->all}", '', "class='btn btn-link $active'")?> mainNav as $module => $title) + foreach($lang->mainNav as $navKey => $title) { if(!is_string($title)) continue; $i++; if($i == $config->group->maxToolBarCount) echo '
' . $lang->group->more . '
'; ?> - + {$lang->group->general}", '', "class='btn btn-link $active'");?>
@@ -92,56 +92,47 @@ - $packages):?> - - - $privs):?> + $subset):?> + allCount == 0) continue;?> + + $package):?> '> - +
- > - $moduleName->common;?> - $moduleName->manage;?> - + selectCount != 0 && $subset->selectCount == $subset->allCount) echo 'checked';?>> + $subsetName->common;?> + $subsetName->manage;?> +
- - text-middle text-left package' data-module='' data-package='' all-privs='' select-privs=''> + text-middle text-left package' data-module='' data-package='' all-privs='allCount;?>' select-privs='selectCount;?>'>
- > - + allCount == $package->selectCount) echo 'checked';?>> +
- $moduleName->menus)):?> + $subsetName->menus)):?> $moduleName->menus); - $menusSelect = count(array_intersect(array_keys($lang->$moduleName->menus), array_keys(zget($groupPrivs, $moduleName, array())))); + $menusPrivs = count($lang->$subsetName->menus); + $menusSelect = count(array_intersect(array_keys($lang->$subsetName->menus), array_keys(zget($groupPrivs, $subsetName, array())))); ?> - +
- > - + > +
- $moduleName->menus, isset($groupPrivs[$moduleName]) ? $groupPrivs[$moduleName] : array());?> + $subsetName->menus, isset($groupPrivs[$subsetName]) ? $groupPrivs[$subsetName] : array());?> - - $priv):?> - $moduleName->menus) and ($priv->method == 'browse' or in_array($priv->method, array_keys($lang->$moduleName->menus)))) continue;?> -
'> + + privs as $privCode => $priv):?> + $subsetName->menus) and ($priv->method == 'browse' or in_array($priv->method, array_keys($lang->$subsetName->menus)))) continue;?> +
- module]", array($priv->method => $priv->name), isset($groupPrivs[$priv->module][$priv->method]) ? $priv->method : '', "title='{$priv->name}' id='actions[$priv->module]$priv->method' data-id='$priv->action'");?> + module]", array($priv->method => $priv->name), isset($groupPrivs[$priv->module][$priv->method]) ? $priv->method : '', "title='{$priv->name}' id='actions[$priv->module]$priv->method' data-id='$privCode'");?>
@@ -199,7 +190,7 @@ - +