* Fix bug of editmanageprivbylist.

This commit is contained in:
liumengyi
2023-03-10 03:14:44 +00:00
parent 640ec334bb
commit 4d21e6e644
3 changed files with 30 additions and 7 deletions
+3 -5
View File
@@ -432,11 +432,9 @@ class group extends control
$actionURL = $this->createLink('group', 'editManagePriv', "browseType=bysearch&view=&paramID=myQueryID&recTotal=$recTotal&recPerPage=$recPerPage");
$this->group->buildPrivSearchForm($queryID, $actionURL);
$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']);
$privRelations = $this->group->getPrivRelationsByIdList(array_keys($privList));
if(!isset($privRelations['recommend'])) $privRelations['recommend'] = array();
if(!isset($privRelations['dependent'])) $privRelations['dependent'] = array();
$this->view->pager = $pager;
$this->view->privRelations = $privRelations;
+25
View File
@@ -1243,6 +1243,31 @@ class groupModel extends model
->fetchPairs();
}
/**
* Get priv relation.
*
* @param array $privs
* @access public
* @return array
*/
public function getPrivRelationsByIdList($privs, $type = '')
{
$privs = $this->dao->select('t1.priv,t3.name,t1.type,t1.relationPriv')->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($privs)
->beginIF(!empty($type))->andWhere('t1.type')->eq($type)->fi()
->fetchGroup('type');
$relationPrivs = array();
foreach($privs as $type => $typePrivs)
{
$relationPrivs[$type] = array();
foreach($typePrivs as $priv) $relationPrivs[$type][$priv->priv] = empty($relationPrivs[$type][$priv->priv]) ? $priv->name : "{$relationPrivs[$type][$priv->priv]},{$priv->name}";
}
return $relationPrivs;
}
/**
* Save relation.
*
@@ -44,8 +44,8 @@ $lang->privp->p2 = '推荐权限';
<td title='<?php echo isset($lang->{$view}->common) ? $lang->{$view}->common : $view;?>'><?php echo isset($lang->{$view}->common) ? $lang->{$view}->common : $view;?></td>
<td title='<?php echo isset($moduleLang[$priv->module]) ? $moduleLang[$priv->module] : $priv->module;?>'><?php echo isset($moduleLang[$priv->module]) ? $moduleLang[$priv->module] : $priv->module;?></td>
<td title='<?php echo zget($packages, $priv->package, '');?>'><?php echo zget($packages, $priv->package, '');?></td>
<td title='<?php echo zget($privRelations['recommend'], $priv->id);?>'><?php echo zget($privRelations['recommend'], $priv->id);?></td>
<td title='<?php echo zget($privRelations['dependent'], $priv->id);?>'><?php echo zget($privRelations['dependent'], $priv->id);?></td>
<td title='<?php echo zget($privRelations['recommend'], $priv->id, '');?>'><?php echo zget($privRelations['recommend'], $priv->id, '');?></td>
<td title='<?php echo zget($privRelations['dependent'], $priv->id, '');?>'><?php echo zget($privRelations['dependent'], $priv->id, '');?></td>
<td title='<?php echo $priv->desc;?>'><?php echo $priv->desc;?></td>
<td class='c-actions'><?php if(common::hasPriv('group', 'editPriv')) common::printIcon('group', 'editPriv', "privID=$priv->id", '', 'list', 'edit', '', 'iframe', true);?></td>
</tr>