Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/drydock/controller/DrydockResourceController.php
12262 views
1
<?php
2
3
abstract class DrydockResourceController
4
extends DrydockController {
5
6
private $blueprint;
7
8
public function setBlueprint($blueprint) {
9
$this->blueprint = $blueprint;
10
return $this;
11
}
12
13
public function getBlueprint() {
14
return $this->blueprint;
15
}
16
17
public function buildSideNavView() {
18
$nav = new AphrontSideNavFilterView();
19
$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
20
21
$engine = id(new DrydockResourceSearchEngine())
22
->setViewer($this->getViewer());
23
24
if ($this->getBlueprint()) {
25
$engine->setBlueprint($this->getBlueprint());
26
}
27
28
$engine->addNavigationItems($nav->getMenu());
29
30
$nav->selectFilter(null);
31
32
return $nav;
33
}
34
35
protected function buildApplicationCrumbs() {
36
$crumbs = parent::buildApplicationCrumbs();
37
38
$blueprint = $this->getBlueprint();
39
if ($blueprint) {
40
$id = $blueprint->getID();
41
$crumbs->addTextCrumb(
42
pht('Blueprints'),
43
$this->getApplicationURI('blueprint/'));
44
45
$crumbs->addTextCrumb(
46
$blueprint->getBlueprintName(),
47
$this->getApplicationURI("blueprint/{$id}/"));
48
49
$crumbs->addTextCrumb(
50
pht('Resources'),
51
$this->getApplicationURI("blueprint/{$id}/resources/"));
52
} else {
53
$crumbs->addTextCrumb(
54
pht('Resources'),
55
$this->getApplicationURI('resource/'));
56
}
57
return $crumbs;
58
}
59
60
}
61
62