@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
at recaptime-dev/main 62 lines 1.4 kB view raw
1<?php 2 3abstract class DrydockLeaseController 4 extends DrydockController { 5 6 private $resource; 7 8 public function setResource($resource) { 9 $this->resource = $resource; 10 return $this; 11 } 12 13 public function getResource() { 14 return $this->resource; 15 } 16 17 public function buildSideNavView() { 18 $nav = new AphrontSideNavFilterView(); 19 $nav->setBaseURI(new PhutilURI($this->getApplicationURI())); 20 21 $engine = id(new DrydockLeaseSearchEngine()) 22 ->setViewer($this->getRequest()->getUser()); 23 24 if ($this->getResource()) { 25 $engine->setResource($this->getResource()); 26 } 27 28 $engine->addNavigationItems($nav->getMenu()); 29 30 $nav->selectFilter(null); 31 32 return $nav; 33 } 34 35 protected function buildApplicationCrumbs() { 36 $crumbs = parent::buildApplicationCrumbs(); 37 38 $resource = $this->getResource(); 39 if ($resource) { 40 $id = $resource->getID(); 41 42 $crumbs->addTextCrumb( 43 pht('Resources'), 44 $this->getApplicationURI('resource/')); 45 46 $crumbs->addTextCrumb( 47 $resource->getResourceName(), 48 $this->getApplicationURI("resource/{$id}/")); 49 50 $crumbs->addTextCrumb( 51 pht('Leases'), 52 $this->getApplicationURI("resource/{$id}/leases/")); 53 54 } else { 55 $crumbs->addTextCrumb( 56 pht('Leases'), 57 $this->getApplicationURI('lease/')); 58 } 59 return $crumbs; 60 } 61 62}