Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/drydock/view/DrydockLeaseListView.php
12256 views
1
<?php
2
3
final class DrydockLeaseListView extends AphrontView {
4
5
private $leases;
6
7
public function setLeases(array $leases) {
8
assert_instances_of($leases, 'DrydockLease');
9
$this->leases = $leases;
10
return $this;
11
}
12
13
public function render() {
14
$leases = $this->leases;
15
$viewer = $this->getUser();
16
17
$view = new PHUIObjectItemListView();
18
19
foreach ($leases as $lease) {
20
$item = id(new PHUIObjectItemView())
21
->setUser($viewer)
22
->setHeader($lease->getLeaseName())
23
->setHref('/drydock/lease/'.$lease->getID().'/');
24
25
$resource_phid = $lease->getResourcePHID();
26
if ($resource_phid) {
27
$item->addAttribute(
28
$viewer->renderHandle($resource_phid));
29
} else {
30
$item->addAttribute(
31
pht(
32
'Resource: %s',
33
$lease->getResourceType()));
34
}
35
36
$item->setEpoch($lease->getDateCreated());
37
38
$icon = $lease->getStatusIcon();
39
$color = $lease->getStatusColor();
40
$label = $lease->getStatusDisplayName();
41
42
$item->setStatusIcon("{$icon} {$color}", $label);
43
44
$view->addItem($item);
45
}
46
47
return $view;
48
}
49
50
}
51
52