}␊ |
arsort($ownerStatistics);␊ |
␊ |
// Issue due date statistics␊ |
$overdue = $prj->getIssueCountByOverdue('open');␊ |
␉␉␉␉$combined_opened = $overdue['overdue'] + $overdue['in_date'];␊ |
␉␉␉␉$duedateStatistics['Overdue'] = array($overdue['overdue'], (int)(100 * $overdue['overdue'] / $combined_opened), 'Overdue');␊ |
␉␉␉␉$duedateStatistics['In date'] = array($overdue['in_date'], (int)(100 * $overdue['in_date'] / $combined_opened), 'In date');␊ |
␊ |
// Issue class tag statistics␊ |
$grouped_tags = $prj->getTagCloud();␊ |
foreach ($grouped_tags as $class => $tags) {␊ |
|
'project' => $prj,␊ |
'tagStatistics' => $tagStatistics,␊ |
'ownerStatistics' => $ownerStatistics,␊ |
␉␉␉␉␉␉ ␉␉␉␉␉␉␉ 'duedateStatistics' => $duedateStatistics,␊ |
'status' => $status,␊ |
),␊ |
$request);␊ |
|
}␊ |
␊ |
/**␊ |
* View list of issues for a given project with a given status.␊ |
*/␊ |
public $listOverdue_precond = array('IDF_Precondition::accessIssues');␊ |
public function listOverdue($request, $match)␊ |
{␊ |
$prj = $request->project;␊ |
$status = $match[2];␊ |
␊ |
$title = sprintf(__('%s Closed Issues'), (string) $prj);␊ |
// Get stats about the issues␊ |
$open = $prj->getIssueCountByStatus('open');␊ |
$closed = $prj->getIssueCountByStatus('closed');␊ |
// Paginator to paginate the issues␊ |
$pag = new Pluf_Paginator(new IDF_Issue());␊ |
$pag->class = 'recent-issues';␊ |
$pag->item_extra_props = array('project_m' => $prj,␊ |
'shortname' => $prj->shortname,␊ |
'current_user' => $request->user);␊ |
$pag->summary = __('This table shows the closed issues.');␊ |
$otags = $prj->getTagIdsByStatus('closed');␊ |
if (count($otags) == 0) $otags[] = 0;␊ |
$pag->forced_where = new Pluf_SQL('project=%s AND status IN ('.implode(', ', $otags).')', array($prj->id));␊ |
$pag->action = array('IDF_Views_Issue::listStatus', array($prj->shortname, $status));␊ |
$pag->sort_order = array('modif_dtime', 'ASC'); // will be reverted␊ |
$pag->sort_reverse_order = array('modif_dtime');␊ |
$pag->sort_link_title = true;␊ |
$pag->extra_classes = array('a-c', '', 'a-c', '');␊ |
$list_display = array(␊ |
'id' => __('Id'),␊ |
array('summary', 'IDF_Views_Issue_SummaryAndLabels', __('Summary')),␊ |
array('status', 'IDF_Views_Issue_ShowStatus', __('Status')),␊ |
array('due_dtime', 'IDF_Views_Issue_DueDate', __('Due Date')),␊ |
array('modif_dtime', 'Pluf_Paginator_DateAgo', __('Last Updated')),␊ |
);␊ |
$pag->configure($list_display, array(), array('id', 'status', 'due_dtime', 'modif_dtime'));␊ |
$pag->items_per_page = 10;␊ |
$pag->no_results_text = __('No issues were found.');␊ |
$pag->setFromRequest($request);␊ |
return Pluf_Shortcuts_RenderToResponse('idf/issues/index.html',␊ |
array('project' => $prj,␊ |
'page_title' => $title,␊ |
'open' => $open,␊ |
'closed' => $closed,␊ |
'issues' => $pag,␊ |
'cloud' => 'closed_issues',␊ |
),␊ |
$request);␊ |
}␊ |
␊ |
/**␊ |
* View list of issues for a given project with a given label.␊ |
*/␊ |
public $listLabel_precond = array('IDF_Precondition::accessIssues');␊ |