Merge branch 'zentaopms_295' of https://gitlab.zcorp.cc/easycorp/zentaopms into zentaopms_295

This commit is contained in:
wangyidong
2023-03-08 16:55:43 +08:00
17 changed files with 346 additions and 47 deletions
+4
View File
@@ -73,6 +73,7 @@ $filter->tree = new stdclass();
$filter->productplan = new stdclass();
$filter->projectplan = new stdclass();
$filter->kanban = new stdclass();
$filter->group = new stdclass();
$filter->index->index = new stdclass();
$filter->block->default = new stdclass();
@@ -180,6 +181,7 @@ $filter->projectplan->browse = new stdclass();
$filter->kanban->space = new stdclass();
$filter->execution->kanban = new stdclass();
$filter->execution->all = new stdclass();
$filter->group->editmanagepriv = new stdclass();
$filter->index->index->get['open'] = 'reg::base64';
@@ -451,3 +453,5 @@ $filter->tree->browse->cookie['preProductID'] = 'int';
$filter->tree->browse->cookie['preBranch'] = 'reg::word';
$filter->kanban->space->cookie['showClosed'] = 'code';
$filter->group->editmanagepriv->cookie['managePrivEditType'] = 'string';
+34 -10
View File
@@ -382,14 +382,15 @@ class group extends control
}
/**
* edit permission.
* edit manage priv.
*
* @access public
* @return void
*/
public function permissionedit()
public function editManagePriv()
{
$this->view->title = $this->lang->group->permissionedit;
$this->view->title = $this->lang->group->editManagePriv;
$this->view->editType = $this->cookie->managePrivEditType ? $this->cookie->managePrivEditType : 'bycard';
$this->display();
}
@@ -401,7 +402,8 @@ class group extends control
*/
public function managePrivPackage()
{
$this->view->title = $this->lang->group->managePrivPackage;
$this->view->title = $this->lang->group->managePrivPackage;
$this->view->packagesTreeList = $this->group->getPrivPackageTreeList();
$this->display();
}
@@ -421,7 +423,7 @@ class group extends control
}
$this->view->title = $this->lang->group->createPrivPackage;
$this->view->modules = array(0,1);
$this->view->modules = $this->group->getPrivModules();
$this->display();
}
@@ -447,12 +449,34 @@ class group extends control
$this->view->title = $this->lang->group->editPrivPackage;
$this->view->privPackage = $this->group->getPrivPackageByID($privPackageID);
$this->view->modules = array(0,1);
$this->view->modules = $this->group->getPrivModules();
$this->view->actions = $this->loadModel('action')->getList('privpackage', $privPackageID);
$this->view->users = $this->loadModel('user')->getPairs();
$this->display();
}
/**
* Delete a priv package.
*
* @param int $privPackageID
* @access public
* @return void
*/
public function deletePrivPackage($privPackageID, $confirm = 'no')
{
if($confirm == 'no')
{
return print(js::confirm($this->lang->group->confirmDeleteAB, $this->createLink('group', 'deletePrivPackage', "privPackageID=$privPackageID&confirm=yes")));
}
else
{
$this->group->deletePrivPackage($privPackageID);
if(!dao::isError()) $this->loadModel('action')->create('privpackage', $privPackageID, 'deleted');
return print(js::reload('parent'));
}
}
/**
* Add recommendation.
*
@@ -496,10 +520,10 @@ class group extends control
$tree .= "<ul class='relationBox'>";
foreach($modulePrivs[$module] as $id => $modulePriv)
{
if($privID == $id) continue;
$tree .= '<li>';
$tree .= html::checkbox('relation', array($id => $modulePriv->name), (empty($recommends) or isset($recommends[$id])) ? $id : '');
$tree .= '</li>';
if($privID == $id) continue;
$tree .= '<li>';
$tree .= html::checkbox('relation', array($id => $modulePriv->name), (empty($recommends) or isset($recommends[$id])) ? $id : '');
$tree .= '</li>';
}
$tree .= '</ul></li>';
return print($tree);
@@ -1,14 +1,23 @@
.mt-m {margin-top: 16px;}
.flex-space-center {display: flex; justify-content: space-between; align-items: center;}
#mainContent {display: flex; gap: 16px;}
#mainContent {display: flex; gap: 16px; height: calc(100vh - 120px)}
#mainContent > .main {flex: 1 1 75%;}
#mainContent > .side {flex: 1 1 25%;}
.priv-panel {background: #fff; padding: 10px; box-shadow: 0 1px 1px rgb(0 0 0 / 5%), 0 2px 6px 0 rgb(0 0 0 / 5%);}
.priv-panel > .panel-content {height: calc(50vh - 165px); overflow-y: auto; min-height: 140px;}
.priv-panel > .panel-content {height: calc(50vh - 160px); overflow-y: auto; min-height: 140px;}
.priv-panel > .panel-bottom {padding-top: 20px;}
/* permission-table */
/* .permission-head {padding-right: 20px;}*/
#permissionEditForm tr {display: flex;}
#permissionEditForm {overflow-y: auto; height: calc(100vh - 180px)}
.flex-sm {flex: 1 1 15%;}
.flex-content {flex: 1 1 70%;}
.sorter-group {display: flex; flex-wrap: wrap;}
.sorter-group > .group-item {flex: 1 1 25%;}
/* tree */
.tree ul > li {display: inline-block; width: 50%;}
.priv-item > .icon {padding-left: 5px;}
+4
View File
@@ -0,0 +1,4 @@
.has-prefix {position: relative; display: flex; align-items: center;}
.c-name {min-width: 200px;}
.c-desc {min-width: 200px;}
.c-order {width: 50px;}
@@ -63,4 +63,12 @@ $(function()
initRecomendTree(data);
initDependTree(data);
$('li.has-list > ul').addClass("menu-active-primary menu-hover-primary");
$('.sorter-group').sortable();
$('.btn-switch').on('click', function()
{
$.cookie('managePrivEditType', $(this).data('type'), {expires: config.cookieLife, path: config.webRoot});
location.href = location.href;
});
});
+3 -1
View File
@@ -23,8 +23,9 @@ $lang->group->byModuleTips = '<span class="tips">(SHIFT/STRG für Multi-Se
$lang->group->allTips = 'After checking this option, the administrator can manage all objects in the system, including objects created later.';
$lang->group->manageMember = 'Mitglieder';
$lang->group->manageProjectAdmin = 'Manage Program Admins';
$lang->group->permissionedit = 'Permission Edit';
$lang->group->editManagePriv = 'Permission Edit';
$lang->group->confirmDelete = "Do you want to delete '%s'?";
$lang->group->confirmDeleteAB = 'Do you want to delete this?';
$lang->group->successSaved = 'Gespeichert!';
$lang->group->errorNotSaved = 'Fehlgeschlagen. Bitte aktion und Gruppe wählen.';
$lang->group->viewList = 'Anzeige ist zulässig.';
@@ -78,6 +79,7 @@ $lang->group->all = 'Alle';
$lang->group->config = 'Config';
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';
+3 -1
View File
@@ -23,8 +23,9 @@ $lang->group->byModuleTips = '<span class="tips">(Press Shift/Ctrl to Mult
$lang->group->allTips = 'After checking this option, the administrator can manage all objects in the system, including objects created later.';
$lang->group->manageMember = 'Manage Members';
$lang->group->manageProjectAdmin = 'Manage Program Admins';
$lang->group->permissionedit = 'Permission Edit';
$lang->group->editManagePriv = 'Permission Edit';
$lang->group->confirmDelete = "Do you want to delete '%s'?";
$lang->group->confirmDeleteAB = 'Do you want to delete this?';
$lang->group->successSaved = 'Saved.';
$lang->group->errorNotSaved = 'Failed. Please select actions and groups.';
$lang->group->viewList = 'Access Sight';
@@ -78,6 +79,7 @@ $lang->group->all = 'All Privileges';
$lang->group->config = 'Config';
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';
+3 -1
View File
@@ -23,8 +23,9 @@ $lang->group->byModuleTips = '<span class="tips">(Shift/Ctrl pour sélecti
$lang->group->allTips = 'After checking this option, the administrator can manage all objects in the system, including objects created later.';
$lang->group->manageMember = 'Gérer Membres';
$lang->group->manageProjectAdmin = 'Manage Program Admins';
$lang->group->permissionedit = 'Permission Edit';
$lang->group->editManagePriv = 'Permission Edit';
$lang->group->confirmDelete = "Voulez - vous supprimer '%s'?";
$lang->group->confirmDeleteAB = 'Do you want to delete this?';
$lang->group->successSaved = 'Sauvé.';
$lang->group->errorNotSaved = 'Echec. Veuillez sélectionner actions et groupes.';
$lang->group->viewList = 'Accès Consultation';
@@ -78,6 +79,7 @@ $lang->group->all = 'Tous les Privilèges';
$lang->group->config = 'Config';
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';
+2 -2
View File
@@ -1693,7 +1693,7 @@ $lang->resource->group->manageView = 'manageView';
$lang->resource->group->managePriv = 'managePriv';
$lang->resource->group->manageMember = 'manageMember';
$lang->resource->group->manageProjectAdmin = 'manageProjectAdmin';
$lang->resource->group->permissionedit = 'permissionedit';
$lang->resource->group->editManagePriv = 'editManagePriv';
$lang->resource->group->managePrivPackage = 'managePrivPackage';
$lang->resource->group->createPrivPackage = 'createPrivPackage';
$lang->resource->group->editPrivPackage = 'editPrivPackage';
@@ -1707,7 +1707,7 @@ $lang->group->methodOrder[25] = 'delete';
$lang->group->methodOrder[30] = 'managePriv';
$lang->group->methodOrder[35] = 'manageMember';
$lang->group->methodOrder[40] = 'manageProjectAdmin';
$lang->group->methodOrder[45] = 'permissionedit';
$lang->group->methodOrder[45] = 'editManagePriv';
/* User. */
$lang->resource->user = new stdclass();
+1 -1
View File
@@ -22,7 +22,7 @@ $lang->group->managePrivByModule = 'Quản lý Privileges by Module';
$lang->group->byModuleTips = '<span class="tips">(Press Shift/Ctrl to Multi-select)</span>';
$lang->group->manageMember = 'Quản lý Members';
$lang->group->manageProjectAdmin = 'Manage Program Admins';
$lang->group->permissionedit = 'Permission Edit';
$lang->group->editManagePriv = 'Permission Edit';
$lang->group->confirmDelete = 'Bạn có muốn xóa người dùng này group?';
$lang->group->successSaved = 'Đã lưu.';
$lang->group->errorNotSaved = 'Thất bại. Vui lòng select actions and groups.';
+3 -1
View File
@@ -23,8 +23,9 @@ $lang->group->byModuleTips = '<span class="tips">(可以按住Shift或
$lang->group->allTips = '勾选此项后,管理员可管理系统中所有对象,包括后续创建的对象。';
$lang->group->manageMember = '成员维护';
$lang->group->manageProjectAdmin = '维护项目管理员';
$lang->group->permissionedit = '维护权限';
$lang->group->editManagePriv = '维护权限';
$lang->group->confirmDelete = '您确定删除“%s”用户分组吗?';
$lang->group->confirmDeleteAB = '您确定删除吗?';
$lang->group->successSaved = '成功保存';
$lang->group->errorNotSaved = '没有保存,请确认选择了权限数据。';
$lang->group->viewList = '可访问视图';
@@ -78,6 +79,7 @@ $lang->group->all = '所有权限';
$lang->group->config = '配置';
if(!isset($lang->privpackage)) $lang->privpackage = new stdclass();
$lang->privpackage->common = '权限包';
$lang->privpackage->id = '编号';
$lang->privpackage->name = '权限包名称';
$lang->privpackage->module = '所属模块';
+141 -11
View File
@@ -774,6 +774,11 @@ class groupModel extends model
public function createPrivPackage()
{
$package = fixer::input('post')->get();
if(isset($package->module))
{
$packages = $this->getPrivPackagesByModule($package->module);
$package->order = (count($packages) + 1) * 5;
}
$this->dao->insert(TABLE_PRIVPACKAGE)->data($package)->batchCheck($this->config->privPackage->create->requiredFields, 'notempty')->exec();
$packageID = $this->dao->lastInsertId();
$this->loadModel('action')->create('privpackage', $packageID, 'Opened');
@@ -792,6 +797,11 @@ class groupModel extends model
$oldPackage = $this->getPrivPackageByID($packageID);
$package = fixer::input('post')->get();
if($oldPackage->module != $package->module)
{
$packages = $this->getPrivPackagesByModule($package->module);
$package->order = (count($packages) + 1) * 5;
}
$this->dao->update(TABLE_PRIVPACKAGE)->data($package)->batchCheck($this->config->privPackage->update->requiredFields, 'notempty')->where('id')->eq($packageID)->exec();
if(dao::isError()) return false;
@@ -801,8 +811,15 @@ class groupModel extends model
return $changes;
}
public function deletePrivPackage($packageID)
{
$this->dao->delete()->from(TABLE_PRIVPACKAGE)->where('id')->eq($packageID)->exec();
if(dao::isError()) return false;
$this->dao->update(TABLE_PRIV)->set('package')->eq(0)->where('package')->eq($packageID)->exec();
}
/**
* Ge priv package by ID.
* Get priv package by ID.
*
* @param int $packageID
* @access public
@@ -813,6 +830,115 @@ class groupModel extends model
return $this->dao->findById($packageID)->from(TABLE_PRIVPACKAGE)->fetch();
}
/**
* Get priv packages by module.
*
* @param string $module
* @access public
* @return void
*/
public function getPrivPackagesByModule($module)
{
return $this->dao->select('*')->from(TABLE_PRIVPACKAGE)->where('module')->eq($module)->fetchAll('id');
}
/**
* Get priv modules.
*
* @param string $viewName
* @access public
* @return array
*/
public function getPrivModules($viewName = '')
{
$this->loadModel('setting');
$tree = array();
$views = empty($viewName) ? $this->setting->getItem("owner=system&module=priv&key=views") : $viewName;
$views = explode(',', $views);
$modules = array();
foreach($views as $view)
{
$viewModules = $this->setting->getItem("owner=system&module=priv&key={$view}Modules");
if(empty($viewModules)) continue;
$viewModules = explode(',', $viewModules);
foreach($viewModules as $index => $module)
{
$this->app->loadLang($module);
$modules[$module] = $this->lang->{$view}->common . '/' . $this->lang->{$module}->common;
unset($viewModules[$index]);
}
}
return $modules;
}
/**
* Get priv package tree list.
*
* @access public
* @return void
*/
public function getPrivPackageTreeList()
{
$this->loadModel('setting');
$views = empty($viewName) ? $this->setting->getItem("owner=system&module=priv&key=views") : $viewName;
$views = explode(',', $views);
$modules = array();
foreach($views as $viewIndex => $view)
{
$this->app->loadLang($view);
$viewID = $view . 'View';
$treeView = new stdclass();
$treeView->id = $viewID;
$treeView->name = $this->lang->{$view}->common;
$treeView->parent = 0;
$treeView->path = ",{$viewID},";
$treeView->grade = 1;
$treeView->order = $viewIndex;
$treeView->desc = '';
$tree[$viewID] = $treeView;
$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);
$treeModule = new stdclass();
$treeModule->id = $module;
$treeModule->name = $this->lang->{$module}->common;
$treeModule->parent = $viewID;
$treeModule->path = ",{$viewID},{$module},";
$treeModule->grade = 2;
$treeModule->order = $moduleIndex;
$treeModule->desc = '';
$tree[$module] = $treeModule;
$packages = $this->getPrivPackagesByModule($module);
foreach($packages as $packageID => $package)
{
$treePackage = new stdclass();
$treePackage->id = $packageID;
$treePackage->name = $package->name;
$treePackage->parent = $module;
$treePackage->path = ",{$viewID},{$module},{$packageID},";
$treePackage->grade = 3;
$treePackage->desc = $package->desc;
$treePackage->order = $package->order;
$tree[$packageID] = $treePackage;
}
}
}
return $tree;
}
/**
* Init Privs.
*
@@ -824,18 +950,20 @@ class groupModel extends model
$this->sortResource();
$resource = json_decode(json_encode($this->lang->resource), true);
$this->dao->delete()->from(TABLE_PRIVLANG)->exec();
$this->dao->delete()->from(TABLE_PRIV)->exec();
$this->dao->delete()->from(TABLE_CONFIG)->where('module')->eq('priv')->exec();
$views = array();
$viewModules = array();
$this->loadModel('setting');
foreach($resource as $moduleName => $methods)
{
$groupKey = $moduleName;
$view = isset($this->lang->navGroup->{$groupKey}) ? $this->lang->navGroup->{$groupKey} : $moduleName;
$viewModules = array();
$order = 1;
$groupKey = $moduleName;
$view = isset($this->lang->navGroup->{$groupKey}) ? $this->lang->navGroup->{$groupKey} : $moduleName;
$viewModules[$view][] = $moduleName;
$order = 1;
foreach($methods as $methodName => $methodLang)
{
$viewModules[] = $methodName;
$priv = new stdclass();
$priv->moduleName = $moduleName;
$priv->methodName = $methodName;
@@ -862,13 +990,15 @@ class groupModel extends model
}
}
}
$viewModules = implode(',', $viewModules);
$views[$view] = empty($views[$view]) ? $viewModules : "{$views[$view]},{$viewModules}";
}
foreach($views as $viewName => $view) $this->setting->setItem("system.priv.{$viewName}Modules", $view);
foreach($viewModules as $viewName => $modules)
{
$modules = implode(',', $viewModules[$viewName]);
$this->setting->setItem("system.priv.{$viewName}Modules", $modules);
}
$views = array_keys($views);
$views = array_keys($viewModules);
$this->setting->setItem("system.priv.views", implode(',', $views));
if(!dao::isError()) return true;
+1 -1
View File
@@ -18,7 +18,7 @@
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->group->browse;?></span></span>
</div>
<div class='btn-toolbar pull-right'>
<?php if(common::hasPriv('group', 'permissionedit')) echo html::a($this->createLink('group', 'permissionedit', '', '', false), '<i class="icon icon-backend muted" style="padding-right: 5px"></i>' . $lang->group->permissionedit, '', 'class="btn btn-link"');?>
<?php if(common::hasPriv('group', 'editManagePriv')) echo html::a($this->createLink('group', 'editManagePriv', '', '', false), '<i class="icon icon-backend muted" style="padding-right: 5px"></i>' . $lang->group->editManagePriv, '', 'class="btn btn-link"');?>
<?php if(common::hasPriv('group', 'managePriv')) echo html::a($this->createLink('group', 'managePriv', 'type=byModule', '', true), $lang->group->managePrivByModule, '', 'class="btn btn-link iframe"');?>
<?php if(common::hasPriv('group', 'create')) echo html::a($this->createLink('group', 'create', '', '', true), '<i class="icon-plus"></i> ' . $lang->group->create, '', 'class="btn btn-primary iframe" data-width="550"');?>
</div>
@@ -1,12 +1,12 @@
<?php
/**
* The permissionedit view file of group module of ZenTaoPMS.
* The editManagePriv 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 Feilong Guo <guofeilong@cnezsoft.com>
* @package group
* @version permissionedit.html.php 4769 2023-03-07 07:24:21Z guofeilong $
* @version $id editManagePriv.html.php 4769 2023-03-07 07:24:21Z guofeilong $
* @link http://www.zentao.net
*/
?>
@@ -18,8 +18,8 @@
</div>
<div class="btn-toolbar">
<div class="btn-group">
<?php echo html::a($this->createLink('', '', '', '', false), '<i class="icon icon-cards-view"></i>', '', 'class="btn btn-icon"');?>
<?php echo html::a($this->createLink('', '', '', '', false), '<i class="icon icon-list"></i>', '', 'class="btn btn-icon text-primary"');?>
<a href="#" data-type="bycard" class="btn btn-icon btn-switch <?php if($editType == 'bycard') echo 'text-primary' ?>"><i class="icon icon-cards-view"></i></a>
<a href="#" data-type="bylist" class="btn btn-icon btn-switch <?php if($editType == 'bylist') echo 'text-primary' ?>"><i class="icon icon-list"></i></a>
</div>
<a href="#" class="btn btn-primary"><?php echo $lang->group->addPriv?></a>
<?php if(common::hasPriv('group', 'managePrivPackage')) echo html::a($this->createLink('group', 'managePrivPackage', ''), $lang->group->managePrivPackage, '', 'class="btn btn-primary"');?>
@@ -28,17 +28,16 @@
</div>
<div id='mainContent'>
<div class="main main-content">
<form class="load-indicator main-form form-ajax" id="permissionEditForm" method="post" target='hiddenwin'>
<table class='table table-hover table-striped table-bordered' id='privList'>
<thead>
<tr class="text-center">
<th class="thWidth">模块</th>
<th class="thWidth">权限包</th>
<th colspan="2">权限</th>
</tr>
</thead>
</table>
</form>
<?php
if($editType == 'bycard')
{
include 'editmanageprivbycard.html.php';
}
else
{
include 'editmanageprivbylist.html.php';
}?>
</div>
<div class="side">
<div class="priv-panel">
@@ -0,0 +1,69 @@
<?php
/**
* The editmanageprivbycard view file of group module of ZenTaoPMS.
*
* @copyright Copyright 2009-2021 禅道软件(青岛)有限公司(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 Feilong Guo <guofeilong@easycorp.ltd>
* @package group
* @version $Id: editmanageprivbylist.html.php 4769 2021-07-23 11:16:21Z $
* @link https://www.zentao.net
*/
?>
<form class="load-indicator main-form form-ajax" id="permissionEditForm" method="post" target='hiddenwin'>
<table class='table table-hover table-striped table-bordered' id='privList'>
<thead>
<tr class="text-center permission-head">
<th class="flex-sm">模块</th>
<th class="flex-sm">权限包</th>
<th class="flex-content">权限</th>
</tr>
</thead>
<tbody>
<tr class="permission-row">
<td class="flex-sm text-center"> 首页 </td>
<td class="flex-sm text-center"> 首页 </td>
<td class="flex-content">
<div class="group-item">
<div class="checkbox-primary">
<input type="checkbox" name="actions[my][]" value="index" checked="checked" title="地盘仪表盘" id="actions[my]index"></input>
<label for="actions[my]index"> 地盘仪表盘 </label>
</div>
</div>
</td>
</tr>
<tr class="permission-row">
<td class="flex-sm text-center"> 地盘 </td>
<td class="flex-sm text-center"> 地盘</td>
<td class="flex-content sorter-group">
<div class="group-item">
<div class="checkbox-primary">
<input type="checkbox" name="actions[my][]" value="index" checked="checked" title="地盘仪表盘" id="actions[my]index"></input>
<label for="actions[my]index"> 地盘仪表盘0 </label>
</div>
</div>
<div class="group-item">
<div class="checkbox-primary">
<input type="checkbox" name="actions[my][]" value="index" checked="checked" title="地盘仪表盘" id="actions[my]index"></input>
<label for="actions[my]index"> 地盘仪表盘1 </label>
</div>
</div>
<div class="group-item">
<div class="checkbox-primary">
<input type="checkbox" name="actions[my][]" value="index" checked="checked" title="地盘仪表盘" id="actions[my]index"></input>
<label for="actions[my]index"> 地盘仪表盘2 </label>
</div>
</div>
<div class="group-item">
<div class="checkbox-primary">
<input type="checkbox" name="actions[my][]" value="index" checked="checked" title="地盘仪表盘" id="actions[my]index"></input>
<label for="actions[my]index"> 地盘仪表盘3 </label>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</form>
@@ -0,0 +1,14 @@
<?php
/**
* The editmanageprivbylist view file of group module of ZenTaoPMS.
*
* @copyright Copyright 2009-2021 禅道软件(青岛)有限公司(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 Feilong Guo <guofeilong@easycorp.ltd>
* @package group
* @version $Id: editmanageprivbylist.html.php 4769 2021-07-23 11:16:21Z $
* @link https://www.zentao.net
*/
?>
+31 -1
View File
@@ -13,7 +13,7 @@
<?php include '../../common/view/header.html.php';?>
<div id="mainMenu" class='clearfix'>
<div class="btn-toolbar pull-left">
<?php common::printBack(inlink('permissionedit', ''), 'btn btn-primary');?>
<?php common::printBack(inlink('editManagePriv', ''), 'btn btn-primary');?>
<div class="divider"></div>
<div class="page-title">
<span class="text" title='<?php echo $lang->group->managePrivPackage;?>'><?php echo $lang->group->managePrivPackage;?></span>
@@ -24,6 +24,36 @@
</div>
</div>
<div id='mainContent' class='main-table'>
<form class='main-table' id='privPackageForm' method='post' data-ride='table' data-nested='true' data-expand-nest-child='false' data-checkable='false' data-enable-empty-nested-row='true' data-replace-id='privPackageTableList' data-preserve-nested='true' data-nest-level-indent='22'>
<table class='table has-sort-head table-fixed table-nested' id='privPackageList'>
<thead>
<tr>
<th class='table-nest-title c-name'>
<?php echo $lang->privpackage->common;?>
<a class='table-nest-toggle table-nest-toggle-global' data-expand-text='<?php echo $lang->expand; ?>' data-collapse-text='<?php echo $lang->collapse;?>'></a>
</th>
<th class='c-desc'><?php echo $lang->privpackage->desc;?></th>
<th class='c-order'><?php echo $lang->sort;?></th>
<th class='text-center c-actions-2'><?php echo $lang->actions;?></th>
</tr>
</thead>
<tbody id='privPackageTableList'>
<?php foreach($packagesTreeList as $package):?>
<tr <?php echo "data-id='$package->id' data-order='$package->order' data-parent='$package->parent' data-level='$package->grade' data-nest-parent='$package->parent' data-nest-path='$package->path'"?>>
<td class='text-left has-prefix' title='<?php echo $package->name?>'><?php echo $package->name?></td>
<td class='text-left' title='<?php echo $package->desc?>'><?php echo $package->desc?></td>
<td><?php if(common::hasPriv('group', 'privPackageSort')) echo '<a class="sort-handler"><i class="icon-move"></i></a>';?></td>
<td class='c-actions'>
<?php
if(common::hasPriv('group', 'editPrivPackage') and $package->grade == 3) common::printIcon('group', 'editPrivPackage', "packageID=$package->id", '', 'list', 'edit', '', 'iframe', true);
if(common::hasPriv('group', 'deletePrivPackage') and $package->grade == 3) common::printIcon('group', 'deletePrivPackage', "packageID=$package->id", '', 'list', 'trash', 'hiddenwin');
?>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</form>
</div>
<?php include '../../common/view/footer.html.php';?>