* Adding permissions and maintaining language files.

This commit is contained in:
leiyong
2020-10-20 09:08:45 +08:00
parent 848c61cd96
commit 5dab208c02
10 changed files with 53 additions and 45 deletions
+2 -2
View File
@@ -1639,11 +1639,11 @@ EOD;
if(!defined('IN_UPGRADE')) $this->session->user->view = $this->loadModel('user')->grantUserView();
$this->app->user = $this->session->user;
$inProgram = isset($this->lang->navGroup->$module) && $this->lang->navGroup->$module == 'program';
$inProgram = isset($this->lang->navGroup->$module) && $this->lang->navGroup->$module == 'project';
if(!defined('IN_UPGRADE') and $inProgram)
{
/* Check program priv. */
if(strpos(",{$this->app->user->view->programs},", ",{$this->session->PRJ},") === false and !$this->app->user->admin) $this->loadModel('program')->accessDenied();
if(strpos(",{$this->app->user->view->projects},", ",{$this->session->PRJ},") === false and !$this->app->user->admin) $this->loadModel('program')->accessDenied();
$this->resetProgramPriv($module, $method);
if(!commonModel::hasPriv($module, $method)) $this->deny($module, $method, false);
}
+23 -14
View File
@@ -16,6 +16,7 @@ $lang->moduleOrder[5] = 'my';
$lang->moduleOrder[10] = 'todo';
$lang->moduleOrder[11] = 'program';
$lang->moduleOrder[12] = 'personnel';
$lang->moduleOrder[15] = 'product';
$lang->moduleOrder[20] = 'story';
$lang->moduleOrder[25] = 'productplan';
@@ -172,17 +173,17 @@ $lang->resource->program->PGMDelete = 'PGMDelete';
$lang->resource->program->PGMManageMembers = 'PGMManageMembers';
$lang->resource->program->PGMProject = 'PGMProject';
$lang->resource->program->export = 'export';
$lang->resource->program->index = 'PRJIndex';
$lang->resource->program->PRJBrowse = 'PRJBrowse';
$lang->resource->program->PRJProgramTitle = 'PRJModuleOpen';
$lang->resource->program->index = 'PRJIndex';
$lang->resource->program->PRJBrowse = 'PRJBrowse';
$lang->resource->program->PRJProgramTitle = 'PRJModuleOpen';
$lang->resource->program->PRJCreate = 'PRJCreate';
$lang->resource->program->PRJEdit = 'PRJEdit';
$lang->resource->program->PRJGroup = 'PRJGroup';
$lang->resource->program->PRJCreateGroup = 'PRJCreateGroup';
$lang->resource->program->PRJManageView = 'PRJManageView';
$lang->resource->program->PRJManagePriv = 'PRJManagePriv';
$lang->resource->program->PRJManageMembers = 'PRJManageMembers';
$lang->resource->program->PRJManageGroupMember = 'PRJManageGroupMember';
$lang->resource->program->PRJManageView = 'PRJManageView';
$lang->resource->program->PRJManagePriv = 'PRJManagePriv';
$lang->resource->program->PRJManageMembers = 'PRJManageMembers';
$lang->resource->program->PRJManageGroupMember = 'PRJManageGroupMember';
$lang->resource->program->PRJCopyGroup = 'PRJCopyGroup';
$lang->resource->program->PRJEditGroup = 'PRJEditGroup';
$lang->resource->program->PRJStart = 'PRJStart';
@@ -204,17 +205,17 @@ $lang->program->methodOrder[45] = 'PGMDelete';
$lang->program->methodOrder[85] = 'PGMManageMembers';
$lang->program->methodOrder[90] = 'PGMProject';
$lang->program->methodOrder[95] = 'export';
$lang->program->methodOrder[100] = 'PRJIndex';
$lang->program->methodOrder[105] = 'PRJBrowse';
$lang->program->methodOrder[100] = 'PRJIndex';
$lang->program->methodOrder[105] = 'PRJBrowse';
$lang->program->methodOrder[110] = 'PRJProgramTitle';
$lang->program->methodOrder[115] = 'PRJCreate';
$lang->program->methodOrder[115] = 'PRJCreate';
$lang->program->methodOrder[120] = 'PRJEdit';
$lang->program->methodOrder[125] = 'PRJGroup';
$lang->program->methodOrder[130] = 'PRJCreateGroup';
$lang->program->methodOrder[135] = 'PRJManageView';
$lang->program->methodOrder[140] = 'PRJManagePriv';
$lang->program->methodOrder[145] = 'PRJManageMembers';
$lang->program->methodOrder[150] = 'PRJManageGroupMember';
$lang->program->methodOrder[135] = 'PRJManageView';
$lang->program->methodOrder[140] = 'PRJManagePriv';
$lang->program->methodOrder[145] = 'PRJManageMembers';
$lang->program->methodOrder[150] = 'PRJManageGroupMember';
$lang->program->methodOrder[155] = 'PRJCopyGroup';
$lang->program->methodOrder[160] = 'PRJEditGroup';
$lang->program->methodOrder[165] = 'PRJStart';
@@ -224,6 +225,14 @@ $lang->program->methodOrder[180] = 'PRJActivate';
$lang->program->methodOrder[185] = 'PRJUpdateOrder';
$lang->program->methodOrder[190] = 'PRJDelete';
/* Personnel . */
$lang->resource->personnel = new stdclass();
$lang->resource->personnel->accessible = 'accessible';
$lang->resource->personnel->putInto = 'putInto';
$lang->personnel->methodOrder[5] = 'accessible';
$lang->personnel->methodOrder[10] = 'putInto';
/* Issue . */
$lang->resource->issue = new stdclass();
$lang->resource->issue->browse = 'browse';
+1
View File
@@ -1,4 +1,5 @@
<?php
$lang->personnel->common = '人员';
$lang->personnel->accessible = '可访问人员列表';
$lang->personnel->putInto = '投入人员列表';
$lang->personnel->department = '部门';
+5 -13
View File
@@ -70,6 +70,7 @@ class personnelModel extends model
->beginIF($browseType == 'scrum')->andWhere('model')->eq('scrum')->fi()
->beginIF($browseType == 'waterfall')->andWhere('model')->eq('waterfall')->fi()
->beginIF($browseType == 'parent')->andWhere('parent')->eq($programID)->fi()
->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->projects)->fi()
->andWhere('deleted')->eq('0')
->orderBy($orderBy)
->fetchAll('id');
@@ -84,7 +85,7 @@ class personnelModel extends model
$personnelList['objectRows'] = $sprintAndStage['objectRows'];
/* Get the program name for each level. */
$programNameList = $this->getProgramPairs();
$programNameList = $this->loadModel('program')->getPGMPairs();
foreach($personnelList['projects'] as $id => $project)
{
$path = explode(',', $project->path);
@@ -103,7 +104,7 @@ class personnelModel extends model
}
/**
* Get team members for projects, stage, sprints.
* Access to data on stages and sprints.
*
* @param object $projects
* @access public
@@ -112,9 +113,11 @@ class personnelModel extends model
public function getSprintAndStage($projects)
{
/* Get all sprints and iterations under the project. */
$userViewID = array_merge(array(0), explode(',', $this->app->user->view->stages), explode(',', $this->app->user->view->sprints));
$projectKeys = array_keys($projects);
$projectObjet = $this->dao->select('id,project,model,type,parent,path,grade,name')->from(TABLE_PROJECT)
->where('project')->in($projectKeys)
->beginIF(!$this->app->user->admin)->andWhere('id')->in($userViewID)->fi()
->andWhere('deleted')->eq('0')
->orderBy('id_desc')
->fetchAll();
@@ -177,17 +180,6 @@ class personnelModel extends model
return array('sprintAndStage' => $sprintAndStage, 'childrenStage' => $childrenStage, 'teams' => $teams, 'objectRows' => $objectRows);
}
/**
* Get all program set names.
*
* @access public
* @return object
*/
public function getProgramPairs()
{
return $this->dao->select('id,name')->from(TABLE_PROJECT)->where('type')->eq('program')->andWhere('deleted')->eq('0')->fetchPairs('id', 'name');
}
/**
* Get the treemenu of departments.
*
+5 -4
View File
@@ -96,12 +96,12 @@ $lang->program->featureBar['wait'] = 'Waiting';
$lang->program->featureBar['suspended'] = 'Suspended';
$lang->program->featureBar['closed'] = 'Closed';
$lang->program->PRJAclList['open'] = "Open(Users who can visit {$lang->projectCommon} can access it)";
$lang->program->PRJAclList['open'] = "Open(Users who can visit project can access it)";
$lang->program->PRJAclList['private'] = 'Private (For team members and stakeholders only)';
$lang->program->PGMPRJAclList['open'] = "全部公开(有项目视图权限,即可访问)";
$lang->program->PGMPRJAclList['openinside'] = "项目集内公开(所有上级项目集负责人和干系人,本项目团队成员和干系人可访问)";
$lang->program->PGMPRJAclList['private'] = "私有(项目团队成员和干系人可访问)";
$lang->program->PGMPRJAclList['open'] = "Full disclosure (accessible with project view permissions)";
$lang->program->PGMPRJAclList['openinside'] = "Public within the project set (accessible to all higher-level project set leaders and stakeholders, members of this project team and stakeholders)";
$lang->program->PGMPRJAclList['private'] = "Private (accessible to project team members and associates)";
$lang->program->PRJAuthList['extend'] = 'Inherit (project privilege and company privilege)';
$lang->program->PRJAuthList['reset'] = 'Reset (project privilege only)';
@@ -178,6 +178,7 @@ $lang->program->PGMExport = 'Export';
$lang->program->PGMStakeholder = 'Stakeholder';
$lang->program->createStakeholder = 'Create stakeholder';
$lang->program->importStakeholder = 'Import program';
$lang->program->PGMManageMembers = 'Program Team';
/* Fields. */
$lang->program->PGMName = 'Name';
+5 -4
View File
@@ -96,12 +96,12 @@ $lang->program->featureBar['wait'] = 'Waiting';
$lang->program->featureBar['suspended'] = 'Suspended';
$lang->program->featureBar['closed'] = 'Closed';
$lang->program->PRJAclList['open'] = "Open(Users who can visit {$lang->projectCommon} can access it)";
$lang->program->PRJAclList['open'] = "Open(Users who can visit project can access it)";
$lang->program->PRJAclList['private'] = 'Private (For team members and stakeholders only)';
$lang->program->PGMPRJAclList['open'] = "全部公开(有项目视图权限,即可访问)";
$lang->program->PGMPRJAclList['openinside'] = "项目集内公开(所有上级项目集负责人和干系人,本项目团队成员和干系人可访问)";
$lang->program->PGMPRJAclList['private'] = "私有(项目团队成员和干系人可访问)";
$lang->program->PGMPRJAclList['open'] = "Full disclosure (accessible with project view permissions)";
$lang->program->PGMPRJAclList['openinside'] = "Public within the project set (accessible to all higher-level project set leaders and stakeholders, members of this project team and stakeholders)";
$lang->program->PGMPRJAclList['private'] = "Private (accessible to project team members and associates)";
$lang->program->PRJAuthList['extend'] = 'Inherit (project privilege and company privilege)';
$lang->program->PRJAuthList['reset'] = 'Reset (project privilege only)';
@@ -178,6 +178,7 @@ $lang->program->PGMExport = 'Export';
$lang->program->PGMStakeholder = 'Stakeholder';
$lang->program->createStakeholder = 'Create stakeholder';
$lang->program->importStakeholder = 'Import program';
$lang->program->PGMManageMembers = 'Program Team';
/* Fields. */
$lang->program->PGMName = 'Name';
+5 -4
View File
@@ -96,12 +96,12 @@ $lang->program->featureBar['wait'] = 'Waiting';
$lang->program->featureBar['suspended'] = 'Suspended';
$lang->program->featureBar['closed'] = 'Closed';
$lang->program->PRJAclList['open'] = "Open(Users who can visit {$lang->projectCommon} can access it)";
$lang->program->PRJAclList['open'] = "Open(Users who can visit project can access it)";
$lang->program->PRJAclList['private'] = 'Private (For team members and stakeholders only)';
$lang->program->PGMPRJAclList['open'] = "全部公开(有项目视图权限,即可访问)";
$lang->program->PGMPRJAclList['openinside'] = "项目集内公开(所有上级项目集负责人和干系人,本项目团队成员和干系人可访问)";
$lang->program->PGMPRJAclList['private'] = "私有(项目团队成员和干系人可访问)";
$lang->program->PGMPRJAclList['open'] = "Full disclosure (accessible with project view permissions)";
$lang->program->PGMPRJAclList['openinside'] = "Public within the project set (accessible to all higher-level project set leaders and stakeholders, members of this project team and stakeholders)";
$lang->program->PGMPRJAclList['private'] = "Private (accessible to project team members and associates)";
$lang->program->PRJAuthList['extend'] = 'Inherit (project privilege and company privilege)';
$lang->program->PRJAuthList['reset'] = 'Reset (project privilege only)';
@@ -178,6 +178,7 @@ $lang->program->PGMExport = 'Export';
$lang->program->PGMStakeholder = 'Stakeholder';
$lang->program->createStakeholder = 'Create stakeholder';
$lang->program->importStakeholder = 'Import program';
$lang->program->PGMManageMembers = 'Program Team';
/* Fields. */
$lang->program->PGMName = 'Name';
+5 -4
View File
@@ -96,12 +96,12 @@ $lang->program->featureBar['wait'] = 'Waiting';
$lang->program->featureBar['suspended'] = 'Suspended';
$lang->program->featureBar['closed'] = 'Closed';
$lang->program->PRJAclList['open'] = "Open(Users who can visit {$lang->projectCommon} can access it)";
$lang->program->PRJAclList['open'] = "Open(Users who can visit project can access it)";
$lang->program->PRJAclList['private'] = 'Private (For team members and stakeholders only)';
$lang->program->PGMPRJAclList['open'] = "全部公开(有项目视图权限,即可访问)";
$lang->program->PGMPRJAclList['openinside'] = "项目集内公开(所有上级项目集负责人和干系人,本项目团队成员和干系人可访问)";
$lang->program->PGMPRJAclList['private'] = "私有(项目团队成员和干系人可访问)";
$lang->program->PGMPRJAclList['open'] = "Full disclosure (accessible with project view permissions)";
$lang->program->PGMPRJAclList['openinside'] = "Public within the project set (accessible to all higher-level project set leaders and stakeholders, members of this project team and stakeholders)";
$lang->program->PGMPRJAclList['private'] = "Private (accessible to project team members and associates)";
$lang->program->PRJAuthList['extend'] = 'Inherit (project privilege and company privilege)';
$lang->program->PRJAuthList['reset'] = 'Reset (project privilege only)';
@@ -178,6 +178,7 @@ $lang->program->PGMExport = 'Export';
$lang->program->PGMStakeholder = 'Stakeholder';
$lang->program->createStakeholder = 'Create stakeholder';
$lang->program->importStakeholder = 'Import program';
$lang->program->PGMManageMembers = 'Program Team';
/* Fields. */
$lang->program->PGMName = 'Name';
+1
View File
@@ -178,6 +178,7 @@ $lang->program->PGMExport = '导出';
$lang->program->PGMStakeholder = '干系人列表';
$lang->program->createStakeholder = '添加干系人';
$lang->program->importStakeholder = '从父项目集导入';
$lang->program->PGMManageMembers = '项目集团队';
/* Fields. */
$lang->program->PGMName = '项目集名称';
+1
View File
@@ -178,6 +178,7 @@ $lang->program->PGMExport = '導出';
$lang->program->PGMStakeholder = '干係人列表';
$lang->program->createStakeholder = '添加干係人';
$lang->program->importStakeholder = '從父項目集導入';
$lang->program->PGMManageMembers = '項目集團隊';
/* Fields. */
$lang->program->PGMName = '項目集名稱';