diff --git a/module/block/control.php b/module/block/control.php index 6ce4db9026..658fdb9f39 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -982,6 +982,43 @@ class block extends control $this->view->projects = $projects; } + /** + * Print program statistic block. + * + * @access public + * @return void + */ + public function printProgramStatisticBlock() + { + $this->loadModel('program'); + /* Get projects. */ + $projects = $this->loadModel('project')->getList('all', 0, 0, 0, 'program'); + $sprints = $this->project->getList(); + $total = count($sprints); + foreach($projects as $project) + { + $project->sprints = 0; + foreach($this->lang->project->statusList as $key => $status) + { + $project->$key = new stdclass(); + $project->$key->count = 0; + } + + foreach($sprints as $sprint) + { + if($sprint->program == $project->id) + { + $project->sprints ++; + $project->{$sprint->status}->count ++; + } + } + + foreach($this->lang->project->statusList as $key => $status) $project->$key->percent = $total ? round($project->$key->count / $total, 2) * 100 . '%' : '0%'; + } + + $this->view->projects = $projects; + } + /** * Print qa statistic block. * diff --git a/module/project/model.php b/module/project/model.php index 7ba3a52b32..46a6653030 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -276,6 +276,7 @@ class projectModel extends model $this->lang->project->team = $this->lang->project->teamname; $project = fixer::input('post') ->setDefault('status', 'wait') + ->setDefault('program', $this->session->program) ->setIF($this->post->acl != 'custom', 'whitelist', '') ->setDefault('openedBy', $this->app->user->account) ->setDefault('openedDate', helper::now())