/
milestone.php
65 lines (49 loc) · 1.99 KB
/
milestone.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
define('PAGE', 'milestone');
require 'includes/init.inc.php';
require 'includes/template.inc.php';
list($Attachment, $Bug, $Date, $Deliverable, $Milestone, $Product, $Project) =
load_models('Attachment', 'Bug', 'Date', 'Deliverable', 'Milestone', 'Product', 'Project');
$product = $Product->getProductFromURL($_GET['product']);
// Get the milestone's info
$milestone = $Milestone->getMilestoneFromURL($_GET['milestone']);
// Get the milestone's projects
$projects = $Project->getProjectsForMilestone($milestone['id']);
if (!empty($projects)) {
foreach ($projects as $k => $project) {
// Get all deliverables for the project
$deliverables = $Deliverable->getKeyedDeliverables($project['id']);
// Get resources for each deliverable
if (!empty($deliverables)) {
$deliverables = $Deliverable->nestDeliverables($deliverables);
}
$projects[$k]['deliverables'] = $deliverables;
}
}
// Get the milestone's bugs
$bugs = $Bug->getBugsForMilestone($milestone['id']);
// Group the bugs
$bugs = $Bug->groupBugs($bugs, 'component', 'assignee', 'totalbugs');
$template = new Template($product['theme'], $Config->get('theme'));
$template->render('head', array(
'title' => $product['name'].' - milestone '.$milestone['name'].' @ '. $Config->get('site_name').' moxie',
'css' => $template->cssString('global')
));
$template->render('header', array(
'site_name' => $Config->get('site_name'),
'product_name' => $product['name'],
'page_type' => 'milestones',
'page_name' => $milestone['name'],
'product_base_url' => $template->getBaseURL().'/'.$product['url']
));
$template->render('milestone', array(
'product' => $product,
'milestone' => $milestone,
'projects' => $projects,
'bugs' => $bugs
));
$template->render('footer', array(
'js' => "var milestone_id = '{$milestone['id']}';",
'jsFiles' => $template->jsString('milestone')
));
?>