* Adding permissions and maintaining language files.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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,4 +1,5 @@
|
||||
<?php
|
||||
$lang->personnel->common = '人员';
|
||||
$lang->personnel->accessible = '可访问人员列表';
|
||||
$lang->personnel->putInto = '投入人员列表';
|
||||
$lang->personnel->department = '部门';
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -178,6 +178,7 @@ $lang->program->PGMExport = '导出';
|
||||
$lang->program->PGMStakeholder = '干系人列表';
|
||||
$lang->program->createStakeholder = '添加干系人';
|
||||
$lang->program->importStakeholder = '从父项目集导入';
|
||||
$lang->program->PGMManageMembers = '项目集团队';
|
||||
|
||||
/* Fields. */
|
||||
$lang->program->PGMName = '项目集名称';
|
||||
|
||||
@@ -178,6 +178,7 @@ $lang->program->PGMExport = '導出';
|
||||
$lang->program->PGMStakeholder = '干係人列表';
|
||||
$lang->program->createStakeholder = '添加干係人';
|
||||
$lang->program->importStakeholder = '從父項目集導入';
|
||||
$lang->program->PGMManageMembers = '項目集團隊';
|
||||
|
||||
/* Fields. */
|
||||
$lang->program->PGMName = '項目集名稱';
|
||||
|
||||
Reference in New Issue
Block a user