Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/drydock/view/DrydockAuthorizationListView.php
12256 views
1
<?php
2
3
final class DrydockAuthorizationListView extends AphrontView {
4
5
private $authorizations;
6
private $noDataString;
7
8
public function setAuthorizations(array $authorizations) {
9
assert_instances_of($authorizations, 'DrydockAuthorization');
10
$this->authorizations = $authorizations;
11
return $this;
12
}
13
14
public function setNoDataString($string) {
15
$this->noDataString = $string;
16
return $this;
17
}
18
19
public function getNoDataString() {
20
return $this->noDataString;
21
}
22
23
public function render() {
24
$viewer = $this->getUser();
25
26
$authorizations = $this->authorizations;
27
28
$view = new PHUIObjectItemListView();
29
30
$nodata = $this->getNoDataString();
31
if ($nodata) {
32
$view->setNoDataString($nodata);
33
}
34
35
$handles = $viewer->loadHandles(mpull($authorizations, 'getObjectPHID'));
36
37
foreach ($authorizations as $authorization) {
38
$id = $authorization->getID();
39
$object_phid = $authorization->getObjectPHID();
40
$handle = $handles[$object_phid];
41
42
$item = id(new PHUIObjectItemView())
43
->setHref("/drydock/authorization/{$id}/")
44
->setObjectName(pht('Authorization %d', $id))
45
->setHeader($handle->getFullName());
46
47
$item->addAttribute($handle->getTypeName());
48
49
$object_state = $authorization->getObjectAuthorizationState();
50
$item->addAttribute(
51
DrydockAuthorization::getObjectStateName($object_state));
52
53
$state = $authorization->getBlueprintAuthorizationState();
54
$icon = DrydockAuthorization::getBlueprintStateIcon($state);
55
$name = DrydockAuthorization::getBlueprintStateName($state);
56
57
$item->setStatusIcon($icon, $name);
58
59
$view->addItem($item);
60
}
61
62
return $view;
63
}
64
65
}
66
67