* Finish task #86270.
This commit is contained in:
@@ -583,4 +583,42 @@ class group extends control
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
*
|
||||
* edit priv
|
||||
* @param int $privID
|
||||
* @access public
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
**/
|
||||
public function editPriv($privID)
|
||||
{
|
||||
$privID = intval($privID);
|
||||
$currentLang = $this->app->clientLang ? : 'zh-cn';
|
||||
$priv = $this->group->getPrivInfo($privID,$currentLang);
|
||||
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$responseResult = "success";
|
||||
$responseMeessage = $this->lang->saveSuccess;
|
||||
$locate = "parent";
|
||||
$this->group->updatePrivLang($privID,$currentLang);
|
||||
if(dao::isError())
|
||||
{
|
||||
$responseResult = "fail";
|
||||
$responseMessage = dao::getError();
|
||||
$locate = "";
|
||||
}
|
||||
$this->send(array('result'=>$responseResult,'message'=>$responseMessage,'locate'=>$locate));
|
||||
}
|
||||
|
||||
$this->view->modulePackage = $this->group->getModuleAndPackageTree();
|
||||
|
||||
//if($priv)
|
||||
{
|
||||
$this->view->priv = $priv;
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
#editPriv .c-name {width: 135px;}
|
||||
@@ -51,6 +51,9 @@ $lang->group->noGroup = 'No group';
|
||||
$lang->group->repeat = "『%s』『%s』exists.Please adjust it and try again.";
|
||||
$lang->group->noneProject = 'No Project';
|
||||
$lang->group->addPriv = 'Add Priv';
|
||||
$lang->group->editPriv = 'Edit Priv';
|
||||
$lang->group->privName = 'Priv Name';
|
||||
$lang->group->privDesc = 'Priv Desc';
|
||||
$lang->group->add = 'Add';
|
||||
$lang->group->batchSetDependency = 'Batch Set Dependency';
|
||||
$lang->group->managePrivPackage = 'Manage Priv Package';
|
||||
@@ -85,6 +88,7 @@ $lang->privPackage->id = 'ID';
|
||||
$lang->privPackage->name = 'Priv Package Name';
|
||||
$lang->privPackage->module = 'Module';
|
||||
$lang->privPackage->desc = 'Priv Package Desc';
|
||||
$lang->privpackage->belong = 'Priv Package';
|
||||
|
||||
$lang->group->copyOptions['copyPriv'] = 'Rechte kopieren';
|
||||
$lang->group->copyOptions['copyUser'] = 'Benutzer kopieren';
|
||||
|
||||
@@ -51,6 +51,9 @@ $lang->group->noGroup = 'No group';
|
||||
$lang->group->repeat = "『%s』『%s』exists.Please adjust it and try again.";
|
||||
$lang->group->noneProject = 'No Project';
|
||||
$lang->group->addPriv = 'Add Priv';
|
||||
$lang->group->editPriv = 'Edit Priv';
|
||||
$lang->group->privName = 'Priv Name';
|
||||
$lang->group->privDesc = 'Priv Desc';
|
||||
$lang->group->add = 'Add';
|
||||
$lang->group->batchSetDependency = 'Batch Set Dependency';
|
||||
$lang->group->managePrivPackage = 'Manage Priv Package';
|
||||
@@ -79,12 +82,13 @@ $lang->group->other = 'Others';
|
||||
$lang->group->all = 'All Privileges';
|
||||
$lang->group->config = 'Config';
|
||||
|
||||
if(!isset($lang->privPackage)) $lang->privPackage = new stdclass();
|
||||
if(!isset($lang->privpackage)) $lang->privpackage = new stdclass();
|
||||
$lang->privpackage->common = 'Priv Package';
|
||||
$lang->privPackage->id = 'ID';
|
||||
$lang->privPackage->name = 'Priv Package Name';
|
||||
$lang->privPackage->module = 'Module';
|
||||
$lang->privPackage->desc = 'Priv Package Desc';
|
||||
$lang->privpackage->id = 'ID';
|
||||
$lang->privpackage->name = 'Priv Package Name';
|
||||
$lang->privpackage->module = 'Module';
|
||||
$lang->privpackage->desc = 'Priv Package Desc';
|
||||
$lang->privpackage->belong = 'Priv Package';
|
||||
|
||||
$lang->group->copyOptions['copyPriv'] = 'Copy Privileges';
|
||||
$lang->group->copyOptions['copyUser'] = 'Copy Users';
|
||||
|
||||
@@ -51,6 +51,9 @@ $lang->group->noGroup = 'Aucun groupe';
|
||||
$lang->group->repeat = "『%s』『%s』exists.Please adjust it and try again.";
|
||||
$lang->group->noneProject = 'No Project';
|
||||
$lang->group->addPriv = 'Add Priv';
|
||||
$lang->group->editPriv = 'Edit Priv';
|
||||
$lang->group->privName = 'Priv Name';
|
||||
$lang->group->privDesc = 'Priv Desc';
|
||||
$lang->group->add = 'Add';
|
||||
$lang->group->batchSetDependency = 'Batch Set Dependency';
|
||||
$lang->group->managePrivPackage = 'Manage Priv Package';
|
||||
@@ -79,12 +82,13 @@ $lang->group->other = 'Autres';
|
||||
$lang->group->all = 'Tous les Privilèges';
|
||||
$lang->group->config = 'Config';
|
||||
|
||||
if(!isset($lang->privPackage)) $lang->privPackage = new stdclass();
|
||||
if(!isset($lang->privpackage)) $lang->privpackage = new stdclass();
|
||||
$lang->privpackage->common = 'Priv Package';
|
||||
$lang->privPackage->id = 'ID';
|
||||
$lang->privPackage->name = 'Priv Package Name';
|
||||
$lang->privPackage->module = 'Module';
|
||||
$lang->privPackage->desc = 'Priv Package Desc';
|
||||
$lang->privpackage->id = 'ID';
|
||||
$lang->privpackage->name = 'Priv Package Name';
|
||||
$lang->privpackage->module = 'Module';
|
||||
$lang->privpackage->desc = 'Priv Package Desc';
|
||||
$lang->privpackage->belong = 'Priv Package';
|
||||
|
||||
$lang->group->copyOptions['copyPriv'] = 'Copier Privilèges';
|
||||
$lang->group->copyOptions['copyUser'] = 'Copier Utilisateurs';
|
||||
|
||||
@@ -51,6 +51,9 @@ $lang->group->noGroup = '暂时没有分组。';
|
||||
$lang->group->repeat = "『%s』已经有『%s』这条记录了,请调整后再试。";
|
||||
$lang->group->noneProject = '暂时没有项目';
|
||||
$lang->group->addPriv = '新增权限';
|
||||
$lang->group->editPriv = '编辑权限';
|
||||
$lang->group->privName = '权限名称';
|
||||
$lang->group->privDesc = '描述';
|
||||
$lang->group->add = '添加';
|
||||
$lang->group->batchSetDependency = '批量设置依赖';
|
||||
$lang->group->managePrivPackage = '维护权限包';
|
||||
@@ -85,7 +88,7 @@ $lang->privpackage->id = '编号';
|
||||
$lang->privpackage->name = '权限包名称';
|
||||
$lang->privpackage->module = '所属模块';
|
||||
$lang->privpackage->desc = '权限包说明';
|
||||
|
||||
$lang->privpackage->belong = '所属权限包';
|
||||
$lang->group->copyOptions['copyPriv'] = '复制权限';
|
||||
$lang->group->copyOptions['copyUser'] = '复制用户';
|
||||
|
||||
|
||||
@@ -1149,6 +1149,96 @@ class groupModel extends model
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* get a priv
|
||||
*
|
||||
* @param int $privID
|
||||
* @return object
|
||||
*
|
||||
**/
|
||||
public function getPrivInfo($priv,$lang)
|
||||
{
|
||||
$privInfo = $this->dao->select("t1.priv,t1.name,t1.desc,t2.module,t2.package")->from(TABLE_PRIVLANG . ' t1')
|
||||
->leftJoin(TABLE_PRIV . ' t2')
|
||||
->on("t1.priv = t2.id")
|
||||
->where('t1.priv')
|
||||
->eq($priv)
|
||||
->andWHere('t1.lang')
|
||||
->eq($lang)
|
||||
->fetch();
|
||||
if($privInfo)
|
||||
{
|
||||
$privInfo->module = $privInfo->package ? $privInfo->module . ',' . $privInfo->package : $privInfo->module;
|
||||
}
|
||||
return $privInfo;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* get a prvi package tree
|
||||
*
|
||||
* @param void
|
||||
* @return array
|
||||
*
|
||||
**/
|
||||
public function getModuleAndPackageTree()
|
||||
{
|
||||
|
||||
$this->loadModel('setting');
|
||||
|
||||
$views = empty($viewName) ? $this->setting->getItem("owner=system&module=priv&key=views") : $viewName;
|
||||
if(empty($views)) return array();
|
||||
$views = explode(',', $views);
|
||||
|
||||
$tree = [];
|
||||
foreach($views as $viewIndex => $view)
|
||||
{
|
||||
$viewModules = $this->setting->getItem("owner=system&module=priv&key={$view}Modules");
|
||||
if(empty($viewModules)) continue;
|
||||
|
||||
$viewModules = explode(',', $viewModules);
|
||||
foreach($viewModules as $moduleIndex => $module)
|
||||
{
|
||||
$this->app->loadLang($module);
|
||||
|
||||
$tree[$module] = $this->lang->{$module}->common;;
|
||||
$packages = $this->getPrivPackagesByModule($module);
|
||||
foreach($packages as $packageID => $package)
|
||||
{
|
||||
$tree[$module. ',' . $packageID] = $this->lang->{$module}->common .'/'. $package->name;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $tree;
|
||||
|
||||
}
|
||||
/**
|
||||
*
|
||||
* update a Priv Info
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*
|
||||
**/
|
||||
public function updatePrivLang($privID,$lang)
|
||||
{
|
||||
$data = fixer::input('post')->remove('module')->get();
|
||||
$this->dao->update(TABLE_PRIVLANG)->data($data)->where('priv')->eq($privID)->andWhere('lang')->eq($lang)->exec();
|
||||
|
||||
$data = fixer::input('post')->remove('name,desc')->get();
|
||||
if($data->module)
|
||||
{
|
||||
$update = [];
|
||||
$module = explode(",",$data->module);
|
||||
$update['module'] = $module[0];
|
||||
$update['package'] = 0;
|
||||
if(count($module) > 1) $update['package'] = $module[1];
|
||||
$this->dao->update(TABLE_PRIV)->data($update)->where('id')->eq($privID)->exec();
|
||||
}
|
||||
}
|
||||
|
||||
public function buildPrivSearchForm($queryID, $actionURL)
|
||||
{
|
||||
$this->config->group->priv->search['actionURL'] = $actionURL;
|
||||
@@ -1157,3 +1247,4 @@ class groupModel extends model
|
||||
$this->loadModel('search')->setSearchParams($this->config->group->priv->search);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/**
|
||||
* The createPrivPackage view file of group module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.cnezsoft.com)
|
||||
* @license ZPL(http://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
|
||||
* @author Ethan wang <wangxuepeng@easycorp.ltd>
|
||||
* @package group
|
||||
* @version $Id: editPriv.html.php 4769 2023-03-0 10:09:21Z ethan.wang $
|
||||
* @link https://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->group->editPriv;?></h2>
|
||||
</div>
|
||||
<form method='post' class='form-ajax' id='editPriv'>
|
||||
<table align='center' class='table table-form'>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class='c-name'><?php echo $lang->group->privName;?></th>
|
||||
<td class='required'><?php echo html::input('name', $priv->name, "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->privpackage->belong;?></th>
|
||||
<td class='required'><?php echo html::select('module', $modulePackage, $priv->module, "class='form-control picker-select'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->group->privDesc;?></th>
|
||||
<td><?php echo html::textarea('desc', $priv->desc, "rows=5 class=form-control");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='text-center'><?php echo html::submitButton();?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
Reference in New Issue
Block a user