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;