Correct Aphlict websocket URI construction after PHP8 compatibility changes
[phabricator.git] / src / applications / drydock / view / DrydockAuthorizationListView.php
blob28296b6a3a7e3f2cdd026fb8be72f66a5cecf63f
1 <?php
3 final class DrydockAuthorizationListView extends AphrontView {
5 private $authorizations;
6 private $noDataString;
8 public function setAuthorizations(array $authorizations) {
9 assert_instances_of($authorizations, 'DrydockAuthorization');
10 $this->authorizations = $authorizations;
11 return $this;
14 public function setNoDataString($string) {
15 $this->noDataString = $string;
16 return $this;
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();
31 if ($nodata) {
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();
50 $item->addAttribute(
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);
62 return $view;