@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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