diff --git a/module/group/packagemanager.php b/module/group/packagemanager.php index 72f427ded5..6451aed510 100644 --- a/module/group/packagemanager.php +++ b/module/group/packagemanager.php @@ -3338,6 +3338,7 @@ $config->group->package->gantt->subset = 'programplan'; $config->group->package->gantt->privs = array(); $config->group->package->gantt->privs['programplan-browse'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 15, 'depend' => array('project-index'), 'recommend' => array('programplan-ganttEdit')); $config->group->package->gantt->privs['programplan-ganttEdit'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('programplan-browse'), 'recommend' => array()); +$config->group->package->gantt->privs['programplan-relation'] = array('edition' => 'max,ipd', 'vision' => 'rnd', 'order' => 20, 'depend' => array('programplan-browse'), 'recommend' => array()); $config->group->package->executionRelation = new stdclass(); $config->group->package->executionRelation->order = 10; diff --git a/module/programplan/control.php b/module/programplan/control.php index 5cb9ba796f..caabc45178 100644 --- a/module/programplan/control.php +++ b/module/programplan/control.php @@ -308,4 +308,19 @@ class programplan extends control $stageAttribute = $this->programplan->getStageAttribute($stageID); return print($stageAttribute); } + + /** + * Show relation of project. + * + * @param int $projectID + * @param int $recTotal + * @param int $recPerPage + * @param int $pageID + * @access public + * @return void + */ + public function relation(int $projectID = 0, int $recTotal = 0, int $recPerPage = 25, int $pageID = 1) + { + echo $this->fetch('execution', 'relation', "executionID=$projectID&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID"); + } } diff --git a/module/programplan/lang/de.php b/module/programplan/lang/de.php index 51f5eb2843..52875037a8 100644 --- a/module/programplan/lang/de.php +++ b/module/programplan/lang/de.php @@ -73,6 +73,7 @@ $lang->programplan->wait = 'Wait'; $lang->programplan->enabled = 'Enabling Stage'; $lang->programplan->point = 'Review Point'; $lang->programplan->progress = 'Progress'; +$lang->programplan->setTaskRelation = 'Manage Relation'; $lang->programplan->errorBegin = "{$lang->projectCommon} begin date: %s, begin date should be >= {$lang->projectCommon} begin date."; $lang->programplan->errorEnd = "{$lang->projectCommon} end date: %s, end date should be <= {$lang->projectCommon} end date."; diff --git a/module/programplan/lang/en.php b/module/programplan/lang/en.php index ee25e75353..351cc2267f 100644 --- a/module/programplan/lang/en.php +++ b/module/programplan/lang/en.php @@ -73,6 +73,7 @@ $lang->programplan->wait = 'Wait'; $lang->programplan->enabled = 'Enabling Stage'; $lang->programplan->point = 'Review Point'; $lang->programplan->progress = 'Progress'; +$lang->programplan->setTaskRelation = 'Manage Relation'; $lang->programplan->errorBegin = "{$lang->projectCommon} begin date: %s, begin date should be >= {$lang->projectCommon} begin date."; $lang->programplan->errorEnd = "{$lang->projectCommon} end date: %s, end date should be <= {$lang->projectCommon} end date."; diff --git a/module/programplan/lang/fr.php b/module/programplan/lang/fr.php index 51f5eb2843..52875037a8 100644 --- a/module/programplan/lang/fr.php +++ b/module/programplan/lang/fr.php @@ -73,6 +73,7 @@ $lang->programplan->wait = 'Wait'; $lang->programplan->enabled = 'Enabling Stage'; $lang->programplan->point = 'Review Point'; $lang->programplan->progress = 'Progress'; +$lang->programplan->setTaskRelation = 'Manage Relation'; $lang->programplan->errorBegin = "{$lang->projectCommon} begin date: %s, begin date should be >= {$lang->projectCommon} begin date."; $lang->programplan->errorEnd = "{$lang->projectCommon} end date: %s, end date should be <= {$lang->projectCommon} end date."; diff --git a/module/programplan/lang/zh-cn.php b/module/programplan/lang/zh-cn.php index e3fcb5150e..cfe0f02127 100644 --- a/module/programplan/lang/zh-cn.php +++ b/module/programplan/lang/zh-cn.php @@ -73,6 +73,7 @@ $lang->programplan->wait = '待提交'; $lang->programplan->enabled = '启用阶段'; $lang->programplan->point = '评审点'; $lang->programplan->progress = '进度'; +$lang->programplan->setTaskRelation = '维护任务关系'; $lang->programplan->errorBegin = "阶段的开始时间不能小于所属{$lang->projectCommon}的开始时间%s"; $lang->programplan->errorEnd = "阶段的结束时间不能大于所属{$lang->projectCommon}的结束时间%s"; diff --git a/module/programplan/ui/gantt.html.php b/module/programplan/ui/gantt.html.php index 859543a84b..6f5db28a1d 100644 --- a/module/programplan/ui/gantt.html.php +++ b/module/programplan/ui/gantt.html.php @@ -54,6 +54,7 @@ if($app->rawModule == 'programplan') )) ), btn(set::url($this->createLink('programplan', 'ajaxcustom')), set::icon('cog-outline'), $lang->settings, setClass('no-underline'), set::type('link'), set('data-toggle', 'modal'), set('data-size', 'sm')), + btn(set::url($this->createLink('programplan', 'relation', "projectID={$projectID}")), set::icon('list-alt'), $lang->programplan->setTaskRelation, setClass('no-underline'), set::type('link')), (common::canModify('project', $project) && common::hasPriv('programplan', 'create') && empty($product->deleted)) ? btn(set::url($this->createLink('programplan', 'create', "projectID=$projectID")), set::icon('plus'), $lang->programplan->create, setClass('primary programplan-create-btn')) : null ); }