* Modify group module.

This commit is contained in:
qiyu-xie
2021-03-04 15:21:01 +08:00
parent 00ae248d08
commit c010c42b08
13 changed files with 90 additions and 173 deletions
+20 -19
View File
@@ -13,7 +13,7 @@ class group extends control
{
/**
* Construct function.
*
*
* @access public
* @return void
*/
@@ -26,7 +26,7 @@ class group extends control
/**
* Browse groups.
*
*
* @access public
* @return void
*/
@@ -49,7 +49,7 @@ class group extends control
/**
* Create a group.
*
*
* @access public
* @return void
*/
@@ -70,8 +70,8 @@ class group extends control
/**
* Edit a group.
*
* @param int $groupID
*
* @param int $groupID
* @access public
* @return void
*/
@@ -86,6 +86,7 @@ class group extends control
$title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->edit;
$position[] = $this->lang->group->edit;
$this->view->title = $title;
$this->view->position = $position;
$this->view->group = $this->group->getById($groupID);
@@ -95,8 +96,8 @@ class group extends control
/**
* Copy a group.
*
* @param int $groupID
*
* @param int $groupID
* @access public
* @return void
*/
@@ -141,7 +142,7 @@ class group extends control
$this->view->position[] = $this->lang->group->manageView;
$this->view->group = $group;
$this->view->programs = $this->dao->select('*')->from(TABLE_PROJECT)->where('deleted')->eq('0')->andWhere('type')->eq('program')->orderBy('order_desc')->fetchPairs('id', 'name');
$this->view->programs = $this->dao->select('*')->from(TABLE_PROGRAM)->where('deleted')->eq('0')->andWhere('type')->eq('program')->orderBy('order_desc')->fetchPairs('id', 'name');
$this->view->projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('deleted')->eq('0')->andWhere('type')->eq('project')->orderBy('order_desc')->fetchPairs('id', 'name');
$this->view->products = $this->dao->select('*')->from(TABLE_PRODUCT)->where('deleted')->eq('0')->orderBy('order_desc')->fetchPairs('id', 'name');
@@ -185,7 +186,7 @@ class group extends control
if($this->config->systemMode == 'classic')
{
if(isset($groupPrivs['program']['prjbrowse']))
if(isset($groupPrivs['project']['browse']))
{
$groupPrivs['project']['list'] = 'list';
}
@@ -233,8 +234,8 @@ class group extends control
/**
* Manage members of a group.
*
* @param int $groupID
*
* @param int $groupID
* @param int $deptID
* @access public
* @return void
@@ -268,18 +269,18 @@ class group extends control
/**
* Manage members of a group.
*
* @param int $groupID
*
* @param int $groupID
* @param int $deptID
* @access public
* @return void
*/
public function managePRJAdmin($groupID, $deptID = 0)
public function manageProjectAdmin($groupID, $deptID = 0)
{
if(!empty($_POST))
{
$this->group->updatePRJAdmin($groupID);
die(js::locate(inlink('managePRJAdmin', "group=$groupID"), 'parent'));
$this->group->updateProjectAdmin($groupID);
die(js::locate(inlink('manageProjectAdmin', "group=$groupID"), 'parent'));
}
$group = $this->group->getById($groupID);
$groupUsers = $this->group->getUserPairs($groupID);
@@ -295,7 +296,7 @@ class group extends control
$this->view->allUsers = $allUsers;
$this->view->group = $group;
$this->view->programs = $this->dao->select('id, name')->from(TABLE_PROJECT)->where('type')->eq('project')->andWhere('deleted')->eq(0)->fetchPairs();
$this->view->deptTree = $this->loadModel('dept')->getTreeMenu($rooteDeptID = 0, array('deptModel', 'createManagePRJAdminLink'), $groupID);
$this->view->deptTree = $this->loadModel('dept')->getTreeMenu($rooteDeptID = 0, array('deptModel', 'createManageProjectAdminLink'), $groupID);
$this->view->groupUsers = $groupUsers;
$this->view->userPrograms = $userPrograms;
@@ -304,8 +305,8 @@ class group extends control
/**
* Delete a group.
*
* @param int $groupID
*
* @param int $groupID
* @param string $confirm yes|no
* @access public
* @return void
+1 -1
View File
@@ -21,7 +21,7 @@ $lang->group->managePrivByGroup = 'Rechte';
$lang->group->managePrivByModule = 'Modul Rechte';
$lang->group->byModuleTips = '<span class="tips">(SHIFT/STRG für Multi-Select)</span>';
$lang->group->manageMember = 'Mitglieder';
$lang->group->managePRJAdmin = 'Manage Program Admins';
$lang->group->manageProjectAdmin = 'Manage Program Admins';
$lang->group->confirmDelete = 'Möchten Sie die Gruppe löschen?';
$lang->group->successSaved = 'Gespeichert!';
$lang->group->errorNotSaved = 'Fehlgeschlagen. Bitte aktion und Gruppe wählen.';
+1 -1
View File
@@ -21,7 +21,7 @@ $lang->group->managePrivByGroup = 'Manage Privileges by Group';
$lang->group->managePrivByModule = 'Manage Privileges by Module';
$lang->group->byModuleTips = '<span class="tips">(Press Shift/Ctrl to Multi-select)</span>';
$lang->group->manageMember = 'Manage Members';
$lang->group->managePRJAdmin = 'Manage Program Admins';
$lang->group->manageProjectAdmin = 'Manage Program Admins';
$lang->group->confirmDelete = 'Do you want to delete this user group?';
$lang->group->successSaved = 'Saved.';
$lang->group->errorNotSaved = 'Failed. Please select actions and groups.';
+1 -1
View File
@@ -21,7 +21,7 @@ $lang->group->managePrivByGroup = 'Gérer Privilèges par Groupe';
$lang->group->managePrivByModule = 'Gérer Privilèges par Module';
$lang->group->byModuleTips = '<span class="tips">(Shift/Ctrl pour sélection multiple)</span>';
$lang->group->manageMember = 'Gérer Membres';
$lang->group->managePRJAdmin = 'Manage Program Admins';
$lang->group->manageProjectAdmin = 'Manage Program Admins';
$lang->group->confirmDelete = "Voulez-vous supprimer ce groupe d'utilisateurs ?";
$lang->group->successSaved = 'Sauvé.';
$lang->group->errorNotSaved = 'Echec. Veuillez sélectionner actions et groupes.';
+1 -1
View File
@@ -21,7 +21,7 @@ $lang->group->managePrivByGroup = 'Quản lý Privileges by Group';
$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->managePRJAdmin = 'Manage Program Admins';
$lang->group->manageProjectAdmin = 'Manage Program Admins';
$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.';
+1 -1
View File
@@ -21,7 +21,7 @@ $lang->group->managePrivByGroup = '权限维护';
$lang->group->managePrivByModule = '按模块分配权限';
$lang->group->byModuleTips = '<span class="tips">(可以按住Shift或者Ctrl键进行多选)</span>';
$lang->group->manageMember = '成员维护';
$lang->group->managePRJAdmin = '维护项目管理员';
$lang->group->manageProjectAdmin = '维护项目管理员';
$lang->group->confirmDelete = '您确定删除该用户分组吗?';
$lang->group->successSaved = '成功保存';
$lang->group->errorNotSaved = '没有保存,请确认选择了权限数据。';
+1 -1
View File
@@ -21,7 +21,7 @@ $lang->group->managePrivByGroup = '權限維護';
$lang->group->managePrivByModule = '按模組分配權限';
$lang->group->byModuleTips = '<span class="tips">(可以按住Shift或者Ctrl鍵進行多選)</span>';
$lang->group->manageMember = '成員維護';
$lang->group->managePRJAdmin = '維護項目管理員';
$lang->group->manageProjectAdmin = '維護項目管理員';
$lang->group->confirmDelete = '您確定刪除該用戶分組嗎?';
$lang->group->successSaved = '成功保存';
$lang->group->errorNotSaved = '沒有保存,請確認選擇了權限數據。';
+46 -46
View File
@@ -15,14 +15,14 @@ class groupModel extends model
{
/**
* Create a group.
*
*
* @access public
* @return bool
*/
public function create()
{
$group = fixer::input('post')->get();
if(isset($group->limited))
if(isset($group->limited))
{
unset($group->limited);
$group->role = 'limited';
@@ -32,8 +32,8 @@ class groupModel extends model
/**
* Update a group.
*
* @param int $groupID
*
* @param int $groupID
* @access public
* @return void
*/
@@ -45,8 +45,8 @@ class groupModel extends model
/**
* Copy a group.
*
* @param int $groupID
*
* @param int $groupID
* @access public
* @return void
*/
@@ -66,9 +66,9 @@ class groupModel extends model
/**
* Copy privileges.
*
* @param string $fromGroup
* @param string $toGroup
*
* @param string $fromGroup
* @param string $toGroup
* @access public
* @return void
*/
@@ -84,9 +84,9 @@ class groupModel extends model
/**
* Copy user.
*
* @param string $fromGroup
* @param string $toGroup
*
* @param string $fromGroup
* @param string $toGroup
* @access public
* @return void
*/
@@ -102,32 +102,32 @@ class groupModel extends model
/**
* Get group lists.
*
*
* @param int $projectID
* @access public
* @return array
*/
public function getList($projectID = 0)
{
return $this->dao->select('*')->from(TABLE_GROUP)->where('PRJ')->eq($projectID)->orderBy('id')->fetchAll();
return $this->dao->select('*')->from(TABLE_GROUP)->where('project')->eq($projectID)->orderBy('id')->fetchAll();
}
/**
* Get group pairs.
*
*
* @param int $projectID
* @access public
* @return array
*/
public function getPairs($projectID = 0)
{
return $this->dao->select('id, name')->from(TABLE_GROUP)->where('PRJ')->eq($projectID)->orderBy('id')->fetchPairs();
return $this->dao->select('id, name')->from(TABLE_GROUP)->where('project')->eq($projectID)->orderBy('id')->fetchPairs();
}
/**
* Get group by id.
*
* @param int $groupID
*
* @param int $groupID
* @access public
* @return object
*/
@@ -141,8 +141,8 @@ class groupModel extends model
/**
* Get group by account.
*
* @param string $account
*
* @param string $account
* @access public
* @return array
*/
@@ -171,8 +171,8 @@ class groupModel extends model
/**
* Get privileges of a groups.
*
* @param int $groupID
*
* @param int $groupID
* @access public
* @return array
*/
@@ -186,8 +186,8 @@ class groupModel extends model
/**
* Get user pairs of a group.
*
* @param int $groupID
*
* @param int $groupID
* @access public
* @return array
*/
@@ -204,14 +204,14 @@ class groupModel extends model
/**
* Get user programs of a group.
*
* @param int $groupID
*
* @param int $groupID
* @access public
* @return array
*/
public function getUserPrograms($groupID)
{
return $this->dao->select('t1.account, t1.PRJ')
return $this->dao->select('t1.account, t1.project')
->from(TABLE_USERGROUP)->alias('t1')
->leftJoin(TABLE_USER)->alias('t2')->on('t1.account = t2.account')
->where('`group`')->eq((int)$groupID)
@@ -258,8 +258,8 @@ class groupModel extends model
/**
* Delete a group.
*
* @param int $groupID
*
* @param int $groupID
* @param null $null compatible with that of model::delete()
* @access public
* @return void
@@ -396,7 +396,7 @@ class groupModel extends model
/**
* Update privilege by module.
*
*
* @access public
* @return void
*/
@@ -420,8 +420,8 @@ class groupModel extends model
/**
* Update users.
*
* @param int $groupID
*
* @param int $groupID
* @access public
* @return void
*/
@@ -455,13 +455,13 @@ class groupModel extends model
}
/**
* Update program admins.
*
* @param int $groupID
* Update project admins.
*
* @param int $groupID
* @access public
* @return void
*/
public function updatePRJAdmin($groupID)
public function updateProjectAdmin($groupID)
{
$this->loadModel('user');
$this->dao->delete()->from(TABLE_USERGROUP)->where('`group`')->eq($groupID)->exec();
@@ -474,10 +474,10 @@ class groupModel extends model
$data = new stdclass();
$data->group = $groupID;
$data->account = $account;
$data->PRJ = implode($programs[$account], ',');
$data->project = implode($programs[$account], ',');
$this->dao->replace(TABLE_USERGROUP)->data($data)->exec();
foreach($programs[$account] as $programID)
foreach($programs[$account] as $programID)
{
if(!$programID) continue;
$this->user->updateUserView($programID, 'program');
@@ -487,10 +487,10 @@ class groupModel extends model
if(!dao::isError()) return true;
return false;
}
/**
* Sort resource.
*
*
* @access public
* @return void
*/
@@ -511,7 +511,7 @@ class groupModel extends model
{
$this->lang->resource->$key = $resource;
}
/* sort methodOrder. */
foreach($this->lang->resource as $moduleName => $resources)
{
@@ -577,9 +577,9 @@ class groupModel extends model
/**
* Judge an action is clickable or not.
*
* @param object $group
* @param string $action
*
* @param object $group
* @param string $action
* @static
* @access public
* @return bool
@@ -588,8 +588,8 @@ class groupModel extends model
{
$action = strtolower($action);
if($action == 'manageview' and $group->role == 'limited') return false;
if($action == 'copy' and $group->role == 'limited') return false;
if($action == 'manageview' and $group->role == 'limited') return false;
if($action == 'copy' and $group->role == 'limited') return false;
return true;
}
+7 -7
View File
@@ -42,23 +42,23 @@
<td title='<?php echo $group->desc?>'><?php echo $group->desc;?></td>
<td title='<?php echo $users;?>' class="text-ellipsis"><?php echo $users;?></td>
<td class='c-actions'>
<?php $isPRJAdmin = $group->role == 'PRJAdmin';?>
<?php $disabled = $isPRJAdmin ? 'disabled' : '';?>
<?php $isProjectAdmin = $group->role == 'projectAdmin';?>
<?php $disabled = $isProjectAdmin ? 'disabled' : '';?>
<?php $lang->group->managepriv = $lang->group->managePrivByGroup;?>
<?php common::printIcon('group', 'manageView', "groupID=$group->id", $group, 'list', 'eye', '', "$disabled");?>
<?php common::printIcon('group', 'managepriv', "type=byGroup&param=$group->id", $group, 'list', 'lock');?>
<?php $lang->group->managemember = $lang->group->manageMember;?>
<?php if($isPRJAdmin):?>
<?php common::printIcon('group', 'managePRJAdmin', "groupID=$group->id", $group, 'list', 'persons');?>
<?php if($isProjectAdmin):?>
<?php common::printIcon('group', 'manageProjectAdmin', "groupID=$group->id", $group, 'list', 'persons');?>
<?php else:?>
<?php common::printIcon('group', 'managemember', "groupID=$group->id", $group, 'list', 'persons', '', "iframe", true, "data-width='90%'");?>
<?php common::printIcon('group', 'manageMember', "groupID=$group->id", $group, 'list', 'persons', '', "iframe", true, "data-width='90%'");?>
<?php endif;?>
<?php common::printIcon('group', 'edit', "groupID=$group->id", $group, 'list', '', '', "iframe $disabled", true, "data-width='550'");?>
<?php common::printIcon('group', 'copy', "groupID=$group->id", $group, 'list', '', '', "iframe $disabled", true, "data-width='550'");?>
<?php
if(common::hasPriv('group', 'delete'))
if(common::hasPriv('group', 'deProjecte'))
{
if($isPRJAdmin)
if($isProjectAdmin)
{
echo "<button class='btn disabled'><i class='icon icon-trash disabled' title='{$lang->group->delete}'></i></button>";
}
+5 -5
View File
@@ -11,24 +11,24 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<div id='mainContent' class='main-content'>
<div id='mainContent' class='main-content'>
<div class='main-header'>
<h2><?php echo $lang->group->create;?></h2>
</div>
<form method='post' target='hiddenwin' id='dataform'>
<table align='center' class='table table-form'>
<table align='center' class='table table-form'>
<tr>
<th><?php echo $lang->group->name;?></th>
<td class='required'><?php echo html::input('name', '', "class='form-control'");?></td>
</tr>
</tr>
<tr>
<th><?php echo $lang->group->desc;?></th>
<td><?php echo html::textarea('desc', '', "rows=5 class=form-control");?></td>
</tr>
</tr>
<tr>
<th><?php echo $lang->group->limited;?></th>
<td><?php echo html::checkbox('limited', '');?></td>
</tr>
</tr>
<tr>
<td colspan='2' class='text-center'><?php echo html::submitButton();?></td>
</tr>
+4 -4
View File
@@ -11,7 +11,7 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<div id='mainContent' class='main-content'>
<div id='mainContent' class='main-content'>
<div class='main-header'>
<h2 title='<?php echo $group->name;?>'>
<span class='label label-id'><?php echo $group->id;?></span>
@@ -20,15 +20,15 @@
</h2>
</div>
<form method='post' target='hiddenwin' id='dataform'>
<table align='center' class='table table-form'>
<table align='center' class='table table-form'>
<tr>
<th><?php echo $lang->group->name;?></th>
<td class='required'><?php echo html::input('name', $group->name, "class='form-control'");?></td>
</tr>
</tr>
<tr>
<th><?php echo $lang->group->desc;?></th>
<td><?php echo html::textarea('desc', $group->desc, "rows='5' class='form-control'");?></td>
</tr>
</tr>
<tr>
<td colspan='2' class='text-center'><?php echo html::submitButton();?></td>
</tr>
+2 -2
View File
@@ -29,7 +29,7 @@
</div>
<div class="main-col">
<form class='main-table table-members' method='post' target='hiddenwin'>
<table class='table table-form'>
<table class='table table-form'>
<?php if($groupUsers):?>
<tr>
<th class='w-140px'>
@@ -60,7 +60,7 @@
</tr>
<tr>
<td class='text-center form-actions' colspan='2'>
<?php
<?php
echo html::submitButton();
echo html::linkButton($lang->goback, $this->createLink('group', 'browse'));
echo html::hidden('foo'); // Just a var, to make sure $_POST is not empty.
-84
View File
@@ -1,84 +0,0 @@
<?php
/**
* The manage member view of group module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
* @package group
* @version $Id: managemember.html.php 4627 2013-04-10 05:42:20Z chencongzhi520@gmail.com $
* @link http://www.zentao.net
*/
?>
<?php include '../../common/view/header.html.php';?>
<div id='mainContent' class='main-row fade in'>
<div class="side-col" id="sidebar">
<div id="sidebarHeader">
<div class="title">
<span class='label label-id'><?php echo $group->id;?></span>
<?php echo $group->name;?>
</div>
</div>
<div class='cell'>
<div class='panel panel-sm'>
<div class='panel-heading nobr'><strong><?php echo $lang->dept->common;?></strong></div>
<?php echo $deptTree;?>
</div>
</div>
</div>
<div class="main-col">
<form class='main-table table-members' method='post' target='hiddenwin'>
<table class='table table-form'>
<?php if($userPrograms):?>
<?php $i = 0;?>
<?php foreach($userPrograms as $account => $program):?>
<tr>
<th class='w-100px'><?php echo $i == 0 ? $lang->group->inside : '';?></th>
<td id='group' class='pv-10px'>
<div class='group-item'><?php echo html::select('members[]', $allUsers, $account, "class='form-control chosen' onchange=resetProgramName(this)");?></div>
</td>
<td class='pv-10px' colspan='2'>
<div class='input-group'>
<span class='input-group-addon'> <?php echo $lang->group->manageProject;?></span>
<?php echo html::select("program[$account][]", $programs, $program, "class='form-control chosen' multiple");?>
</div>
</td>
<td class='w-100px'>
<button type="button" class="btn btn-link btn-icon btn-add" onclick="addItem(this)"><i class="icon icon-plus"></i></button>
<button type="button" class="btn btn-link btn-icon btn-delete" onclick="deleteItem(this)"><i class="icon icon-close"></i></button>
</td>
</tr>
<?php $i ++;?>
<?php endforeach;?>
<?php else:?>
<tr>
<th class='w-100px' rowspan='1'><?php echo $lang->group->inside;?></th>
<td id='group' class='pv-10px'>
<div class='group-item'><?php echo html::select('members[]', $allUsers, '', "class='form-control chosen' onchange=resetProgramName(this)");?></div>
</td>
<td class='pv-10px' colspan='2'>
<div class='input-group'>
<span class='input-group-addon'> <?php echo $lang->group->manageProject;?></span>
<?php echo html::select('program[0][]', $programs, '', "class='form-control chosen' multiple");?>
</div>
</td>
<td class='w-100px'>
<button type="button" class="btn btn-link btn-icon btn-add" onclick="addItem(this)"><i class="icon icon-plus"></i></button>
<button type="button" class="btn btn-link btn-icon btn-delete" onclick="deleteItem(this)"><i class="icon icon-close"></i></button>
</td>
</tr>
<?php endif;?>
<tr>
<td class='text-center form-actions' colspan='5'>
<?php
echo html::submitButton('', '', "btn btn-primary");
echo html::linkButton($lang->goback, $this->createLink('group', 'browse'));
echo html::hidden('foo'); // Just a var, to make sure $_POST is not empty.
?>
</td>
</tr>
</table>
</form>
</div>
</div>
<?php include '../../common/view/footer.html.php';?>