Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/drydock/controller/DrydockLeaseController.php
12256 views
1
<?php
2
3
abstract class DrydockLeaseController
4
extends DrydockController {
5
6
private $resource;
7
8
public function setResource($resource) {
9
$this->resource = $resource;
10
return $this;
11
}
12
13
public function getResource() {
14
return $this->resource;
15
}
16
17
public function buildSideNavView() {
18
$nav = new AphrontSideNavFilterView();
19
$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
20
21
$engine = id(new DrydockLeaseSearchEngine())
22
->setViewer($this->getRequest()->getUser());
23
24
if ($this->getResource()) {
25
$engine->setResource($this->getResource());
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
$resource = $this->getResource();
39
if ($resource) {
40
$id = $resource->getID();
41
42
$crumbs->addTextCrumb(
43
pht('Resources'),
44
$this->getApplicationURI('resource/'));
45
46
$crumbs->addTextCrumb(
47
$resource->getResourceName(),
48
$this->getApplicationURI("resource/{$id}/"));
49
50
$crumbs->addTextCrumb(
51
pht('Leases'),
52
$this->getApplicationURI("resource/{$id}/leases/"));
53
54
} else {
55
$crumbs->addTextCrumb(
56
pht('Leases'),
57
$this->getApplicationURI('lease/'));
58
}
59
return $crumbs;
60
}
61
62
}
63
64