3 final class DrydockAuthorizationListView
extends AphrontView
{
5 private $authorizations;
8 public function setAuthorizations(array $authorizations) {
9 assert_instances_of($authorizations, 'DrydockAuthorization');
10 $this->authorizations
= $authorizations;
14 public function setNoDataString($string) {
15 $this->noDataString
= $string;
19 public function getNoDataString() {
20 return $this->noDataString
;
23 public function render() {
24 $viewer = $this->getUser();
26 $authorizations = $this->authorizations
;
28 $view = new PHUIObjectItemListView();
30 $nodata = $this->getNoDataString();
32 $view->setNoDataString($nodata);
35 $handles = $viewer->loadHandles(mpull($authorizations, 'getObjectPHID'));
37 foreach ($authorizations as $authorization) {
38 $id = $authorization->getID();
39 $object_phid = $authorization->getObjectPHID();
40 $handle = $handles[$object_phid];
42 $item = id(new PHUIObjectItemView())
43 ->setHref("/drydock/authorization/{$id}/")
44 ->setObjectName(pht('Authorization %d', $id))
45 ->setHeader($handle->getFullName());
47 $item->addAttribute($handle->getTypeName());
49 $object_state = $authorization->getObjectAuthorizationState();
51 DrydockAuthorization
::getObjectStateName($object_state));
53 $state = $authorization->getBlueprintAuthorizationState();
54 $icon = DrydockAuthorization
::getBlueprintStateIcon($state);
55 $name = DrydockAuthorization
::getBlueprintStateName($state);
57 $item->setStatusIcon($icon, $name);
59 $view->addItem($item);