@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 53 lines 1.2 kB view raw
1<?php 2 3final class DrydockLeaseListView extends AphrontView { 4 5 private $leases; 6 7 /** 8 * @param array<DrydockLease> $leases 9 */ 10 public function setLeases(array $leases) { 11 assert_instances_of($leases, DrydockLease::class); 12 $this->leases = $leases; 13 return $this; 14 } 15 16 public function render() { 17 $leases = $this->leases; 18 $viewer = $this->getUser(); 19 20 $view = new PHUIObjectItemListView(); 21 22 foreach ($leases as $lease) { 23 $item = id(new PHUIObjectItemView()) 24 ->setUser($viewer) 25 ->setHeader($lease->getLeaseName()) 26 ->setHref('/drydock/lease/'.$lease->getID().'/'); 27 28 $resource_phid = $lease->getResourcePHID(); 29 if ($resource_phid) { 30 $item->addAttribute( 31 $viewer->renderHandle($resource_phid)); 32 } else { 33 $item->addAttribute( 34 pht( 35 'Resource: %s', 36 $lease->getResourceType())); 37 } 38 39 $item->setEpoch($lease->getDateCreated()); 40 41 $icon = $lease->getStatusIcon(); 42 $color = $lease->getStatusColor(); 43 $label = $lease->getStatusDisplayName(); 44 45 $item->setStatusIcon("{$icon} {$color}", $label); 46 47 $view->addItem($item); 48 } 49 50 return $view; 51 } 52 53}