diff --git a/module/group/control.php b/module/group/control.php index 35247b81f1..9217624529 100644 --- a/module/group/control.php +++ b/module/group/control.php @@ -431,7 +431,15 @@ class group extends control $queryID = ($browseType == 'bysearch') ? (int)$paramID : 0; $actionURL = $this->createLink('group', 'editManagePriv', "browseType=bysearch&view=¶mID=myQueryID&recTotal=$recTotal&recPerPage=$recPerPage"); $this->group->buildPrivSearchForm($queryID, $actionURL); - $this->view->pager = $pager; + + $privRelations = array(); + $privRelations['recommend'] = $this->group->getPrivRelationPairs(array_keys($privList), 'recommend'); + $privRelations['recommend'] = implode(',', $privRelations['recommend']); + $privRelations['dependent'] = $this->group->getPrivRelationPairs(array_keys($privList), 'dependent'); + $privRelations['dependent'] = implode(',', $privRelations['dependent']); + + $this->view->pager = $pager; + $this->view->privRelations = $privRelations; } $this->view->title = $this->lang->group->editManagePriv; diff --git a/module/group/css/editmanagepriv.css b/module/group/css/editmanagepriv.css index dde445eb68..3175eaf6e4 100644 --- a/module/group/css/editmanagepriv.css +++ b/module/group/css/editmanagepriv.css @@ -22,7 +22,8 @@ .tree ul > li {display: inline-block; width: 50%;} .priv-item > .icon {padding-left: 5px;} +#privList .c-name {min-width: 100px;} #privList .c-view, #privList .c-module, #privList .c-package {width: 100px;} -#privList .c-privs {width: 180px;} +#privList .c-privs {min-width: 180px;} #privList .c-actions {width: 50px;} #privList tbody tr td {overflow: hidden; white-space: nowrap;} diff --git a/module/group/lang/de.php b/module/group/lang/de.php index 1713434128..3e88cff8d3 100644 --- a/module/group/lang/de.php +++ b/module/group/lang/de.php @@ -64,6 +64,8 @@ $lang->group->sortPrivPackages = 'Sort Priv Package'; $lang->group->addRecommendation = 'Add Recommendation'; $lang->group->selectedPrivs = 'Selected Privilege: %s'; $lang->group->selectModule = 'Select Module'; +$lang->group->recommendPrivs = 'Recommended Privs'; +$lang->group->DependentPrivs = 'Dependented Privs'; $lang->group->id = 'ID'; $lang->group->name = 'Name'; diff --git a/module/group/lang/en.php b/module/group/lang/en.php index a17a3f4c0f..3d89cd4056 100644 --- a/module/group/lang/en.php +++ b/module/group/lang/en.php @@ -64,6 +64,8 @@ $lang->group->sortPrivPackages = 'Sort Priv Package'; $lang->group->addRecommendation = 'Add Recommendation'; $lang->group->selectedPrivs = 'Selected Privilege: %s'; $lang->group->selectModule = 'Select Module'; +$lang->group->recommendPrivs = 'Recommended Privs'; +$lang->group->DependentPrivs = 'Dependented Privs'; $lang->group->id = 'ID'; $lang->group->name = 'Group'; diff --git a/module/group/lang/fr.php b/module/group/lang/fr.php index 7eeee24575..f39541c308 100644 --- a/module/group/lang/fr.php +++ b/module/group/lang/fr.php @@ -64,6 +64,8 @@ $lang->group->sortPrivPackages = 'Sort Priv Package'; $lang->group->addRecommendation = 'Add Recommendation'; $lang->group->selectedPrivs = 'Selected Privilege: %s'; $lang->group->selectModule = 'Select Module'; +$lang->group->recommendPrivs = 'Recommended Privs'; +$lang->group->DependentPrivs = 'Dependented Privs'; $lang->group->id = 'ID'; $lang->group->name = 'Groupe'; diff --git a/module/group/lang/zh-cn.php b/module/group/lang/zh-cn.php index 3c665cad5e..800c387e2c 100644 --- a/module/group/lang/zh-cn.php +++ b/module/group/lang/zh-cn.php @@ -64,6 +64,8 @@ $lang->group->sortPrivPackages = '权限包排序'; $lang->group->addRecommendation = '添加推荐'; $lang->group->selectedPrivs = '选中权限:%s'; $lang->group->selectModule = '选择模块'; +$lang->group->recommendPrivs = '依赖权限'; +$lang->group->DependentPrivs = '推荐权限'; $lang->group->id = '编号'; $lang->group->name = '分组名称'; diff --git a/module/group/model.php b/module/group/model.php index dc698baf9c..e914c3f178 100644 --- a/module/group/model.php +++ b/module/group/model.php @@ -1178,6 +1178,26 @@ class groupModel extends model ->fetchAll('id'); } + /** + * Get priv relation. + * + * @param int $priv + * @param string $type + * @param string $module + * @access public + * @return array + */ + public function getPrivRelationPairs($priv, $type = '', $module = '') + { + return $this->dao->select('t2.id,t3.name')->from(TABLE_PRIVRELATION)->alias('t1') + ->leftJoin(TABLE_PRIV)->alias('t2')->on('t1.relationPriv=t2.id') + ->leftJoin(TABLE_PRIVLANG)->alias('t3')->on('t2.id=t3.priv') + ->where('t1.priv')->in($priv) + ->beginIF(!empty($type))->andWhere('t1.type')->eq($type)->fi() + ->beginIF($module)->andWhere('t2.module')->eq($module)->fi() + ->fetchPairs(); + } + /** * Save relation. * diff --git a/module/group/view/editmanageprivbylist.html.php b/module/group/view/editmanageprivbylist.html.php index 59ced2e61e..8431292ee8 100644 --- a/module/group/view/editmanageprivbylist.html.php +++ b/module/group/view/editmanageprivbylist.html.php @@ -25,6 +25,7 @@ $lang->privp->p2 = '推荐权限';