@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 56 lines 1.4 kB view raw
1<?php 2 3final class FundInitiativeListController 4 extends FundController { 5 6 public function shouldAllowPublic() { 7 return true; 8 } 9 10 public function handleRequest(AphrontRequest $request) { 11 $querykey = $request->getURIData('queryKey'); 12 13 $controller = id(new PhabricatorApplicationSearchController()) 14 ->setQueryKey($querykey) 15 ->setSearchEngine(new FundInitiativeSearchEngine()) 16 ->setNavigation($this->buildSideNavView()); 17 18 return $this->delegateToController($controller); 19 } 20 21 public function buildSideNavView() { 22 $viewer = $this->getViewer(); 23 24 $nav = new AphrontSideNavFilterView(); 25 $nav->setBaseURI(new PhutilURI($this->getApplicationURI())); 26 27 id(new FundInitiativeSearchEngine()) 28 ->setViewer($viewer) 29 ->addNavigationItems($nav->getMenu()); 30 31 $nav->addLabel(pht('Backers')); 32 $nav->addFilter('backers/', pht('Find Backers')); 33 34 $nav->selectFilter(null); 35 36 return $nav; 37 } 38 39 protected function buildApplicationCrumbs() { 40 $crumbs = parent::buildApplicationCrumbs(); 41 42 $can_create = $this->hasApplicationCapability( 43 FundCreateInitiativesCapability::CAPABILITY); 44 45 $crumbs->addAction( 46 id(new PHUIListItemView()) 47 ->setName(pht('Create Initiative')) 48 ->setHref($this->getApplicationURI('create/')) 49 ->setIcon('fa-plus-square') 50 ->setDisabled(!$can_create) 51 ->setWorkflow(!$can_create)); 52 53 return $crumbs; 54 } 55 56}