diff --git a/module/block/view/recentprogramblock.html.php b/module/block/view/recentprogramblock.html.php index 27a1c35d0a..50c64f19ed 100644 --- a/module/block/view/recentprogramblock.html.php +++ b/module/block/view/recentprogramblock.html.php @@ -35,7 +35,8 @@
id");?>'>
- createLink('program', 'index', "programID=$program->id", '', '', $program->id), $program->name);?> + parentName ? $program->parentName . '/' : '';?> + createLink('program', 'index', "programID=$program->id", '', '', $program->id), $parentName . $program->name);?> template === 'cmmi'): ?> program->cmmi; ?> diff --git a/module/program/model.php b/module/program/model.php index 2aa26b840b..0699da9b02 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -184,6 +184,7 @@ class programModel extends model /* Init vars. */ $this->loadModel('project'); $programs = $this->getList($status, $orderBy, $pager); + if(empty($programs)) return array(); $programIdList = array_keys($programs); @@ -208,9 +209,10 @@ class programModel extends model foreach($programs as $programID => $program) { $orderBy = $program->template == 'cmmi' ? 'id_asc' : 'id_desc'; - $program->projects = $this->project->getProjectStats($status, 0, 0, $itemCounts, $orderBy, $pager, $programID); - $program->teamCount = isset($teams[$programID]) ? $teams[$programID]->count : 0; - $program->estimate = isset($estimates[$programID]) ? $estimates[$programID]->estimate : 0; + $program->projects = $this->project->getProjectStats($status, 0, 0, $itemCounts, $orderBy, $pager, $programID); + $program->teamCount = isset($teams[$programID]) ? $teams[$programID]->count : 0; + $program->estimate = isset($estimates[$programID]) ? $estimates[$programID]->estimate : 0; + $program->parentName = $this->project->getProjectParentName($program->parent); } return $programs; diff --git a/module/project/model.php b/module/project/model.php index b5bebd07da..01747bbcf4 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -2888,6 +2888,23 @@ class projectModel extends model return $chartData; } + /** + * Gets the top-level project name. + * + * @access private + * @return void + */ + public function getProjectParentName($parentID = 0) + { + if($parentID == 0) return ''; + + static $parent; + $parent = $this->dao->select('id,parent,name')->from(TABLE_PROJECT)->where('id')->eq($parentID)->fetch(); + if($parent->parent) $this->getProjectParentName($parent->parent); + + return $parent->name; + } + /** * Fill tasks in tree. * @param object $tree