From fda220ed36e4e458623b0305d25bbd9b252f46a6 Mon Sep 17 00:00:00 2001 From: qiyu-xie Date: Thu, 24 Dec 2020 16:59:10 +0800 Subject: [PATCH] * Finish task#8769. --- module/datatable/model.php | 2 +- module/program/config.php | 28 +++++++++++----------------- module/program/control.php | 8 ++++++++ module/program/lang/de.php | 3 ++- module/program/lang/en.php | 3 ++- module/program/lang/fr.php | 3 ++- module/program/lang/vi.php | 3 ++- module/program/lang/zh-cn.php | 5 +++-- module/program/lang/zh-tw.php | 5 +++-- module/program/model.php | 20 +++++++++++++------- 10 files changed, 47 insertions(+), 33 deletions(-) diff --git a/module/datatable/model.php b/module/datatable/model.php index ebb2f04b32..83ea48c3b1 100644 --- a/module/datatable/model.php +++ b/module/datatable/model.php @@ -146,7 +146,7 @@ class datatableModel extends model $id = $col->id; if($col->show) { - $fixed = $col->fixed == 'no' ? 'true': 'false'; + $fixed = $col->fixed == 'no' ? 'true' : 'false'; $width = is_numeric($col->width) ? "{$col->width}px" : $col->width; $title = isset($col->title) ? "title='$col->title'" : ''; $title = (isset($col->name) and $col->name) ? "title='$col->name'" : $title; diff --git a/module/program/config.php b/module/program/config.php index 6e8aae95de..9618b4f534 100644 --- a/module/program/config.php +++ b/module/program/config.php @@ -32,7 +32,6 @@ $config->program->PRJEdit->requiredFields = 'name,code,begin,end'; $config->program->sortFields = new stdclass(); $config->program->sortFields->idAB = 'id'; -$config->program->sortFields->PRJModel = 'model'; $config->program->sortFields->begin = 'begin'; $config->program->sortFields->end = 'end'; $config->program->sortFields->PRJStatus = 'status'; @@ -40,7 +39,7 @@ $config->program->sortFields->PRJBudget = 'budget'; global $lang; $config->program->datatable = new stdclass(); -$config->program->datatable->defaultField = array('idAB', 'PRJName', 'PRJCode', 'PRJModel', 'PRJPM', 'begin', 'end', 'PRJStatus', 'PRJBudget', 'teamCount','PRJEstimate','PRJConsume', 'PRJProgress', 'actions'); +$config->program->datatable->defaultField = array('idAB', 'PRJName', 'PRJPGM', 'PM', 'begin', 'end', 'PRJStatus', 'PRJBudget', 'teamCount','PRJEstimate','PRJConsume', 'PRJProgress', 'actions'); $config->program->datatable->fieldList['idAB']['title'] = 'idAB'; $config->program->datatable->fieldList['idAB']['fixed'] = 'left'; @@ -53,22 +52,17 @@ $config->program->datatable->fieldList['PRJName']['width'] = 'auto'; $config->program->datatable->fieldList['PRJName']['required'] = 'yes'; $config->program->datatable->fieldList['PRJName']['sort'] = 'no'; -$config->program->datatable->fieldList['PRJCode']['title'] = 'PRJCode'; -$config->program->datatable->fieldList['PRJCode']['fixed'] = 'left'; -$config->program->datatable->fieldList['PRJCode']['width'] = '100'; -$config->program->datatable->fieldList['PRJCode']['required'] = 'yes'; -$config->program->datatable->fieldList['PRJCode']['sort'] = 'no'; +$config->program->datatable->fieldList['PRJPGM']['title'] = 'PRJPGM'; +$config->program->datatable->fieldList['PRJPGM']['fixed'] = 'left'; +$config->program->datatable->fieldList['PRJPGM']['width'] = '200'; +$config->program->datatable->fieldList['PRJPGM']['required'] = 'no'; +$config->program->datatable->fieldList['PRJPGM']['sort'] = 'no'; -$config->program->datatable->fieldList['PRJModel']['title'] = 'PRJModel'; -$config->program->datatable->fieldList['PRJModel']['fixed'] = 'left'; -$config->program->datatable->fieldList['PRJModel']['width'] = '80'; -$config->program->datatable->fieldList['PRJModel']['required'] = 'yes'; - -$config->program->datatable->fieldList['PRJPM']['title'] = 'PRJPM'; -$config->program->datatable->fieldList['PRJPM']['fixed'] = 'no'; -$config->program->datatable->fieldList['PRJPM']['width'] = '100'; -$config->program->datatable->fieldList['PRJPM']['required'] = 'yes'; -$config->program->datatable->fieldList['PRJPM']['sort'] = 'no'; +$config->program->datatable->fieldList['PM']['title'] = 'PM'; +$config->program->datatable->fieldList['PM']['fixed'] = 'no'; +$config->program->datatable->fieldList['PM']['width'] = '100'; +$config->program->datatable->fieldList['PM']['required'] = 'yes'; +$config->program->datatable->fieldList['PM']['sort'] = 'no'; $config->program->datatable->fieldList['begin']['title'] = 'begin'; $config->program->datatable->fieldList['begin']['fixed'] = 'no'; diff --git a/module/program/control.php b/module/program/control.php index 205bc79bdb..4745630e33 100644 --- a/module/program/control.php +++ b/module/program/control.php @@ -373,6 +373,14 @@ class program extends control $sortField = zget($this->config->program->sortFields, $order[0], 'id') . '_' . $order[1]; $projectStats = $this->program->getPRJStats($programID, $browseType, 0, $sortField, $pager, $programTitle); + /* When browse list by status, the status column is not displayed. */ + if($browseType != 'all') + { + $PRJStatusKey = array_search('PRJStatus', $this->config->program->datatable->defaultField); + unset($this->config->program->datatable->defaultField[$PRJStatusKey]); + unset($this->config->program->datatable->fieldList['PRJStatus']); + } + $this->view->title = $this->lang->program->PGMProject; $this->view->position[] = $this->lang->program->PGMProject; diff --git a/module/program/lang/de.php b/module/program/lang/de.php index 79d8ccdf45..b9da42f0f3 100644 --- a/module/program/lang/de.php +++ b/module/program/lang/de.php @@ -44,8 +44,9 @@ $lang->project->searchByName = 'Enter the project name to retrieve'; $lang->program->common = 'Program'; $lang->program->project = 'Project'; $lang->program->stage = 'Stage'; +$lang->program->PM = 'Manager'; $lang->program->PRJName = 'Name'; -$lang->program->PRJModel = 'Template'; +$lang->program->PRJPGM = 'Program'; $lang->program->PRJCategory = 'Category'; $lang->program->PRJDesc = 'Description'; $lang->program->PRJCode = 'Code'; diff --git a/module/program/lang/en.php b/module/program/lang/en.php index 9882d0d526..135e8073be 100644 --- a/module/program/lang/en.php +++ b/module/program/lang/en.php @@ -44,8 +44,9 @@ $lang->project->searchByName = 'Enter the project name to retrieve'; $lang->program->common = 'Program'; $lang->program->project = 'Project'; $lang->program->stage = 'Stage'; +$lang->program->PM = 'Manager'; $lang->program->PRJName = 'Name'; -$lang->program->PRJModel = 'Template'; +$lang->program->PRJPGM = 'Program'; $lang->program->PRJCategory = 'Category'; $lang->program->PRJDesc = 'Description'; $lang->program->PRJCode = 'Code'; diff --git a/module/program/lang/fr.php b/module/program/lang/fr.php index 79d8ccdf45..b9da42f0f3 100644 --- a/module/program/lang/fr.php +++ b/module/program/lang/fr.php @@ -44,8 +44,9 @@ $lang->project->searchByName = 'Enter the project name to retrieve'; $lang->program->common = 'Program'; $lang->program->project = 'Project'; $lang->program->stage = 'Stage'; +$lang->program->PM = 'Manager'; $lang->program->PRJName = 'Name'; -$lang->program->PRJModel = 'Template'; +$lang->program->PRJPGM = 'Program'; $lang->program->PRJCategory = 'Category'; $lang->program->PRJDesc = 'Description'; $lang->program->PRJCode = 'Code'; diff --git a/module/program/lang/vi.php b/module/program/lang/vi.php index 79d8ccdf45..b9da42f0f3 100644 --- a/module/program/lang/vi.php +++ b/module/program/lang/vi.php @@ -44,8 +44,9 @@ $lang->project->searchByName = 'Enter the project name to retrieve'; $lang->program->common = 'Program'; $lang->program->project = 'Project'; $lang->program->stage = 'Stage'; +$lang->program->PM = 'Manager'; $lang->program->PRJName = 'Name'; -$lang->program->PRJModel = 'Template'; +$lang->program->PRJPGM = 'Program'; $lang->program->PRJCategory = 'Category'; $lang->program->PRJDesc = 'Description'; $lang->program->PRJCode = 'Code'; diff --git a/module/program/lang/zh-cn.php b/module/program/lang/zh-cn.php index 7e5f250fc1..5bc8400973 100644 --- a/module/program/lang/zh-cn.php +++ b/module/program/lang/zh-cn.php @@ -44,8 +44,9 @@ $lang->project->searchByName = '输入项目名称进行检索'; $lang->program->common = '项目集'; $lang->program->project = '项目'; $lang->program->stage = '阶段'; +$lang->program->PM = '负责人'; $lang->program->PRJName = '项目名称'; -$lang->program->PRJModel = '管理类型'; +$lang->program->PRJPGM = '所属项目集'; $lang->program->PRJCategory = '项目类型'; $lang->program->PRJDesc = '项目描述'; $lang->program->PRJCode = '项目代号'; @@ -70,7 +71,7 @@ $lang->program->mine = '我参与的'; $lang->program->setPlanduration = '设置工期'; $lang->program->auth = '权限控制'; $lang->program->durationEstimation = '工作量估算'; -$lang->program->teamCount = '投入人数'; +$lang->program->teamCount = '人数'; $lang->program->leftStories = '剩余需求'; $lang->program->leftTasks = '剩余任务'; $lang->program->leftBugs = '剩余Bug'; diff --git a/module/program/lang/zh-tw.php b/module/program/lang/zh-tw.php index c598cf31cb..f610454428 100644 --- a/module/program/lang/zh-tw.php +++ b/module/program/lang/zh-tw.php @@ -46,8 +46,9 @@ $lang->program->goback = '返回項目列表'; $lang->program->common = '項目集'; $lang->program->project = '項目'; $lang->program->stage = '階段'; +$lang->program->PM = '負責人'; $lang->program->PRJName = '項目名稱'; -$lang->program->PRJModel = '管理類型'; +$lang->program->PRJPGM = '所屬項目集'; $lang->program->PRJCategory = '項目類型'; $lang->program->PRJDesc = '項目描述'; $lang->program->PRJCode = '項目代號'; @@ -72,7 +73,7 @@ $lang->program->mine = '我參與的'; $lang->program->setPlanduration = '設置工期'; $lang->program->auth = '權限控制'; $lang->program->durationEstimation = '工作量估算'; -$lang->program->teamCount = '投入人數'; +$lang->program->teamCount = '人數'; $lang->program->leftStories = '剩餘需求'; $lang->program->leftTasks = '剩餘任務'; $lang->program->leftBugs = '剩餘Bug'; diff --git a/module/program/model.php b/module/program/model.php index 409f1429a2..b363fb0e66 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -1504,14 +1504,20 @@ class programModel extends model case 'PRJName': $projectLink = helper::createLink('program', 'index', "projectID=$project->id", '', '', $project->id); echo html::a($projectLink, $project->name); + if($project->model === 'waterfall') echo "{$this->lang->program->waterfall}"; + if($project->model === 'scrum') echo "{$this->lang->program->scrum}"; break; - case 'PRJCode': - echo $project->code; + case 'PRJPGM': + $programList = $this->getPGMPairs(); + $PGMIndex = strpos($project->path, $programID); + $PRJIndex = strpos($project->path, $project->id); + $PGMPath = explode(',' , substr($project->path, $PGMIndex, $PRJIndex - $PGMIndex)); + foreach($PGMPath as $program) + { + if($program) echo '/' . zget($programList, $program); + } break; - case 'PRJModel': - echo zget($this->lang->program->modelList, $project->model); - break; - case 'PRJPM': + case 'PM': echo zget($users, $project->PM); break; case 'begin': @@ -1524,7 +1530,7 @@ class programModel extends model echo zget($this->lang->program->statusList, $project->status); break; case 'PRJBudget': - echo $project->budget ? $project->budget . zget($this->lang->program->unitList, $project->budgetUnit) : ''; + echo $project->budget != 0 ? $project->budget . zget($this->lang->program->unitList, $project->budgetUnit) : $this->lang->program->future; break; case 'teamCount': echo $project->teamCount;